Mir ist aufgefallen, dass Google und andere Suchmaschinen mein Blog nicht vollständig indizieren können. Dies kommt daher, weil Suchmaschinen Seiten, die irgendwie nach dynamisch aussehen, ignorieren. Dies machen sie daran fest, dass GET-Parameter an die URLs angehängt werden. Sunlog arbeitet standardmässig so, die Inhalte sind per se aber nicht dynamisch, wegen den GET-Parametern macht es aber dennoch den Anschein. Also gilt es diese Parameter zu verstecken.
Die einfachste Methode ist das benutzen von mod_rewrite, einem Modul für Apache Webservers. Es ermöglicht, URLs intern „umzuschreiben“ (rewrite). Heißt im Klartext: der Surfer greift auf eine (nicht real existierende) URL zu, der Apache verarbeitet diese anhand bestimmter Regeln, greift dann mit Hilfe des modifizierten Pfades auf eine Datei zu und schickt sie an den Browser. Der Client merkt davon nichts, kann davon gar nichts merken.
Ich habe eine .htaccess-Datei angelegt, welche den Webserver anweist, die Rewrite-Engine zu starten und die URLs nach einem festgelegtem Schema umzuschreiben.
RewriteEngine on
RewriteRule ^item(.*)\.php$ /~docx/blog/entry.php?id=$1
RewriteRule ^month(.*)\.php$ /~docx/blog/archiv.php?month=$1
RewriteRule ^cat-(.*)\.php$ /~docx/blog/index.php?cat=$1
Diese Anweisungen sorgen dafür, dass jeder Link auf entry.php?id=xxxxx in itemxxxxx.php umgeschrieben wird. Etwas ähnliches wird mit Verweisen auf die archiv.php und die index.php?cat=catname gemacht. Folglich werden die Seiten nun von Suchmaschinen in den Index aufgenommen.