zurück zur Übersicht

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" />