Sitemap mit PHP erstellen

Scripting-Tipps - PHP


Eine Sitemap zu haben ist sehr nützlich. Zum einen dient sie als Übersicht bei einem großen Web-Projekt, zum anderen kann eine Sitemap an Google übermittelt werden. So liest der Google-Bot regelmäßig diese Sitemap aus und indiziert anschließend die neu hinzugekommenen Webseiten. Mit PHP lässt sich eine solche Sitemap erstellen. Wie das funktioniert, können Sie in diesem Artikel herausfinden.


Sitemap mit einem PHP-Script erstellen lassen

Mit dem folgenden PHP-Script können Sie sich eine eigene Sitemap erstellen lassen. Sie müssen lediglich einige Variablen entsprechend Ihrer Bedürfnisse anpassen. Anschauen lässt sich die Sitemap hinterher ganz einfach, in dem Sie die Datei öffnen, in der das Script enthalten ist.


Im unten genannten Beispiel müssen Sie zum einen die Dateiendung anpassen, zum anderen im Array darunter die entsprechenden Verzeichnisse angeben, die von dem Script eingelesen werden sollen.


Beispiel:

<?php
// Dateien mit der folgenden Datei-Endung auslesen
$dateiendung =".htm";

// Verzeichnisse angeben
$verzeichnis[0] = "verzeichnis1/";
$verzeichnis[1] = "verzeichnis2/";
$verzeichnis[2] = "verzeichnis3/";

for ($i=0; $i < count($verzeichnis); $i++) {
 echo "<br><b>".$verzeichnis[$i]."</b><br>";
 $verz = opendir($verzeichnis[$i]);  // Verzeichnis wird geöffnet
   while ($file = readdir($verz)) {
    if ($file != substr_count($file, $dateiendung) && $file != "." && $file != "..") {
     $regs = "";
     $datei = fopen($verzeichnis[$i].$file, "r"); // Datei wird geöffnet
     $inhalt = fread($datei, 1000);  // Datei wird eingelesen
     ereg("<title>(.*)<\/title>", $inhalt, $regs); // Text aus <title>-Tag wird ausgelesen
     if ($regs[1] =="") {$regs[1] = "-Ohne Titel-";} // Wird benutzt, wenn kein Titel vorhanden ist
     // Link wird erzeugt und ein "nofollow" für Google Spam-Links eingefügt.
     echo "<a href=\"$verzeichnis[$i]$file\" rel=\"nofollow\">$regs[1]</a><br>\r";
     fclose($datei);
   }
  }
 closedir($verz);
}
?>


Erläuterung:
Mit diesem Beispiel würden alle Dateien mit der Endung .htm in den Verzeichnissen "verzechnis1", "verzeichnis2" und "verzeichnis3" ausgelesen und in der Sitemap angezeigt werden.




Weitere Artikel: