XML-Sitemap für Suchmaschinen
Ziel
Den Suchmaschinen soll eine Datei angeboten werden, in der alle HTML-Dateien der Website gelistet sind. Diese Datei enthält Angaben zu Änderungsdaten und Pfaden innerhalb der Website.
Der Speicherort dieser XML-Datei wird dann in der 'robots.txt' angegeben. Diese Datei enthält ist üblicherweise in einer Website vorhanden und wird von Suchmaschinen sozusagen immer ausgelesen.
Durchführung
Mit einem Texteditor wird eine XML-Datei ohne Formatierungen erstellt und auf der obersten Ebene der Website gespeichert.
Der Speicherort der XML-Datei wird in der 'robots.txt' angegeben, die üblicherweise ebenfalls auf der obersten Ebene der Website vorhanden ist.
Beispielansicht einer XML-Sitemap
Die Datei kann kopiert werden. Die eingetragenen Daten werden kann an die tatsächlichen
Gegebenheiten angepasst. Leere Zeilen sind hier wegen der besseren Übersicht. Ein Abschnitt
ist jeweils für eine HTML-Datei.
Das Beispiel ist für eine Website in einer Sprache gedacht.
'changefreq' gibt an, dass der Änderungszyklus für Inhalte auf 'monatlich' gesetzt ist.
'lastmod' ist das Datum der letzten Änderung der betreffenden Datei.
Dateiname zum Speichern: sitemap.xml
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.websitename.de/</loc>
<lastmod>2025-11-09</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>http://www.websitename.de/index.html</loc>
<lastmod>2024-08-31</lastmod>
</url>
<url>
<loc>http://www.websitename.de/ein-unterordner/index.html</loc>
<lastmod>2023-02-04</lastmod>
</url>
<url>
<loc>http://www.websitename.de/ein-unterordner/eine-html-datei.html</loc>
<lastmod>2023-02-04</lastmod>
</url>
<url>
<loc>http://www.websitename.de/ein-unterordner/noch-eine-html-datei.html</loc>
<lastmod>2023-02-04</lastmod>
</url>
<url>
<loc>http://www.websitename.de/ein-anderer-unterordner/wieder-eine-html-datei.html</loc>
<lastmod>2023-02-04</lastmod>
</url>
</urlset>
XML-Sitemap bei mehrsprachigen Websites
Situation
In diesem Beispiel nehmen wir an, dass es thematisch gleichen Inhalt in unterschiedlichen Sprachen gibt, einmal in deutscher und einmal in englischer Sprache.
Ordnerstruktur
index.html de/weitere-html-datei.html de/impressum.html en/another-html-file.html en/sitenotice.html
Ziel
Der Suchmaschine soll und muss mitgeteilt werden, dass und wie die Dateien aufeinander bezogen sind hier: impressum.html und sitenotice.html, weil diese einen entsprechend gleichen Inhalt aufweisen. Tut man das nicht, kann es zu ungünstigen Effekten kommen, wenn die Suchmaschine die Inhalte in ihren Index aufnimmt. Sie kann sie falsch zuweisen oder gar nicht aufnehmen.
In der sitemap.xml muss es also einmal den Eintrag für die betreffende
Datei in der jeweiligen Sprache geben. Weiter muss unter jedem dieser Einträge
gelistet sein, dass und wo es den korrespondierenden Eintrag gibt.
Das sieht dann so aus. Beispiel ist das Impressum einer Website. Es
werden unter jedem der einzelen Einträge beide anderen Speicherorte
aufgeffführt.
[... Einträge wie oben...]
<url>
<loc>http://www.websitename.de/de/impressum.html</loc>
<lastmod>2024-08-31</lastmod>
<xhtml:link rel="alternate" hreflang="de" href="http://www.websitename.de/de/impressum.html"/>
<xhtml:link rel="alternate" hreflang="en" href="http://www.websitename.de/en/sitenotice.html"/>
</url>
<url>
<loc>http://www.websitename.de/en/sitenotice.html</loc>
<lastmod>2024-08-31</lastmod>
<xhtml:link rel="alternate" hreflang="de" href="http://www.websitename.de/de/impressum.html"/>
<xhtml:link rel="alternate" hreflang="en" href="http://www.websitename.de/en/sitenotice.html"/>
</url>
[... weitere Einträge...]
Eintrag in der robots.txt
In der 'robots.txt' werden dann in der zweiten Zeile der Name und der Pfad eingetragen, unter dem die Sitemap gespeichert wurde. In diesem Beispiel ist das 'sitemap.xml'. Hier ist das die oberste Ebene.
User-agent: * Sitemap: https://websitename/sitemap.xml
Die Suchmaschine wird bei ihrem nächsten Durchgang durch die Website die Datei auslesen.
Canonical-Eintrag in jeder HTML-Datei
In jeder HTML-Datei soll ein Canonical-Eintrag stehen. Das ist die URL, welche die betreffende Datei hat. Für die zweisprachige Website am Beispisle des Impressums sieht das so aus.
<link rel="canonical" href="https://websitename.de/de/impressum.html" />
Der Vollständigkeit noch dies
Der Vollständig wegen sei noch genannt, dass man statt(!) in der sitemap.xml
die Einträge zu pflegen alles in jeder HTML-Datei hinterlegen kann. Das erscheint
mir unnötig kompliziert zu sein. Man muss ja im Sinn haben, was wo wie aufeinander
bezogen ist und häufig mehrere Dateien kontrollieren.
Aussehen würde das dann so.
Für /de/impressum.html in den Metaangaben
<link rel="canonical" href="https://websitename.de/de/impressum.html" /> <link rel="alternate" hreflang="de" href="https://websitename.de/de/impressum.html" /> <link rel="alternate" hreflang="en" href="https://websitename.de/en/sitenotice.html" />
Für /en/sitenotice.html in den Metaangaben
<link rel="canonical" href="https://websitename.de/en/sitenotice.html" /> <link rel="alternate" hreflang="de" href="https://websitename.de/de/impressum.html" /> <link rel="alternate" hreflang="en" href="https://websitename.de/en/sitenotice.html" />