Kategorien
Webmaster

Google Sitemaps einrichten

Da ich einige Zeit gebraucht habe um die Google Sitemaps bei mir zum laufen zu bringen, schreibe ich mal eine Anleitung für alle die einen Server bei Domainfactory stehen haben. Sollte aber auch bei anderen Providern funktionieren.

  1. Python Sitemap Generator downloaden
  2. example_config.xml in config.xml umbennen und mit sitemap_gen.py irgendwo auf dem Webserver ablegen, bsp: Domain.de/sitemapgenerator
  3. In der config.xml bei base_url die URL eingeben bsp: http://www.usability-now.com/ bei store_into den vollen Pfad des Webserver wo die XML Datei abgelegt werden soll (über PHPInfo findet man den Pfad leichter). Also steht da am Ende sowas wie:
    <site base_url=“http://www.usability-now.com/“ store_into=“/kunde/668899/webseiten/usability-now.com/sitemap.xml.gz“ verbose=“3″>
    <directory path=“/kunden/668899/webseiten/usability-now.com“ url=“http://www.usability-now.com/“ default_file=“index.php“ />
    <accesslog path=“/kunden/668899/logs/usability-now.com*“ encoding=“UTF-8″ />
    Der Teil /kunden/668899/webseiten/ muss natürlich auf die eigene Konfiguration angepasst werden.
  4. Da das ganze jetzt noch automatisiert laufen soll und ihr die Sitemap nicht jedesmal per Hand erstellen wollt, bauen wir jetzt noch eine PHP Datei die Sitemap zusammenbaut und Google berscheid gibt, dass diese neu erstellt wurde. Sowas makesitemap.php anlegen und ebenfalls im Ordner Domain.de/sitemapgenerator ablegen.
    Dort einfach folgenden PHP-Code einbauen exec('python sitemap_gen.py --config=config.xml',$output,$return);
    echo $return;
    echo $output;
    Der die Sitemap erstellt, noch mal alles auf dem Webserver hochladen und die URL Domain.de/sitemapgenerator/makesitemap.php im Browser aufrufen, wenn alles geklappt hat, sollte im Root eures Webservers bzw. unter der URL Domain.de/sitemap.xml.gz eine URL zu finden sein.
  5. Falls noch nicht geschehen, eigene Konto bei Google Sitemaps anlegen und Sitemap für die Domain einrichten.
  6. Cron Job einrichten der jede Nacht das makesitemap.php Skript aufruft.

Was passiert denn da jetzt eigentlich?
Mit base_url bekommt das Sitemap Tool die URL mit. directory path zeigt dem Python die Dateistruktur so kann das Tool auch Dateien finden die schlecht oder nicht verlinkt sind (wer alle Dateien ausschließen möchte die zB admin enthalten, der fügt einfach <filter action=“drop“ type=“wildcard“ pattern=“*admin*“ /> in die config.xml ein). Und mit accesslog hat das Python Tool zugriff auf die Logfiles und entscheidet je nachdem wie oft auf eine Datei zugegriffen wurde, welche priority diese in der Sitemap bekommt. Das ist gegenüber den ganzen Online Generatoren ein echter Vorteil da diese nur eine Standard oder gar keine Priorität vergeben.

Wer Probleme mit der Einrichtugn der Sitemap hat Verbesserungsvorschläge hat, kann ja einfach einen Kommentar schreiben.