Dynamische Seiten suchmaschinenfreundlich aufbreiten
Passend gemacht
Auf Kriegsfuß
Dynamische Seiten suchmaschinenfreundlich aufbreiten
Suchroboter stehen mit dynamischen Seiten auf Kriegsfuß. Das liegt vor allem an der Masse der Seiten, die als Inhaltsfragmente in unzähligen Datenbanken schlummern und die selbst die leistungsfähigsten Suchroboter überfordern würde.
Ein grundlegendes Problem besteht auch darin, dass eine von einem Suchroboter indizierte Seite zum Zeitpunkt des Aufrufs durch einen Surfer mit hoher Wahrscheinlichkeit nicht mehr aktuell ist. Insbesondere bei regelmäßig gepflegten News-Seiten von Zeitungen und Agenturen dürfte dies der Regelfall sein.
Ein weiteres Problem besteht darin, dass nicht nur die Inhalte bei solchen Seiten dynamisch erzeugt werden, sondern auch Links. Das führt einen Suchroboter zwangsläufig in die Irre, was dazu führt, dass in der Regel die Link-Verfolgung sehr schnell abgebrochen wird.
Machtlos sind Suchmaschinen auch bei Seiten, die ein Surfer erst durch Eingabe von Parametern generiert. Man denke an eine Fahrplanauskunft oder an eine Recherche in einem Online-Archiv.
Erkennbar sind solche Problemseiten für Suchroboter an dem typischen URL, in dem sich Sonderzeichen wie &, % oder ? befinden. In Kombination mit der Dateiendung liefern sie ein eindeutiges Indiz für dynamisch generierte Webseiten.
Einfache Lösungen
Dynamische Seiten suchmaschinenfreundlich aufbreiten
Wer will, dass seine dynamischen Seiten ohne Risiko suchmaschinenfest sind und korrekt indiziert werden, kann dies auf verschiedene Weise sicherstellen.
Die einfachste Lösung ist, eine dynamische Seite aufzurufen und sie als statische HTML-Seite wieder abzuspeichern. Die Trivialmethode ist, die Seite zum Beispiel mit dem Internet Explorer zu öffnen und via Datei und Speichern unter als HTML-Dokument abzuspeichern. Dann hat man die statische Seite zwar auf dem eigenen lokalen PC, aber noch nicht auf dem Server. Ein mühsamer Prozess also, der sich allenfalls zur Umwandlung einiger weniger Seiten mit niedriger Aktualisierungsfrequenz eignet.
Etwas eleganter geht es, wenn man die Umwandlung direkt auf dem Server vornimmt, zum Beispiel mit dem Kommandozeilen-Browser Lynx. Die Befehlszeile zur Umwandlung lautet:
lynx -source http://www.dynamisch.de > statisch.html
Auch dies kann nur ein Notbehelf für die Umwandlung einiger weniger Seiten sein. Mehr Flexibilität erlaubt die Definition eines Cron-Jobs auf einem Linux-System. Hier lässt sich zum Beispiel definieren, dass eine dynamische Seite in regelmäßigen Abständen in ein HTML-Dokument umgewandelt werden soll.
Um diesen Umwandlungsprozess zum Beispiel alle 30 Minuten automatisch zu starten, lautet die Syntax für den Eintrag in die Crontab:
0,30 * * * * * lynx -source http://www.dynamisch.de > statisch.html
Pech für Webmaster, deren Seiten auf einem Shared-Hosting-Paket eines Massenhosters liegen und die deshalb keinen Zugriff auf die Crontab haben.
Umwandlung per Skript
Dynamische Seiten suchmaschinenfreundlich aufbreiten
In solchen Szenarien kann man sich jedoch mit einem PHP-Skript behelfen, das eine solche Umwandlung von dynamisch nach statisch durchführt.
Es muss drei Funktionen erfüllen: Zuerst liest es die dynamisch generierte Seite als Datei in eine Variable ein. Dann muss es etwaige Datenmanipulationen wie die Entfernung des Headers durchführen und das Ergebnis wieder als Datei im Format HTML abspeichern. Ein einfaches Skript für diesen Zweck kann so aussehen:
while ($line = fgets($read , 256)) {
$HTML_output.= $line;
echo $line;
}
fclose ($read);
$write = fopen ("ausgabe.html", "w" );
fwrite ($write , $HTML_output , strlen ($HTML_output ));
fclose ($write);
?>
Dieses Grundgerüst lässt sich natürlich noch erheblich ausbauen und variabler gestalten. Zum Beispiel können Sie eine Liste mit mehreren URLs von dynamischen Webseiten in einem Array ablegen und dieses dann innerhalb einer Schleife abarbeiten.
URL-Rewriting
Dynamische Seiten suchmaschinenfreundlich aufbreiten
Sind die dynamischen Webseiten auf einem Apache-Server gehostet, bieten sich flexiblere Möglichkeiten, dynamische Webseiten suchmaschinenfreundlich zu modifizieren. Das Modul mod_rewrite ermöglicht auf dem Apache die beliebige Manipulation der URLs. Die Direktiven lassen sich auch in .htaccess-Dateien einsetzen. Das macht sie auch attraktiv für Webmaster, die keinen direkten Zugriff auf die Apache-Konfigurationsdatei haben. Voraussetzung ist jedoch in jedem Fall, dass das Modul bei der Installation des Apache-Servers aktiviert wurde.
Bevor die Direktiven, die das Modul bietet, eingesetzt werden können, muss es aktiviert werden. Dies geschieht mit der Anweisung:
RewriteEngine On
Die Engine lässt sich global für den Server, innerhalb von directory-Direktiven und in .htaccess-Dateien einsetzen. Verwendet man das Modul in .htaccess-Dateien, muss für das Verzeichnis, in dem diese Datei liegt, zusätzlich eine der beiden Optionen FollowSymLinks oder FollowSymLinksOwnerMatch aktiviert sein.
Die Direktiven des Moduls arbeiten mit regulären Ausdrücken (RegExp). Damit lassen sich zum Beispiel Suchmuster für einen suchmaschinenunfreundlichen URL definieren und entsprechend umwandeln. Umgesetzt wird dies mit den so genannten RewriteRule-Direktiven, deren Syntax so aussieht:
Rewrite Suchmuster Ersatz-URL [Flags ...]
Auch wer nicht mit einem Apache-Server arbeitet, kann das Problem auf der Server-Seite angehen. Für ASP und IIS gibt es verschiedene fertige Werkzeuge, die URLs suchmaschinenfreundlich umschreiben: zum Beispiel die Tools Portalpagefilter (www.alphasierrapapa.com/products/portalpagefilter) oder XQASP (www.xde.net/products/product_xqasp.htm).
Content-Management-Systeme
Dynamische Seiten suchmaschinenfreundlich aufbreiten
Man kann das Problem auch an der Wurzel packen und schon beim Generieren von Output aus Datenbanken statische Seiten erstellen. Diese Arbeit muss dann das verwendete Content-Management-System leisten. Das Open-Source-CMS PhpCMS (www.phpcms.de) verfügt zum Beispiel über einen so genannten Stealth-Mode, der den URL einer dynamischen Seite in eine suchmaschinenfreundliche Form bringt. Die Methode basiert auf dem oben beschriebenen mod_rewrite-Modul von Apache, das installiert sein muss. Auch die meisten kommerziellen Content-Management-Systeme liefern geeignete Werkzeuge, mit denen man die Problematik der suchmaschinenunfreundlichen Adressen der generierten Seiten in den Griff bekommen kann.