HTML- und XML-Sitemaps für SEO nutzen

Sitemaps helfen Suchmaschinen. Details zu XML-Sitemaps, Alternativen zu XML-Sitemaps (wie etwa .txt) und HTML-Sitemaps haben wir beschrieben. Viel Inspiration ist sicher im Bereich Sitemap-Typen zu finden. Gaaaanz unten bauen wir eine kleine XML-Sitemap-Checklist auf. Ein Changelog für inhaltliche Änderungen am Dokument gibt es natürlich auch.

Damit Suchmaschinen eine Seite ranken können, müssen sie die Seite crawlen und verstehen. Um das Crawling betriebswirtschaftlich effizient zu gestalten geben Suchmaschinen jeder Domain nur ein gewisses Maß an Ressourcen für Crawling und Verarbeitung. Dieses Budget bemisst sich an der Prominenz einer Domain. Große, prominente Domains bekommen eine Menge Ressourcen, kleine Domains weniger.

Für kleine Domains ist dies in aller Regel kein Problem. Bei großen Domains mit Hunderttausenden oder Millionen URLs können Sitemaps Google und anderen Suchmaschinen helfen die Prioritäten beim Crawling richtig zu setzen. John Müller von Google sagt dazu:

Gerade bei größeren Seiten macht das Sinn. Bei kleineren Websites — Ich sag mal beliebig — bei 1.000 oder 10.000 Seiten, wenn das kleiner ist, dann würde ich vielleicht auf eine Sitemap verzichten. Also auf jeden Fall ist es nicht notwendig. […]
Eine Sitemap-Datei hilft uns immer diese Seiten besser zu erkennen, aber es ist nicht so, dass man das unbedingt haben muss, gerade bei einer kleineren Website, weil wir sie eigentlich relativ gut schon crawlen können. Aber bei größeren Websites würde ich die auf jeden Fall verwenden.

— John Müller, Google Webmaster Hangout 02. Juli 2015

Sitemaps selbst verbessern kein Ranking, aber sie helfen Suchmaschinen die relevanten, rankingwürdigen Inhalte zum richtigen Zeitpunkt neu zu crawlen.
Je größer eine Seite ist, desto komplexer wird die Sitemap-Thematik und um so wichtiger wird es zu verstehen, welche Potenziale Sitemaps bieten, was zu beachten ist und wo Fallstricke liegen. Dieser Post soll dabei helfen.

Brauche ich eine Sitemap? Und wenn ja: Wie viele?
— Ein anonymer SEO in einem komplexen Projekt

Wann und warum brauche ich Sitemaps?

Sitemaps sind nicht für jede Seite notwendig. In den folgenden Abschnitten findest Du Informationen, die Dir helfen zu beurteilen, ob Du Sitemaps benötigst und welche Implementierungsoptionen Du hast.

Was ist eine XML-Sitemap? Welche Vorteile bringt eine XML-Sitemap?

Eine XML-Sitemap ist ein strukturierter, maschinenlesbarer Index über alle relevanten URLs einer Seite. Dabei können zusätzliche Informationen mitgegeben werden, die Suchmaschinen helfen können die Informationen auf der Seite einzuordnen.

Für überschaubare Domains mit nur wenigen Hundert oder Tausend URLs hat die Verwendung von XML-Sitemaps nur wenig Vorteile. Für Domains ab 5.000 indexierbaren URLs ist eine Sitemap unserer Meinung nach Pflicht. Die Verwendung von Sitemaps hilft Google das Crawling-Budget auf aktualisierte oder neue Inhalte zu konzentrieren und die indexierten Inhalte aktuell zuhalten.

XML-Sitemaps bieten außerdem die Möglichkeit in der Google Search Console nachzuvollziehen wie viele URLs aus der Sitemap in den Index aufgenommen worden sind.
SearchConsole Indexierungsstatus Gerade bei der Indexierung oder Deindexierung insbesondere ganzer URL-Gruppen ist diese Übersicht enorm hilfreich. Mehr dazu im Abschnitt ideale Sitemapstruktur planen.

Was ist eine HTML-Sitemap? Welche Vorteile bringt eine HTML-Sitemap?

HTML-Sitemaps dienen dazu Crawlern und Nutzern Orientierung auf der Seite zu bieten und die Inhalte und Informationsarchitektur kompakt zu visualisieren. Gerade mit steigender Mobile-Nutzung und häufig mobil unübersichtlichen Navigationsstrukturen wird die HTML-Sitemap aus unserer Sicht für Nutzer wieder wichtiger.

Die HTML-Sitemap listet dabei die wichtigsten Seiten, Kategorien und Subkategorien und ist selber aus dem Footer aller Seiten oder dem Impressum verlinkt. Eine HTML-Sitemap hilft auch die wichtigsten URLs von jeder URL aus in nur wenigen Klicks erreichbar zu machen. Und dient damit nicht nur der Crawlability durch Suchmaschinen, sondern auch der Optimierung des Linkflusses.

Brauche ich immer XML- und HTML-Sitemaps?

Nein. Für die Umsetzung von XML- und HTML-Sitemaps gibt es wie oben beschrieben unterschiedliche, eigene Gründe. Nicht immer, wenn eine HTML-Sitemap sinnvoll ist, ist die Seite so groß, dass auch eine XML-Sitemap sinnvoll ist. Und nicht immer, wenn eine XML-Sitemap wegen Größe, Komplexität und Änderungshäufigkeit der URLs sinnvoll sind, ist auch eine HTML-Sitemap für den Nutzer oder die Verteilung der Linkpower notwendig.

Ob eine der beiden Sitemaps umgesetzt werden sollte ist natürlich auch immer eine Frage der Umsetzungskomplexität, beziehungsweise des technischen Aufwands, und des erwarteten Ertrags.
Schaden können valide Sitemaps nicht. Mehr dazu unter HTML-Sitemaps.

Was muss bei einer XML-Sitemap beachtet werden?

XML-Sitemaps folgen der Spezifikation auf http://www.sitemaps.org/protocol.html. Formale Themen, die bei der Konzeption zu beachten sind:

  • Maximal 50.000 URLs pro XML-Sitemap (Ausnahme News-Sitemap)
  • Maximal 50MB entpackte Dateigröße pro Sitemap (gerade bei umfangreichen Bilder- oder Hreflang-Sitemaps kann das ein Problem werden)
  • Maximal 2.048 Zeichen pro URL (Zugegeben, wer das Limit überschreitet hat neben der Crawlability auch andere Probleme)
  • XML-Steuerungszeichen müssen HTML-Entity-escaped werden:
    • “&” → “&
    • ”‘” → “'
    • ”“” → “"
    • ”>” → “>
    • ”<” → “&lt;
  • UTF-8. Die Datei selbst sollte als UTF-8 codiert sein
  • Umlaute und Sonderzeichen können URL-encoded werden. Google akzeptiert aber auch UTF-8 URLs, sofern die oben genannten Steuerungszeichen entity-escaped sind
  • Werden Sonderformate wie News oder Bilder verwendet dann müssen die entsprechenden idspaces referenziert werden

Spätestens bei Überschreitung der Größenlimits (50.000 URLs, 50MB) sollten die Inhalte in mehrere Sitemaps aufgesplittet werden. Zum vereinfachten Management mehrerer Sitemaps gibt es die Möglichkeit eine Indexsitemap zu verwenden.

Wie erstelle ich eine Sitemap?

Grundsätzlich sollte eine Sitemap nur in Ausnahmefällen manuell erstellt werden (beispielsweise bei Relaunches, NoIndex-Sitemaps, etc.). Für jedes Content-Management-System gibt es mehr oder weniger sinnvolle Lösungen out of the box. Bei komplexen Setups empfiehlt es sich aber auf eine komplette Eigenentwicklung zu setzen.

Sitemap speichern und einreichen

Der Sitemap-Dateiname

Es gibt keine besonderen Anforderungen an den Dateinamen, außer dass die Namen sich nicht mit jeder Aktualisierung ändern sollten (beispielsweise durch einen Timestamp). Es hat sich aber bewährt die Funktion der Sitemap im Dateinamen anzugeben.

Zusätzlich sollte ein Index enthalten sein, der darüber informiert, dass dies nicht die einzige Sitemap dieses Typs ist, sondern die Inhalte auf mehrere Sitemaps verteilt wurden. Ein simples Dateinamenkonzept könnte also etwa so aussehen:

  • master_sitemap.xml
    • index_sitemap_index_01.xml
    • default_sitemap_produkte_index_01.xml
    • default_sitemap_produkte_index_02.xml
    • default_sitemap_kategorien_index_01.xml
    • images_sitemap_produkte_index_01.xml
    • images_sitemap_produkte_index_02.xml
    • images_sitemap_produkte_index_03.xml
    • images_sitemap_produkte_index_04.xml

Das System folgt folgendem Aufbau:

  1. default_sitemap_produkte_index_01.xml Typ der Sitemap: Handelt es sich um eine Index-Sitemap, eine Standardsitemap, oder eine Sitemap, die Bilder- und/oder Videos integriert
  2. default_sitemap_produkte_index_01.xml Sitemap, um noch mal deutlich zu machen, dass diese Datei eine Sitemap ist. Kann natürlich entfallen, ist aber ein wenig abhängig davon, wo die Sitemap abgelegt wird. Werden die Sitemaps im Root-Verzeichnis angelegt, dann erleichtert das die Dateien zu identifizieren. Noch wichtiger wird dies, wenn beispielsweise txt-Sitemaps genutzt werden, da in dem Verzeichnis auch weitere txt-Dateien liegen könnten.
  3. default_sitemap_produkte_index_01.xml Welche Inhalte werden in der Sitemap referenziert (Templates, Produkte, etc.)
  4. default_sitemap_produkte_index_01.xml Welche Funktion erfüllt die Sitemap (Indexierung, De-Indexierung, Weiterleitung, Neue URLs)
  5. default_sitemap_produkte_index_01.xml laufender Index: Die wie vielte Sitemap nach diesem Schema ist dies.
  6. default_sitemap_produkte_index_01.xml Das Dateiformat: In aller Regel .xml. Es gibt aber auch andere mögliche Formate.

Ausnahme davon ist die Master-Sitemap, die alle Index-Sitemaps steuert. Prinzipiell ist es auch möglich die Index-Sitemaps in Kategorien zu unterteilen. Häufig ist dies aber Aufwand, der nicht notwendig ist.

Dieses System ist kein allgemeiner Standard, aber eine Konvention, die wir unseren Kunden gern zur Übersichtlichkeit empfehlen.

Wo muss eine Sitemap gespeichert werden?

XML-Sitemaps sollten im Root-Verzeichnis der Domain liegen. So ist sichergestellt, dass alle Suchmaschinen und Systeme, die Sitemaps verwenden die angegebenen URLs auch crawlen.
Der Sitemap-Standard sagt, dass eine Sitemap nur Dateien referenzieren kann, die im selben Verzeichnis oder einem Unterverzeichnis liegen. Wenn also www.example.com/sitemaps/sitemap.xml als Speicherort gewählt würde, dann dürften nur URLs angegeben werden, die unterhalb von www.example.com/sitemaps/ liegen.

Google ist hier liberaler und akzeptiert durchaus Referenzen von Unterordnern auf andere Ordner. Wie immer ist man aber auf der sicheren Seite, wenn man dem Standard folgt. Daher empfehlen wir weiterhin das Ablegen der Sitemaps im Root-Folder /www-root.

Sitemaps und Subdomains

Wie für jede (projektierte, relevante) Subdomain eine eigene Robots.txt angelegt werden muss, muss auch für jede Subdomain ein eigenes Sitemap-System aufgebaut werden, wenn man dem Standard folgen möchte. Google akzeptiert auch hier Abweichungen. Da Sitemaps aber auch anderen Suchmaschinen helfen sollen, empfiehlt es sich für jede Subdomain ein eigenes System aufzubauen.

HTTPs und HTTP in Sitemaps. Brauche ich separate Sitemaps?

Wie für Ordner und Subdomains gilt auch für Sitemaps, dass nur URLs referenziert werden dürfen, die dem selben Protokoll folgen. Wir empfehlen grundsätzlich alle URLs einer Domain über HTTPs zu referenzieren, dann ist auch bei Sitemaps kein weiterer Sitemap-Kreis notwendig. Für Weiterleitungs-Sitemaps im Rahmen einer Umstellung von HTTP auf HTTPs ist das Referenzieren von HTTP-URLs aus einer HTTPs-Sitemap ausreichend.

Auch für die Protokolle gilt: Google legt den Sitemap-Standard vergleichsweise liberal aus.

Die Lösung für mehrere Domains/Subdomains/Protokolle in einer Sitemap

Der Sitemap-Standard erlaubt sogenannte Cross-Submits. Das heißt, dass eine Sitemap URLs auf einer anderen Domain referenzieren darf, sofern die robots.txt dieser Domain auf die Sitemap verweist.
Sollen etwa URLs der folgenden Domains aus einer Sitemap referenziert werden, dann könnte das Setup wie folgt aussehen:

Sitemap liegt unter http://s3.amazonaws.com/meine_index_sitemap.xml
Dann müssten folgende Robots.txts vorhanden sein und mit “Sitemap: http://s3.amazonaws.com/meine_index_sitemap.xml” auf die Zentral-Sitemap verweisen:

Dieses Vorgehen wird von Bing, Google und Yandex unterstützt.

Sitemaps einreichen, beziehungsweise in Suchmaschinen anmelden

Es gibt verschiedene Methoden, um Sitemaps bei Suchmaschinen anzumelden. Jede Suchmaschine bietet in ihren Webmaster Tools eine Möglichkeit eine Sitemap anzumelden.

Sitemap in der Robots.txt referenzieren

Einfacher ist allerdings das Referenzieren der Master-/Index-Sitemap aus der Robots.txt. Hierzu wird in der Robots.txt eine Zeile mit Sitemap: http://example.com/master_sitemap.xml angegeben. In der Robots.txt können prinzipiell auch mehrere Sitemaps referenziert werden. Ist eine Master-/Index-Sitemap verfügbar, ist dies meist allerdings nicht notwendig.

Achtung: Manche Unternehmen legen Wert darauf, dass ihre Sitemaps nicht durch Jedermann eingesehen werden können. Gerade im News-Bereich machen die News-Sitemaps es möglich Republishing-Strategien und Veröffentlichungsfrequenzen einfach zu analysieren. In einem solchen Fall ist ein Referenzieren der Sitemaps in der Robots.txt kontraproduktiv, da durch jeden einsehbar.

Wie kann eine Sitemap wieder entfernt werden?

Soll eine Sitemap wieder entfernt werden, ist der erste Schritt die Löschung der Sitemap-Datei. Gleichzeitig sollte die Datei nicht mehr in der Index-Sitemap referenziert werden. Ist die Sitemap-Datei auch in der Robots.txt referenziert, ist auch diese Referenz zu entfernen.

Muss eine Sitemap indexierbar sein?

Nein, eine Sitemap muss nicht im Google-Index auftauchen. Wichtig ist, dass Google die Sitemaps crawlen darf. Die Sitemap darf also nicht durch die Robots.txt gesperrt sein. Häufig kommt Google selbst auf die Idee, dass die Sitemap für Nutzer nicht relevant ist.

Wenn man die Indexierung verhindern möchte, empfiehlt es sich die Sitemaps mit dem X-Robots-Tag im Dateiheader von der Indexierung auszuschließen:

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
(…)
X-Robots-Tag: noindex

Aufbau einer XML-Sitemap

Eine XML-Sitemap besteht aus einer einleitenden Zeile, die Informationen über die XML-Datei (XML-Version, Dateicodierung) enthält:

<?xml version="1.0" encoding="UTF-8"?>

Als nächstes wird das urlset-Tag geöffnet, dass spezifische Informationen darüber enthält, welcher Typ von Sitemap hier angelegt wird. Für eine Standard-Sitemap lautet diese Zeile:

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

Unterhalb des <urlset>-Tags können jetzt die einzelnen URLs angegeben werden. Die einfache Angabe einer URL wird dabei in einen <url>-Tag gefasst, wobei die URL selbst als <loc> (für Location) angegeben wird.

<url>
  <loc>http://www.example.com/url.html</loc>
</url>

Innerhalb des URL-Tags können auch weitere Informationen zur URL mitgegeben werden. Häufigster Fall für diese Möglichkeit ist die Angabe der letzten Modifikation der URL, beziehungsweise des Inhalts der URL:

<url>
  <loc>http://www.example.com/url2.html</loc>
  <lastmod>2005-01-01</lastmod>
</url>

Am Ende muss das urlset noch geschlossen werden.

</urlset>

Wenn wir beispielsweise Bilder in die Sitemap mit aufnehmen wollen, dann sehen die notwendigen Namespace-Angaben in der urlset-Zeile wie folgt aus:

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">

Damit wird der zusätzliche Namespace “image” angelegt, womit wir für die einzelnen URLs auch eingebundene SEO-relevante Bilder angeben können.
Wenn wir für unsere URL2 aus dem Beispiel oben zusätzlich Bilder referenzieren würden, dann würde das so aussehen:

<url>
  <loc>http://example.com/url2.html</loc>
  <lastmod>2005-01-01</lastmod>
  <image:image>
    <image:loc>http://example.com/image.png</image:loc>
  </image:image>
</url>

Natürlich kann auch das image-Tag weitere Informationen bekommen. Man sieht deutlich die image:-Syntax, die darauf hinweist, dass hier Image-spezifische Elemente aus dem Image-Namespace referenziert werden:

<url>
  <loc>http://example.com/url2.html</loc>
  <lastmod>2005-01-01</lastmod>
  <image:image>
    <image:loc>http://example.com/image.png</image:loc>
    <image:caption>Toller Untertitel für ein fantastisches Beispielbild.</image:caption>
  </image:image>
</url>

Natürlich können wir für eine URL auch mehrere Bilder (bis zu 1.000 Bilder pro <loc>-Tag) hinterlegen:

<url>
  <loc>http://example.com/url2.html</loc>
  <lastmod>2005-01-01</lastmod>
  <image:image>
    <image:loc>http://example.com/image.png</image:loc>
    <image:caption>Toller Untertitel für ein fantastisches Beispielbild.</image:caption>
  </image:image>
  <image:image>
    <image:loc>http://example.com/image2.png</image:loc>
    <image:caption>Beispie-Untertitel für ein weiteres Beispielbild.</image:caption>
  </image:image>
</url>

Welche XML-Tags sollte ich in einer XML-Sitemap angeben?

In den oberen Beispielen haben wir schon verschiedene Attribute zu URLs hinzugefügt.
Neben dem Pflicht-Tag <loc> zur Angabe einer URL gibt es die Möglichkeit folgende Attribute in einer Standard-Sitemap aufzunehmen:

  • lastmod: Datum der letzten Änderung an der URL. Wingmen empfiehlt dieses Attribut immer zu setzen. Eine korrekte Angabe erleichtert es Suchmaschinenbots Dokumente vor allem dann zu crawlen, wenn es Änderungen gab. Damit wird Crawlingbudget effizienter eingesetzt.
  • changefreq: Häufigkeit der Änderung (mögliche Werte: always, hourly, daily, weekly, monthly, yearly, never). Wingmen empfiehlt dieses Attribut nicht zu verwenden. Aufwand einer korrekten Implementierung steht selten im Verhältnis zum zusätzlichen Nutzen.
  • priority: Interne Priorität des Dokuments (wird von Google ignoriert). Wingmen empfiehlt dieses Attribut nicht zu setzen.

Gelegentlich hört man, dass man Keywords oder Titles mit in Sitemaps angeben könnte. Das ist in der Standard-Sitemap nicht der Fall.

Hinweise zum Lastmod-Tag-Datumsformat:

Wann sollte das Datum des Lastmod-Tags angepasst werden?

Das <lastmod>-Tag ermöglicht die Angabe der letzten Änderung eines Dokuments. Wir empfehlen den Wert dieses Tags immer dann anzupassen, wenn Änderungen am Hauptcontent der Seite vorgenommen worden sind (auch kleine Änderungen, wie Title-Anpassung, Rechtschreibkorrektur, Anpassung interner Links aus dem Artikel), oder wenn im größeren Umfang am HTML-Template der Seite gearbeitet wurde.

Wie muss das Datum im Lastmod-Tag ausgezeichnet werden?

Die Datumsangabe des Lastmod-Tags muss den Vorgaben des w3c zu Datumsangaben folgen.

Angabe des Lastmod nur mit einem Datum
<url>
  <loc>http://example.com</loc>
  <lastmod>2042-01-01</lastmod>
</url>
Angabe des Lastmod mit Datum und Uhrzeit

Minimal sollte der Tag angegeben werden (Format: YYYY-MM-DD). Bei Inhalten, die besonders häufig Änderungen unterliegen, oder News-Charakter haben, kann zusätzlich die Uhrzeit angegeben werden.
Bei der Angabe der Uhrzeit können Sekunden und Millisekunden entfallen. Die Angabe der Uhrzeit erfolgt dabei in 24 Stunden, nicht a.m. / p.m.
Achtung: Die Zeitangabe kann entweder in UTC erfolgen (dann endet die Zeitangabe mit einem großen ‘Z’), oder als Lokalzeit mit einer Angabe zur Abweichung von UTC in +hh:mm oder -hh:mm. Wenn die Verwendung von Lokalzeit genutzt wird, muss die Abweichung von UTC bei jeder Sommer-/Winterzeitumstellung korrigiert werden.
Angabe des Timestamps als UTC

<url>
  <loc>http://example.com</loc>
  <lastmod>2042-01-01T08:09:10Z</lastmod>
</url>

Angabe des Timestamps als Lokalzeit Berlin (Winterzeit)

<url>
  <loc>http://example.com</loc>
  <lastmod>2042-01-01T07:09:10+01:00</lastmod>
</url>

Angabe des Timestamps als Lokalzeit Berlin (Sommerzeit)

<url>
  <loc>http://example.com</loc>
  <lastmod>2042-01-01T07:09:10+02:00</lastmod>
</url>

Wer noch etwas tiefer in die Schwierigkeit von Zeitangaben in Computersystemen einsteigen will, dem sei dieses Video empfohlen:
https://www.youtube.com/watch?v=-5wpm-gesOY

Weitere XML-Sitemap-Typen

Weitere Sitemap-Typen können in einer Sitemap einfach über das Referenzieren des entsprechenden Namespaces im <urlset>-Tag aktiviert werden. Es können mehrere Sitemap-Typen in einer Sitemap verwendet werden. Zur Analyse von Problemen empfiehlt es sich dennoch die Sitemap-Strukturen nicht immer zu mixen.

Verfügbare (Google-)Erweiterungen für die Default-Sitemap (mit den entsprechenden Namespaces):

Dazu kommt noch die News-Sitemap, die allerdings ein wenig anders strukturiert ist: xmlns:news=”http://www.google.com/schemas/sitemap-news/0.9

Bilder-Sitemap (auch Image-Sitemap)

Ist der Namespace für Bilder im urlset-Tag gesetzt, dann steh einem die Image-Property mit den entsprechenden Tags innerhalb eines <url>-Elements zur Verfügung:

<url>
  <loc>http://example.com/url1.html</loc>
  <lastmod>2042-01-01</lastmod>
  <image:image>
    <image:loc>http://example.com/image.png</image:loc>
    <image:caption>Toller Untertitel für ein fantastisches Beispielbild.</image:caption>
    <image:geo_location>Hamburg, Germany</image:geo_location>
    <image:title>Hurra Bild-Title</image:title>
    <image:license>http://creativecommons.org/licenses/by/4.0/<image:license>
  </image:image>
  <image:image>
    <image:loc>http://example.com/image2.png</image:loc>
  </image:image>
</url>

Schauen wir uns die Attribute einmal näher an:

  • <image:loc>: Die URL des Bildes, logischerweise Pflichtattribut
  • <image:title>: Optionaler Bild-Title, sollte angegeben werden, kann beispielsweise aus dem Alt-Attribut entliehen werden
  • <image:caption>: Optionale Bildunterschrift, sollte angegeben werden, kann entfallen, wenn identisch mit Title
  • <image:license>: Ein Link zur Bildlizenz (optional)
  • <image:geo_location>: Eine Location-Angabe, interessanterweise sind hier keine Koordinaten, sondern Klarnamen des Ortes + Land gefragt (optional)

Googles Hinweise zu Bilder-Sitemaps

Video-Sitemap

Ist der Namespace für Videos im <urlset>-Tag gesetzt ("xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"), dann steht einem die Video-Property mit den entsprechenden Tags innerhalb eines <url>-Elements zur Verfügung.:

<url>
  <loc>http://example.com/url1.html</loc>
  <lastmod>2042-01-01</lastmod>
  <video:video>
    <video:thumbnail_loc>http://example.com/videothumbnail.jpg</video:thumbnail_loc>
    <video:title>Ein toller Videotitel</video:title>
    <video:description>Eine ausführlichere Beschreibung des Video-Inhalts</video:description>
    <video:content_loc>http://example.com/video.flv</video:content_loc>
    <video:player_loc allow_embed="yes" autoplay="ap=1">http://example.com/videoplayer.js</video:player_loc>
    <video:duration>600</video:duration>
    <video:expiration_date>2042-01-01T00:00:01+01:00</video:expiration_date>
    <video:rating>4.9</video:rating>
    <video:view_count>42</video:view_count>
    <video:publication_date>2016-01-01T09:30:00+01:00</video:publication_date>
    <video:family_friendly>yes</video:family_friendly>
    <video:restriction relationship="allow">DE AT CH</video:restriction>
    <video:gallery_loc title="Gallery Best of Videos">http://example.com/video/best_of</video:gallery_loc>
    <video:price currency="EUR">4.99</video:price>
    <video:requires_subscription>yes</video:requires_subscription>
    <video:uploader info="http://example.com/users/matt">Matt Cutts</video:uploader>
    <video:live>no</video:live>
  </video:video>
</url>

Pflichtangaben sind dabei:

  • <video:thumbnail_loc>: Thumbnail des Videos. Die Größe muss zwischen 160x90px und 1920x1080px liegen. Idealerweise .jpg- oder .png-Format
  • <video:title>: Titel des Videos. Keywords sollten hier enthalten sein. Maximal 100 Zeichen. Achtung: HTML-Entities müssen in einem CDATA-Block stehen.
  • <video:description>: Eine ausführlichere Description in maximal 2048 Zeichen. Auch hier sollte der Content in einem CDATA-Block umfasst sein, falls HTML-Entities enthalten sind.
  • Angabe des Videos selbst. Mindestens eine der Angabe muss erfolgen, beide sind möglich:
  • <video:content_loc>: URL zu einer Videodatei. Vorteil: Google kann das Video besser verstehen, Nachteil: Google generiert möglicherweise ein eigenes Vorschaubild
  • <video:player_loc>: Ermöglicht die Angabe einer URL eines Videoplayers mit einem Parameter zum konkreten Video. Hierbei kann mit dem Parameter embed definiert werden, ob das Video in den Suchergebnissen abspielbar sein soll.

Die optionalen Parameter sind ziemlich selbsterklärend. Letztlich gilt: Google hat Probleme Videos vernünftig einzuordnen. Googles Hinweise zu Video-Sitemaps

Hreflang-Sitemap / Sitemap zur Sprachauszeichnung

Wichtig bei der Nutzung von HREFLANG-Sitemaps ist vor allem die korrekte gegenseitige Referenzierung der Sprach-/Land-Domains einer mehrsprachigen Seite. Da dies ein besonders komplexes Thema ist, haben wir die Hreflang-Sitemap-Informationen im Hreflang-Artikel aufbereitet. Generell könnten HREFLANG-Sitemap und andere Formate gemischt werden. Zur besseren Fehleridentifikation und aufgrund der besonderen Komplexität von HREFLANG-Sitemaps empfehlen wir das aber nicht.

Brauche ich eine Mobile-Sitemap?

Die Mobile-Sitemap wird nur in Ausnahmefällen benötigt, nämlich immer dann, wenn es besondere Seiten für Feature Phones gibt. Für eine Smartphone-Version der eigenen Seite wird keine Mobile-Version benötigt. Hier reicht eine Verknüpfung der Desktop-Variante mit der Mobile Variante über Alternate und Canonical. Und das Referenzieren der Desktop-URLs in der Sitemap.
Da die Feature Phones eine aussterbende Spezies sind verzichten wir auf eine Schilderung der Details und verweisen auf Googles Hinweise zu Feature Phone Sitemaps. Und letztlich wollen wir doch alle Responsive, oder?

Sonderfall Google News-Sitemap

Für die News-Sitemap gelten ein paar besondere Regeln. Grundsätzlich ist die Sitemap nur für Seiten relevant, die eine realistische Chance haben auf Google News mitmachen zu können. Dann allerdings ist sie Pflicht. Die News-Sitemap sollte nicht mit anderen Sitemap-Formaten zusammengeworfen werden. Sie sollte immer aktuell sein.

Zusätzlich darf die Sitemap nur News-Artikeln enthalten. Diese dürfen nicht älter als 48 Stunden sein. Insgesamt dürfen nicht mehr als 1.000 Artikel in einer News-Sitemap stehen. Gehört Ihr zu den wenigen Publishern, die in 48 Stunden mehr als 1.000 Artikel veröffentlichen können hierfür wieder Index-Sitemaps genutzt werden.

Der Namespace für Google News Sitemaps ist: xmlns:news="http://www.google.com/schemas/sitemap-news/0.9"
Unterhalb des urlset folgt die News-Sitemap unserem bekannten Aufbau der Referenzierung einer URL mit dem -Tag unterhalb des -Tags:

<url>
  <loc>http://example.com/article123.html</loc>
  <news:news>
    <news:publication>
      <news:name>Publisher-Name</news:name>
      <news:language>de</news:language>
    </news:publication>
    <news:publication_date>2042-01-01</news:publication_date>
    <news:title>Wingmen veröffentlicht Wissensartikel zu XML-Sitemaps</news:title>
  </news:news>
</url>

Hier sind alle Pflichtattribute angegeben. Grundsätzlich empfiehlt es sich gerade bei einer News-Sitemap natürlich ein exaktes Veröffentlichungsdatum anzugeben und nicht nur einen Tag, wie hier im Beispiel.

Optionale weitere Attribute:

  • <news:genres>: Hier sollen Genres angegeben werden, sofern eine der Klassifikationen zutrifft. Wir empfehlen grundsätzlich vorsichtig mit der Einordnung zu sein und diese nur zu verwenden, wenn sich eine Nachricht eindeutig klassifizieren lässt. Mögliche Klassifizierungen: PressRelease, Satire, Blog, OpEd, Opinion, UserGenerated. Wobei die ersten drei Klassifizierungen auf Google News sichtbar als solche gekennzeichnet werden können.
  • <news:stock_tickers>: Angabe von zur Meldung verwandten Börsen-Symbolen. Verwandt heißt: Der Artikel sollte sich vor allem mit diesen Aktienkursen / Erwartungen der dahinter stehenden Unternehmen beschäftigen. Eine bloße Erwähnung eines Unternehmens in einem Artikel reicht noch nicht aus, diesen Artikel entsprechend zu vertaggen.

XML-Sitemaps für andere Suchmaschinen

Google ist (Ketzerei!) nicht die einzige Suchmaschine da draußen und auch andere benötigen Unterstützung.

Sitemaps für Bing

Bing unterstützt die Standard-XML-Sitemap und das Google-Image-Format. Sofern also keine Videos in den Sitemaps referenziert sind, sollte Bing keinerlei Probleme haben die XML-Sitemaps, die Google validiert auch korrekt zu verarbeiten.

Bing hat zusätzlich ein eigenes erweitertes Bilder-Sitemap-Format. Wenn ich viele, ansprechende Bilder habe und damit relevanten Traffic ziehen kann, dann kann es sich lohnen eine spezielle Bing-Sitemap mit Bildern bereit zu stellen. Diese Bildersitemaps ermöglichen sehr ausführliche Angaben zu einem Bild mitzugeben. Beispielsweise Ratings, Copyright-Inhaber, Kommentare und Nutzerinteraktionen, sowie Thumbnails. Das Format ist ein bisschen speziell, aber bei vielen, attraktiven Bildern und einer Zielgruppe, die auch auf Bing unterwegs ist, kann sich der Aufwand einer Entwicklung für dieses Format lohnen: https://www.bing.com/webmaster/help/image-feed-specification-0573ecfd

Bing versteht auch TXT-Sitemaps.

Sitemaps einreichen bei Bing

Der einfachste Weg Bing über eine Sitemap zu benachrichtigen ist die Sitemap-Referenzierung in der Robots.txt. Die Sitemap kann aber auch in den Bing-Webmaster Tools angemeldet werden.
Bing bietet auch die Möglichkeit einen Ping an Bing zu schicken, wenn eine Sitemap neu erstellt oder aktualisiert wurde: http://www.bing.com/ping?sitemap=http%3A%2F%2Fwww.example.com/sitemap.xml.

Sitemaps für Yandex

Yandex versteht die Standard-Sitemaps. Allerdings nicht die Bilder-Erweiterungen.

Yandex versteht auch TXT-Sitemaps.
Ebenfalls können Sitemaps über die Robots.txt referenziert werden. Auch Yandex ermöglicht eine Anmeldung in deren Webmaster Tools.

Für Yandex scheinen Priority- und Frequency-Tags nicht irrelevant zu sein, sofern sie angegeben sind. Wir vertrauen aber weiter auf eine konsistente Angabe des Lastmod-Tags.
Yandex unterstützt außerdem Cross-Submits für Sitemaps. Das heißt, dass eine Sitemap auf einer anderen Domain (example2.com) liegen und URLs von example1.com angeben kann, sofern example1.com die Sitemap-URL auf example2.com referenziert. Mehr dazu auf Sitemaps.org

Sitemaps für Baidu

Baidu versteht Sitemaps ebenfalls. Allerdings scheint die Einreichung von Sitemaps noch ein private beta-Feature zu sein:
https://chineseseoshifu.com/blog/submit-urls-to-baidu-in-style.html das scheint auch schon seit mehreren Jahren so zu sein: http://webmasters.stackexchange.com/questions/59851/how-to-submit-sitemap-to-baidu

Was ist eine Index-Sitemap

Eine Index-Sitemap dient dazu weitere Sitemaps zu referenzieren und so zu verhindern, dass jede Sitemap einzeln in der Robots.txt oder in Webmaster Tools der Suchmaschinen referenziert werden muss.
Der Aufbau ist relativ einfach und auch der Aufbau die Anzahl der Tags ist überschaubar:

Wir beginnen wieder mit der XML-Deklaration

<?xml version="1.0" encoding="UTF-8"?>

Wir haben

<sitemapindex>

(Achtung: nicht

<urlset>

!) als Root-Knoten und binden das Sitemap-Schema ein:

<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

Dann werden die einzelnen Sitemaps referenziert:

<sitemap>
  <loc>http://www.example.com/sitemap1.xml.gz</loc>
 <lastmod>2004-10-01T18:23:17+00:00</lastmod>
</sitemap>
<sitemap>
  <loc>http://www.example.com/sitemap2.xml.gz</loc>
  <lastmod>2005-01-01</lastmod>
</sitemap>

Und am Ende der Sitemap-Index geschlossen:

</sitemapindex>

Das

<lastmod>

-Tag

ist optional, es empfiehlt sich aber dies korrekt zu setzen. Dies wird umso wichtiger, je mehr Sitemaps man hat.

Die Restriktionen für die Index-Sitemap sind die gleiche, wie für andere Sitemaps auch: Nicht mehr als 50.000 URLs, nicht mehr als 50MB entpackt, kann aber per .gz komprimiert übertragen werden, UTF-8-Kodierung und nur absolute URLs referenzieren. Sollten mehr als 50.000 URLs angegeben werden müssen bietet sich an in der ersten Indexsitemap, die in der Robots.txt angegeben wird alle weiteren Index-Sitemaps und nur diese zu referenzieren.

Auch für Index-Sitemaps gelten die Cross-Submit-Regeln. Das heißt: Es können URLs auf anderen Domains referenziert werden, wenn deren Robots.txt per Sitemap:-Angabe auf die Sitemap-hostende Domain verweisen.

Sitemap-Details auf sitemaps.org.
Sitemap-Hinweise von Google.

Alternativen zur XML-Sitemap

.txt-Dateien als Sitemap

Grundsätzlich gibt es auch die Möglichkeit einfache TXT-Dateien als Sitemap zu verwenden. Das bietet sich immer dann an, wenn keinerlei Zusatzinformationen zu URLs mitgegeben werden sollen.

Wird beispielsweise das Datum als Priorisierungshilfe für Google nicht benötigt, oder man vertraut auf die Qualität Googles das richtige Aktualisierungsintervall herauszufinden, dann kann man TXT-Dateien gut verwenden.

Gerade für bestimmte (einmalige) Anwendungsfälle bieten sich TXT-Dateien an:

Die TXT-Datei muss dabei als UTF-8 kodiert sein und ausschließlich URLs enthalten (eine pro Zeile). URLs müssen dabei (wie bei allen Sitemaps) vollqualifiziert inklusive Protokoll, Subdomain, Domain und Topleveldomain, sowie Pfad und eventuell Parametern sein.

TXT-Sitemaps werden auch von Bing akzeptiert.

RSS-Feed: Keine echte Alternative für Google

Theoretisch bietet Google noch die Möglichkeit einen RSS-Feed als Sitemap anzugeben, oder Google Sites entsprechend zu verwenden. Offengestanden haben wir das aber noch nie in ernsthaften Projekten gesehen und auch noch keinen Anwendungsfall dafür gehabt.

Welche Links sollten in eine XML-/oder TXT-Sitemap aufgenommen werden?

In eine Sitemap sollten nur URLs aufgenommen werden, die indexiert werden sollen, also den folgenden Kriterien entsprechen:

  • Vollqualifizierte URL inklusive Protokoll (http/https), Subdomain (sofern vorhanden), Domain und der komplette Pfad der URL
  • HTTP-Status der URL sollte 200 sein
  • Meta-Robots-Tag: index, follow oder nicht gesetzt
  • X-Robots-Tag: index, follow oder nicht gesetzt
  • Canonical-Tag auf sich selbst oder nicht vorhanden
  • X-Canonical-Tag auf sich selbst oder nicht vorhanden
  • URL ist nicht durch die Robots.txt gesperrt.

Ausnahme von der Regel sind natürlich Spezial-Sitemaps zum schnelleren Crawling von Weiterleitungen oder zur Deindexierung von Inhalten.

Wie oft sollte ich eine Sitemap aktualisieren?

Eine Sitemap sollte immer aktualisiert werden, wenn sich an den in ihr referenzierten Inhalten etwas ändert.
Entsprechende Änderungen können sein:

  • Bisher in der Sitemap referenzierte URLs erfüllen nicht mehr die zur Aufnahme notwendigen Kriterien und werden gelöscht.
  • Neue URLs wurden in die Sitemap aufgenommen.
  • Inhalte der URLs, die bisher in der Sitemap standen wurden aktualisiert und das Last-Modified-Tag muss aktualisiert werden.
  • Das HTML-Template der referenzierten URLs wurde deutlich überarbeitet und daher wird das Last-Modified-Tag in der Sitemap aktualisiert.

Sitemaps (abgesehen von News-Sitemaps) müssen dabei nicht den sekundengenauen Status abbilden. In der Regel ist dies technisch schwer umsetzbar. Es empfiehlt sich allerdings die Sitemaps täglich einmal neu zu generieren. Bei großen Systemen kann es auch praktikabel sein Sitemaps mit Inhalten, die sich selten ändern in noch größeren Abständen zu generieren.

Muss eine Sitemap bei jeder Aktualisierung neu eingereicht werden?

Kurze Antwort: Nein.
Lange Antwort: Eine Neu-Einreichung ist nicht erforderlich. Wird eine Index-Sitemap verwendet, sollte allerdings das Last-Modified-Datum der Sitemap mit Änderungen in der Index-Sitemap aktualisiert werden. Wird eine neue Sitemap erstellt und nicht in einer bereits eingereichten oder in der Robots.txt referenzierten Index-Sitemap gelistet, so muss diese natürlich eingereicht werden.

Die perfekte Sitemap-Struktur planen

Wie bereits mehrfach angedeutet empfiehlt es sich bei größeren Domains die Sitemaps stark zu strukturieren, um Google beim Crawling zu helfen und um die Indexierung der Inhalte einer Domain in den Webmaster Tools / Search Console granular überwachen zu können.

Die Struktur der Sitemaps ist dabei für jede Domain aufgrund des Aufbaus der URL-Struktur, der Häufigkeit von Änderungen an URLs / Inhalten und der spezifischen Anforderungen immer individuell. Wir haben aber einige Setups mit unseren Kunden entwickelt, die zur Orientierung dienen können.

Grundsätzliche Annahme dabei ist, dass es sich um größere Domains mit vielen Inhalten handelt und das eine URL grundsätzlich in mehreren Sitemaps vorkommen kann.

Sofern nicht anderweitig angedeutet, gehen wir bei diesen Strukturen immer davon aus, dass eine Standard-Sitemap mit <url>, <loc> und <lastmod> verwendet wird.

Sitemaps zur beschleunigten Indexierung / Aktualisierung der URLs im Index

Orientierung an Seitentypen

Eine der einfachsten Logiken ist die Orientierung der Sitemaps an Seitentypen. Typische Seitentypen können sein:

  • Produktseiten
  • Kategorieseiten
  • Indexierbare Facettierungen
  • Hilfe- und Service-Seiten
  • Themenseiten

Die jeweilige Sitemap enthält dabei alle entsprechenden Inhalte. Grundsätzlich kann man sich dabei grob an den auf der Domain verwendeten Templates orientieren.
Diese Sitemap-Logik hilft dabei zu erkennen, bei welchen Seitentypen Google Indexierungsprobleme hat.

Orientierung an Ordnerstruktur

Eine weitere Standard-Logik ist die Orientierung an der Ordnerstruktur. Für jeden Folder/Unterordner wird dabei eine eigene Sitemap angelegt, die alle Inhalte dieses Ordners enthält.
Häufig ist diese Logik redundant zur Orientierung an Seitentypen, sie muss es aber nicht sein.

Sind meine Inhalte etwa klar in Ordner getrennt (beispielsweise: /Damenmode/, /Herrenmode/), dann kann diese Orientierung schnell Auskunft darüber geben, ob in beiden Seitenbereichen die Indexierung funktioniert.

Orientierung an Medientypen

Für Bilder und Videos gibt es eigene XML-Sitemap-Typen. Es empfiehlt sich dafür jeweils zusätzliche Sitemaps anzulegen, die nur Inhalte enthalten, auf denen die entsprechenden rankingrelevanten Medientypen eingebunden sind.

Orientieren sich diese Sitemaps zusätzlich an der logischen Struktur der Seite (Seitentypen, Ordnerstruktur), kann man schnell erkennen, ob es mit bestimmten Bildern, Bildertypen oder Bildereinbindungen auf bestimmten Seiten Probleme gibt.

Orientierung an Sprachen/Ländern

Sind verschiedene Sprachen auf einer Seite vorhanden, empfiehlt es sich für jede Sprache einen eigenen Sitemap-Baum anzulegen. Dies ist nicht zu verwechseln mit einer HREFLANG-Sitemap. Bei dieser Struktur geht es nicht darum die Sprachen untereinander zu verknüpfen, sondern festzustellen, ob die Inhalte in /de/ ebenso gut indexiert werden, wie diejenigen in /en/.

Der Index-Beschleuniger

Für neue Inhalte sollte es eine Extra-Sitemap-Struktur geben, die die neuesten 5-10% der Inhalte in einer Extra-Sitemap vorhält. Diese Sitemap dient Suchmaschinen als Anlaufpunkt für die neuesten Inhalte. Diese Sitemap sollte besonders aktuell gehalten werden.

Auch für Content-Publisher kann dies zusätzlich zu einer News-Sitemap interessant sein, um beispielsweise neue Themenseiten, Kategorien oder ähnliche neue Seiten, die aber keine Artikel sind schnell indexieren zu lassen.

Auch hier kann natürlich bei entsprechender Menge an Änderungen wieder zwischen Seitentypen unterschieden werden. In aller Regel ist dies aber nicht erforderlich. Häufig bietet es sich auch an die Grenze für die Aufnahme von URLs nicht anhand von Prozent an allen Dokumenten fest zu machen, sondern am Veröffentlichungszeitpunkt.

Mit einer Regel “Alle Dokumente, die in den letzten 7 Tagen hinzugefügt wurden”, kann man schnell sehen, ob die entsprechenden Inhalte auch zeitnah indexiert werden, beziehungsweise wie hoch der Anteil noch nicht indexierter Dokumente ist.

Der Recent-Changes-Beschleuniger

Liste mit den URLs, die in den letzten 30 Tagen geändert worden sind und durch Google aktualisiert werden sollten.

Sitemaps zur Beschleunigung der Deindexierung

Sitemaps können nicht nur zur beschleunigten Indexierung oder Verarbeitung von Content-Modifikationen genutzt werden, sondern auch um nicht mehr verfügbare URLs schneller aus dem Google-Index zu bekommen.

Wichtig dabei ist, dass diese Sitemaps:

  • nicht mit Sitemaps zur Indexierung gemischt werden, um die Qualität der Index-Sitemaps hoch zu halten.
  • Links nicht für immer enthalten sind, sondern entfernt werden, wenn Google die neuen Angaben verarbeitet hat. Google empfiehlt beispielsweise Sitemaps, die Redirects nach einem Relaunch listen maximal sechs Monate bestehen zu lassen.
    https://www.youtube.com/watch?v=BFmyBoew728#t=1925

Der De-Indexierungsbeschleuniger und Überwacher

Es kommt immer mal wieder vor, dass Inhalte von indexierbar auf nicht indexierbar geändert werden (robots index auf robots noindex). Für diesen Fall bietet sich eine Sitemap an, die alle nicht mehr indexierbaren Dokumente der letzten 30 Tage vorhält, so dass man überwachen kann, ob diese auch wirklich deindexiert werden.

Wenn bestimmte Seitentypen oder Strukturen zu einem Zeitpunkt komplett auf noindex geändert werden, dann ist hierfür eine einfache .txt-Sitemap ausreichend. Wenn in die Sitemap Dokumente zu unterschiedlichen Zeitpunkten aufgenommen werden, dann sollte eine XML-Sitemap mit <lastmod>-Tags verwendet werden.

404-er/410-er Sitemap

Seiten, die von HTTP-Status 200 auf 404 oder 410 wechseln, weil die Inhalte gelöscht worden sind, können natürlich grundsätzlich auch im “De-Indexierungsbeschleuniger” aufgenommen werden. In manchen Fällen (insbesondere bei größeren Mengen) empfiehlt es sich aber diese URLs in einer Extra-Sitemap zu referenzieren.

Der Redirect-Beschleuniger

Zur Beschleunigung der Verarbeitung von Redirects empfiehlt es sich Redirect-Sitemaps einzurichten.
Damit lässt sich nicht nur die Liste der eingerichteten Redirects strukturiert an Google übergeben, sondern in der Search Console auch überwachen, wie viele der weitergeleiteten URLs noch im Google Index zu finden sind.

XML-Sitemap-Fehler-Hall-Of-Fame

Wie wir gesehen haben, sind Sitemaps durchaus komplex. Hier die Fehler, die uns am Häufigsten in der Beratung aufgefallen sind:

  • Nicht qualifizierte URLs aufgenommen: URLs, die nicht indexiert werden sollen, in der Sitemap referenziert
  • Relative URLs referenziert: Sitemaps funktionieren nur mit absoluten Pfaden
  • UTF-8: Datei nicht UTF-8 kodiert
  • XML nicht valide: Insbesondere die Verwendung von Attributen, die im Namespace nicht vorgesehen sind
  • Falsche Timestamps (Bonus: Sommer- und Winterzeit)
  • Sitemap durch Robots.txt gesperrt
  • Sitemaps werden nicht aktualisiert
  • Sitemaps werden angelegt, aber nicht in die Index-Sitemap aufgenommen, Suchmaschinen bekommen sie also nicht zu sehen
  • URL mit relativem Pfad in Robots.txt angegeben
  • URL auf anderen Domains angegeben, ohne dass diese mit der Robots.txt zurückverweist.
  • Fehlerhafte .gz-Komprimierung

Indexierungsmonitoring für Einzel-URLs mit XML-Sitemaps

Sebastian Erlhofer gibt den Tipp, für jede URL eine eigene Sitemap anzulegen, um die Indexierung auf URL-Basis zu überwachen. Für kleinere Seiten ist das eine Möglichkeit. Bei größeren Seiten kann man diesen Ansatz aber nicht ohne Weiteres übernehmen, da sonst die Anzahl der zu crawlenden Sitemaps zu viel Crawl-Budget aufbrauchen könnte.

Details zu HTML-Sitemaps

Wie oben beschrieben können HTML-Sitemaps eine wichtige Funktion für die interne Verlinkung übernehmen. Dabei geht es nicht nur um die Unterstützung der Crawling-Ressourcen, sondern auch um kurze Klickwege für den Nutzer.

HTML-Sitemaps sind also eher eine Navigationsunterstützung und ein (kleiner) Support für den internen Linkfluss.
Natürlich können in einer HTML-Sitemap auch weitere Sitemaps verlinkt werden. Aber das Ziel “Führe den Nutzer schnellstmöglich zum Ziel” sollte im Vordergrund stehen.

Was sollte in HTML-Sitemaps enthalten sein?

Im Gegensatz zu XML-Sitemaps sollen HTML-Sitemaps nicht alle Dokumente enthalten, sondern Nutzern helfen Ziele schnell zu erreichen und gleichzeitig einen Hub für die interne Verlinkung darstellen. Daher sollten hier vor allem Seiten verlinkt werden, die nicht in der Hauptnavigation verlinkt werden (können) und die Linkpower intern weiter verteilen.

Wo sollte die HTML-Sitemap verlinkt sein?

In der Regel wird die Sitemap im Footer verlinkt. Gelegentlich auch im Header. Das hat den Vorteil, dass die Sitemap von überall gut erreichbar ist.
Besonders hilfreich ist die Sitemap auf 404-Fehlerseiten.

Sollte die HTML-Sitemap indexierbar sein?

Die Sitemap sollte per <meta name="robots" content="noindex, follow" /> von der Indexierung ausgeschlossen werden, da sie keinen Mehrwert für einen Nutzer hat, der auf der Suche nach einer Antwort auf eine aktuelle Frage ist.

Gute und weniger gute Beispiele für HTML-Sitemaps

Einige Beispiele für Sitemaps, die unserer Meinung nach gelungen sind:

  • Ebay-Sitemap: Alle wichtigen Links für den Nutzer werden schnell verfügbar gemacht. Im Vordergrund stehen weniger Produktkategorien, sondern Nutzer-Pages. Diese Sitemap ist offensichtlich für Nutzer geschaffen, weniger für SEO. Sie verlinkt aber auf den Kategorie-Hub, der eine eigene Kategorien-Sitemap ist.
  • Amazon-Sitemap: Die Sitemap ist prominent verlinkt (schon mal auf “Alle Kategorien” geklickt?). Sie enthält Abkürzungen zu Kategorien, sorgt aber vor allem auch dafür die eigenen Produkte (Kindle, Prime, FireTV, AWS, etc.) mit reichlich interner Linkpower zu versehen. Unabhängig von Teaserflächen und ähnlichem.
  • Samsung-Sitemap: Eine interessante Sitemap. Bei dem Footer, den Samsung ohnehin auf jeder Seite mit sich herumträgt überrascht eine so umfangreiche Sitemap
  • Commerzbank-Sitemap: Eine Sitemap, die nur die Hauptnavigation und Subnavigation der Kategorien abbildet und dazu unübersichtlich ist, hilft weder dem Nutzer, noch der Suchmaschine.
  • ZEIT: Für Publisher sind Themenseiten Seiten, die alle relevanten Informationen zu einem Thema bündeln und erfahrbar machen. Zeit hat eine Übersicht dieser Seiten, die Sitemap-Funktionen erfüllt. Da es extrem viele Themenseiten gibt, werden die Sitemaps nach Buchstaben und Entitäten gesplittet. Wahrscheinlich wäre zusätzlich eine Priorisierung (Themen mit dem höchsten Nutzerinteresse, den meisten Artikeln, etc.) hilfreich.

Sitemap-Analyse und Validierung

Der XML-Standard ist strikt. Entsprechend wichtig ist die korrekte Validierung der XML-Sitemaps. Die einfachste Variante zur Validierung von Sitemaps ist das Testen der Sitemap-Validität mit der Google Search Console. Dazu muss die Sitemap bereits auf dem eigenen Server hochgeladen sein.

Etwas komplexer, aber in aufwändigen Setups sinnvoll, ist das eigene Testen mit Hilfe von XML-Schema-Definitions (XSD). Dabei wird ein XML-Parser mit den korrekten möglichen Tags und Attributen gefüttert und die Datei getestet, ob diese Werte auch eingehalten werden.

Wingmen Sitemap-Checkliste

Validierung des XML

XML-Dateien lassen sich mit XML-Schema (XSD) validieren. Dafür muss die entsprechende Schema-Datei in der XML-referenziert werden. Danach kann ein Parser die Sitemap auf Entsprechung dieser Kriterien überprüfen.

Zur Validierung des XMLs von XML-Sitemaps können folgende XSDs genutzt werden:

Mit Hilfe der XSDs wird geprüft, ob nur angegebene Felder referenziert werden und ob die angegebenen Werte der Tags den Anforderungen entsprechen (etwa korrektes Datumsformat).

Zusätzlich sollten alle Sitemap Dateien geprüft werden auf:

  • Korrektes UTF-8
  • Korrektes Entity-Escaping
  • Maximal 50.000 <loc>-Tags
  • Maximal 50MB (unkomprimiert)

Für Google News Sitemaps:

  • Maximal 1.000 <loc>-Tags

Validierung des XML-Inhalts

Sind diese Kriterien erfüllt, sollten die inhaltlichen Kriterien für jede angegebene URL geprüft werden (auch für Bilder oder Videos):

  • URL
  • Enthält Protokoll, Subdomain, Domain, Top-Level-Domain und Pfad (validiert nach RFC-3986 und RFC 3987)
  • Ist nicht durch die Robots.txt vom Crawling gesperrt
  • HTTP-Header
  • Status-Code ist 200 (Ausnahme: Deindexierungs– / Weiterleitungssitemaps)
  • Location nicht gesetzt (Ausnahme: Weiterleitungssitemaps)
  • X-Robots-Noindex ist nicht gesetzt, oder “index”
  • X-Canonical nicht gesetzt, oder zeigt auf die exakt gleiche URL
  • HTML
  • <link rel="canonical" href=""> zeigt auf sich sich selbst (exakt gleiche URL) oder nicht angegeben
  • <meta name="robots" content=""> steht auf Index, oder ist nicht angegeben (Ausnahme: Deindexierungssitemap)

Für Google News-Sitemaps: Das <news:publication_date> sollte nicht älter als 48 Stunden sein.

Für HREFLANG-Sitemaps: Weitere Sprachangaben der referenzierten URL sollten den Angaben im HREFLANG nicht widersprechen. Etwa lang-Attribute oder HTTP-Language-Header oder HTTP-Equiv-Angaben im HTML.

Google Search Console Validierung

Sind die XML-Dateien hochgeladen, können die Dateien in der Google Search Console geprüft werden:
https://www.google.com/webmasters/tools/sitemap-list

Dabei wird allerdings nur die Korrektheit des XMLs geprüft. Nicht, ob die angegebenen URLs auch wirklich in der Sitemap enthalten sein sollten.

Online Checker

Es gibt Online-Checker für Sitemaps, denen häufig eine Datei hochgeladen werden kann, oder sogar das XML per Copy/Paste eingefügt werden kann. Hat man nur eine einfache Standard-Sitemap und legt keinen Wert auf die Prüfung des Sitemap-Inhalts, kann ein solcher Check hilfreich sein. Wir sind allerdings keine großen Fans davon.

Zusätzlich gibt es einige Broken-Link-Checker. Wir empfehlen allerdings die URLs aus dem XML zu extrahieren und mit einem Crawling (beispielsweise mit dem Screaming Frog SEO Spider) zu validieren.

URL-Extraction | Extrahieren von URLs aus XML

Um URLs aus XML-Dateien zu extrahieren gibt es verschiedene Methoden. Die Einfachste dürfte sein die Sitemap herunterzuladen und in den Screaming Frog SEO Spider zu laden.

Sitemap Generator | Sitemap-generator aus URL-Liste

Der einfachste Weg eine Sitemap schnell zu generieren dürfte die Verwendung des Screaming Frog SEO Spiders sein. Crawling anwerfen, URLs filtern und im Reiter Sitemaps die Kriterien wählen. Allerdings ist das natürlich nur etwas für statische Seitenbereiche oder Einmalaktionen, kein Ersatz für eine hilfreiche Sitemap-Struktur.

Peer Review

Qualitätssicherung ist uns wichtig. Daher lassen wir gelegentlich externe Experten über unsere Wissensseiten schauen.
Daniel Reeh, SEO bei meinestadt.de und Peer-Reviewer des Sitemap-Artikels Daniel Reeh hat diesen Artikel gelesen und für gut befunden. Daniel ist SEO bei meinestadt.de. Meinestadt.de ist enorm auf funktionierende Sitemaps angewiesen. Daniel hat uns gebeten den Hinweis auf den Indexierungs-Tweak von Sebastian Erlhofer mit aufzunehmen und den Druck erhöht, dass wir das Dateigrößen-Limit aktualisieren.

Danke Daniel, dass Du Dir dieses Dokument wirklich gründlich vorgenommen hast. Wer sich selbst ein Bild von Daniels Kompetenz machen möchte, dem empfehlen wir hier Kontakt aufzunehmen. Daniel ist nicht nur ein sehr angenehmer, sondern vor allem auch intelligenter Gesprächspartner. Nicht nur in SEO-Fragen: Twitter, Facebook, Xing

Florian Elbers, SEO bei Computerbild Florian Elbers hat diesen Artikel gelesen und für gut befunden. Florian ist SEO bei computerbild.de und ein starker, technischer SEO. Florian hat uns umfangreiche Hilfestellung gegeben dieses Dokument lesbarer und eindeutiger zu gestalten. Danke Florian, dass Du so viele Details zusammengestellt hast.
Wer sich selbst ein Bild von Florians Kompetenz machen möchte, dem empfehlen wir hier Kontakt aufzunehmen. Mit Florian zu sprechen macht einfach Spaß. So lange man nicht über Schalke reden muss: Florian Elbers, SEO Manager aus Hamburg

Changelog


Kontaktieren Sie uns!