search engine friendly Links mit TikiWiki ! - SEF URL für Tiki

{DIV(align=>left, width=>25%, float=>right, class="umijabox")}{DIV}

echte URL -- SEFURL

anstatt ~np~http://umija.org/tiki-index.php?page=20060248~/np~ sollte da ~np~http://umija.org/20060248~/np~ stehen. Damit soll dann unser Rank) gesteigert werden. Aktuelle Übersicht über unseren ((umija:www).

Falls wir drauf kommen wie das geht, das nicht nur apache die annimmt, sondern auch tikieiki die ausspucket, müssen wir auf jeden Fall einen Apacheredirect 301 HTTP-Statuscodes senden, da uns google sonst doppelten content vorwirft.

Lösungswege

  • eine erste einfach Lösung: quais externe links : [klml]
  • ~~#FF0000:BITTE NICHT!!!~~ sonnst funktionieren die gesamten backlinks nicht mehr!!
  • evtl. hiermit durch Anpassung

Lösung

Mit dem aktuellen anstehendem update von tikiwiki wird folgendes eingeführt: im Verzeichnis ''lib/smarty/libs/plugins'' des TikiWiki Verzeichnisses, wird die Datei ''outputfilter.urlt.php'' angelegt. Der Inhalt der Datei: {CODE(ln=>1,colors=>php)} <?php function smarty_outputfilter_urlt($string) { $string=preg_replace('/href=(\"*)/','href=$1/$2',$string); return $string; } ?>

Danach wird in der ''setup_smarty.php'' Datei die Zeile

$smarty->load_filter('output','urlt');

hinzugefügt. Dies sollte am Ende der Datei, nach der Zeile:

//$smarty->load_filter('output','trimwhitespace');

geschehen.

Das wars. Auch wenn der EdMa für die preg_replace Zeile den ganzen Tage gebraucht hat, sollte dies später in einigen Minuten einrichtbar sein.

Natürlich funktioniert das ganze auch nur dann, wenn die Weiterleitung Directurl eingerichtet ist und auch funktioniert ;-)

Wie oben erwähnt müssen die langen URL's (mit Sonderzeichen wie &, ? ...) einen 301 Status liefern und auf die kurze URL weiterleiten. Dies wird mit ''rewrite rules'' von Apache erledigt. Dabei ist es wichtig zu beachten dass keine Endlosschleife entsteht. Der nachfolgende Code wird in der jeweiligen gültigen /etc/sites-availible/XYZ eingefügt. Die erste Zeile sorgt nur dafür dass die Start-Seite nicht über verschiedene URL's erreichbar ist.

{CODE()} RewriteRule ^\/$ /umijaSTART [L,R=302] RewriteCond %{QUERY_STRING} ^page=([^&])[&highlight=(^&)*]?[&bl]? RewriteRule ^/tiki-index.php /%1? [R=permanent,S,L] {CODE} Die Zeilen werden noch weiter ausgebaut damit auch highlighting funktioniert.

BUGS

  • Das beobachten der Seiten funktioniert nicht aus der Seite heraus. Möglich lösung wäre die Reg. Ausd. umzuschreiben.
  • 20070097 Fehler in dem Outputfilter, aktuelle Version funktioniert jedoch wieder
  • Wenn ne Fehlermeldung in der Art von {CODE()} [[Warning: session_start() [function.session-start]: Cannot send session cache limiter] {CODE} auftaucht, einfach die veränderten Dateien auf Leerzeichen vor ''<?php'' bzw. nach ''?>'' überprüfen !

Links