XML-Sitemaps: Alles, was Du wissen musst! [Alles auf Start 36]

13. Mai 2021 | Von in Search Camp + Alles auf Start, SEO

Rund um XML-Sitemaps gibt es immer Mythen, Fragen und Hoffnungen. Aber was bringen die nun wirklich? Braucht man die unbedingt oder ist es eher ein Nice-To-Have? Welchen Effekt haben die unterschiedlichen Attribute, die man dort eintragen kann, auf SEO? Fragen über Fragen …

 

Keine Ausgabe unserer Podcasts mehr verpassen?
Dann melde Dich jetzt mit Deiner E-Mail-Adresse für unseren wöchentlichen SEO-Alert-Newsletter an:

Mit der Registrierung erklären Sie Ihr Einverständnis zum Erhalt der Update mit Revue sowie zur Analyse der Öffnungs- und Klickraten. Zu Ihrer Sicherheit erhalten Sie vorab eine Mail einem Bestätigungs-Link (Double-Opt-In). Sie können sich jederzeit mit dem Abmeldelink in einer Mail vom Newsletter abmelden.

 

Die wichtigsten Podcast-Links:

 

SEO und XML-Sitemaps: Alles, was Du wissen musst!

Moin! Herzlich willkommen! Markus Hövener hier mit „Alles auf Start“ und dem Thema heute „Alles über XML-Sitemaps“. Vielleicht ein bisschen sperriges Thema, vielleicht ein bisschen technisches Thema, aber ich merke in der Praxis, dass es da sehr oft ganz viele Fragen zu gibt, dass es sehr oft sehr hohe Unsicherheiten gibt, gerade bei Neueinsteigern. Und deswegen habe ich gesagt, ich mache jetzt mal eine Folge nur über Sitemaps.

Und die ist auch nicht zwangsweise nur technisch, aber natürlich gehe ich auch ein bisschen in die Tiefe. Ich hoffe, ihr könnt was damit anfangen, ansonsten wisst ihr, wo das Kommentarfeld oder wie ihr mir einen Kommentar zukommen lassen könnt. Dann freut‘s mich auf jeden Fall, euer Feedback dazu zu hören.

 

Was sind XML-Sitemaps?

Eine XML-Sitemap ist eine Auflistung aller relevanten URLs einer Website. Also da steht drin, die URL der Startseite, die URL von, ich weiß nicht, wenn ihr 1000 Produktdetail-Seiten habt, stehen da zum Beispiel 1000 URLs von Produktdetail-Seiten. Also alle URLs, die euch wichtig sind.

Man muss ganz klar sagen, eine XML-Sitemap ist was anderes als eine HTML-Sitemap. Das wird immer noch ein bisschen verwechselt. Früher hatte man diese HTML-Sitemaps relativ oft, auch weil man sich in Bezug auf SEO davon relativ viel versprochen hat. Also eine HTML-Sitemap ist eine normale Webseite, die auf die wichtigen Seiten einer Website verlinkt, aber nicht unbedingt vollständig. Und die XML-Sitemap ist im XML-Format, also ein spezielles maschinenlesbares Format, was einem als Nicht-Techie jetzt auf den allerallerersten Blick nicht ganz geläufig ist. Aber sobald man mal darüber guckt, erkennt man eigentlich relativ gut, was die Struktur zu bedeuten hat.

Grundsätzlich muss man sagen, es gibt nicht nur die XML-Sitemap, sondern es gibt verschiedene Sitemap-Formate, zum Beispiel für Videos oder auch News. Das heute nicht, ich rede heute über die, in Anführungsstrichen, ganz „normale“ XML-Sitemap.

 

Frage #1: Woher kommen die XML-Sitemaps?

Irgendwo müssen die ja herkommen, diese Auflistung aller wichtigen Seiten einer Website. Da gibt es grundsätzlich zwei Möglichkeiten. Die eine Möglichkeit: Ich nutze einen sogenannten Generator, das heißt, ich lasse meine Website einmal crawlen. Das heißt, der ruft die Seite für Seite ab. Und aus dieser Liste, die dann existiert, wird ganz einfach jetzt eine XML-Sitemap generiert.

Oder man macht es quasi aus der Datenbank heraus. Das heißt, die meisten Websites sind datenbankgestützt, das heißt, irgendwo stehen diese 1000 Produktdetail-Seiten zum Beispiel in der Datenbank. Und wenn man diese Datenbankstruktur kennt, dann kann ein Tool daraus einfach eine Datei generieren, wo diese 1000 Einträge drinstehen. Eigentlich ganz einfach.

Jetzt ist die Frage: Was von beidem ist am besten? Es gibt eine ganz, ganz, ganz, ganz klare Empfehlung, nämlich immer den zweiten Weg zu gehen, also aus der Datenbank heraus.

Das können eigentlich auch alle Shop- oder Content-Management-Systeme in irgendeiner Art und Weise. Warum crawlt man nicht einfach die Website? Es gibt verschiedene Gründe: Erstens hat es natürlich eine hohe Serverlast. Das heißt, wenn meine Website aus 100.000 Seiten besteht, muss ich 100.000 Seiten herunterladen. Und das belastet den Server und ist eigentlich komplett unnötiger Datenverkehr. Das Ganze aktuell zu halten ist schwierig. Das heißt, ich muss eigentlich jeden Tag meinen Server crawlen. Schwierig. Es können auch mal schnell Inhalte fehlen. Es gibt nämlich so Fälle, wo es Inhalte gibt, die auf meiner Website existieren, die intern aber nicht verlinkt sind. Die würde ich über den Crawl gar nicht finden, die würde ich aber über die Datenbank finden. Und da man diese Sitemaps eben nutzen kann, erkläre ich gleich noch mal, um solche internen Verlinkungsfehler zu finden, muss ich sie eigentlich aus der Datenbank heraus generieren. Also: Die Erzeugung über einen Crawl ist immer die schlechteste Lösung. Bitte nicht machen!

 

Frage #2: Was bringen mir XML-Sitemaps?

Verschiedene Sachen, wobei ich glaube, häufig wird das ein bisschen überschätzt, was es einem bringen kann.

Erstmal, der Googlebot, also der Crawler von Google, lädt ja Seiten von eurer Webseite herunter. Und wenn ihr ihm jetzt diese Sitemap mitgebt, dann kann es eben sein, dass dieses Tool, ich erkläre das gleich noch mal an anderer Stelle, dass es effizienter ist, eure Website zu crawlen für Google. Warum? Weil sie zum Beispiel über die XML-Sitemap erkennen können, welche Inhalte sich geändert haben und welche nicht. Und es ist natürlich effizienter für Google, wenn es einfach die Seiten, die sich nicht geändert haben, auch gar nicht mehr crawlt oder nur noch seltener crawlt. Und natürlich Sachen, die sich jetzt gerade geändert haben, dass die jetzt möglichst schnell gecrawlt werden. Und das kann ich über eine XML-Sitemap bewerkstelligen.

Dann gibt’s noch den Vorteil einer XML-Sitemap, Inhalte, die intern nicht verlinkt sind, aus welchen Gründen auch immer, habe ich vielleicht irgendwie vergessen oder so, aber die stehen in den Sitemaps drin, dann kann der Googlebot sie trotzdem finden. Weil eigentlich findet der Inhalte nur über Links, interne links, aber nochmal: Wenn er fehlt, nicht schlimm, er kann sie trotzdem finden und erst mal in den Index packen.

Und: Wenn ich so Tools habe wie so ein Crawling-Tool, also zum Beispiel der Screaming Frog SEO Spider, dann kann ich den Crawl mit der Sitemap abgleichen. Das heißt, ich kann zum Beispiel sehr gezielt Seiten finden, die nicht intern verlinkt sind. Und ich kann auch in der Google Search Console einen Abgleich machen. Ich kann also zum Beispiel mal gucken: Google, hier sind meine 1000 Seiten, die mir wichtig sind, wie viele dieser 1000 Seiten hast du im Index und welche nicht? Und warum hast du die eigentlich nicht im Index? Das sind eben insgesamt einfach Gründe, warum man Sitemaps auf jeden Fall haben sollte. Das ist erst mal so das Wichtigste für euch. Jetzt gehe ich ein bisschen in die Tiefe. In diesen Sitemaps stehen nämlich so ein paar Informationen.

 

Frage #3: Was bringt das Feld lastmod?

Man kann in der XML-Sitemap für jede Datei das lastmod mitgeben. Das ist das Datum der letzten Änderung. Ich habe eben schon gesagt, es kann hilfreich für den Crawler sein, damit er geänderte Seiten zeitnah aktualisiert. Und das hat auf jeden Fall Vorteile. Das heißt, wenn ihr dieses lastmod liefern könnt, dann tut das bitte auf jeden Fall.

Es hilft übrigens überhaupt nichts, auch bei den anderen Feldern, die ich euch gleich so erklären werde, es bringt euch überhaupt nichts, wenn ihr da irgendwie Schmu macht. Ihr könnt natürlich jetzt einfach sagen, ich trage jeden Tag bei lastmod einfach „heute“ ein, damit Google immer sieht, dass alles geändert wurde. Ja, kann man machen, bringt aber irgendwann nichts, weil Google irgendwann erkennen wird, wow, die ändern permanent alles. Und in vielen Fällen muss man sagen, vieles, was sich jemand überlegt, auf den Trichter ist vorher auch schon jemand gekommen und in der Regel bringt das dann nichts mehr. Also: Ist eine ganz klare Empfehlung, wenn ihr das Attribut lastmod mitliefern könnt, dann tut das bitte auf jeden Fall.

 

Frage #4: Was bringt changefreq?

Es gibt noch ein Attribut und das heißt changefreq, für change frequency, also wie oft ändert sich die Seite. Das kann man auf verschiedene Werte setzen, wie „täglich“, „wöchentlich“, „monatlich“. Solltest du das Ganze nutzen? Nein! Klare Empfehlung, denn Google ignoriert dieses Feld.

Es kann natürlich sein, dass andere Suchmaschinen das durchaus nutzen. In der Praxis muss man sagen: Lasst es einfach weg! Ihr braucht es nicht. Ich kenne leider viele, und deswegen erwähne ich es, eigentlich könnte ja sagen, lasst uns das Thema sein lassen, aber ich kenne viele, die dann solche Sachen noch zu Tode optimieren und es bringt einfach nichts.

 

Frage #5: Was bringt priority?

Analog, Punkt Nummer 5: Es gibt noch ein Attribut, das heißt priority, Das ist ein Wert zwischen 0 und 1. 1: wichtig. Und 0: unwichtig. Das heißt, es kann zum Beispiel einen Wert von 0,9 haben, also ziemlich wichtig, oder 0,1 ziemlich unwichtig.

Auch das war mal dafür gedacht, um einen Crawler zu steuern, um ihm zu sagen, wow, guck mal hier, die Seiten, die extrem wichtig sind, die müssen doch bevorzugt gecrawlt werden. Google ignoriert auch dieses Feld. Deswegen auch da bitte, auch da kriege ich es manchmal mit, dass Leute das zu Tode optimieren: Lasst es sein! priority ist nicht interessant.

 

Frage #6: Welche URLs sollen eigentlich drinstehen?

Erstmal sagt man, alle wichtigen und alle indexierbaren. Also alle Seiten, die wichtig und indexierbar sind. Indexierbar heißt ja, diese Seite hat einen HTTP-Code 200, ist nicht für Suchmaschinen gesperrt, also nicht noindex, nicht per robots.txt gesperrt, und es hat entweder keinen Canonical Tag oder das Canonical Tag zeigt auf sich selbst. Das heißt, diese Seite ist indexierbar und so, wie sie ist, könnte sie im Google Index erscheinen.

Ich muss ganz ehrlich sagen, je nachdem welches Projekt man sich so anguckt, das ist oft ein Problem. Einfach weil da sind zum Beispiel 301 Umleitungen drin oder da sind 404 Seiten drin, vielleicht weil die Sitemap auch selten aktualisiert wird. Und dann muss man sagen, gerade die Vorteile, die ich eben genannt habe, kann diese Sitemap dann irgendwann nicht mehr ausspielen. Das heißt, für mich persönlich ist immer erst mal wichtig sicherzustellen, dass die Sitemap A nur indexierbare Seiten enthält, und B, dass sie eigentlich mindestens täglich aktualisiert wird.

 

Frage #7: Was kann denn da noch so drinstehen in der Sitemap?

Ich habe eben schon über ein paar Attribute gesprochen wie change frequency oder priority. Also wir erinnern uns, die Sachen, die Google sowieso nicht ausliest. Aber es gibt ein paar Sachen, die kann man trotzdem reinschreiben. Und nur der Vollständigkeit halber möchte ich das heute noch mal nennen.

Also zum Beispiel hreflang Tags kann man da reinschreiben. Die braucht man bei einer internationalen Website. In der Regel sollte man die in den HTML-Code reinschreiben. Wenn man das aber nicht schafft, aus verschiedenen Gründen, dann kann man das Ganze auch in die Sitemap reinstecken.

Und was man auch machen kann, man kann auch die einzelnen Bilder, die auf einer Seite sind, kann man auch in die XML-Sitemap mit reinstecken. Ob das was bringt, ob man das tun sollte, ich bin da immer sehr zwiegespalten. Ich habe eigentlich gerade bei den Bildern noch nie einen Effekt, einen positiven Effekt sehen können. Und das mit dem hreflang Tag würde ich niemals empfehlen, weil es vom Debugging, also von der Fehlersuche her gesehen da noch hinreichend schwierig wird. Also ich würde es nicht tun.

 

Frage #8: Gibt es Grenzen bei XML-Sitemaps?

Ja, es gibt auch Grenzen. Also eine Sitemap-Datei darf nicht beliebig groß werden. Ich muss ganz ehrlich sagen, ich musste das nachgucken, weil es in der Praxis nicht wirklich ein Problem ist. Denn die meisten Content-Management- oder Shop-Systeme generieren Sitemaps und beachten diese Grenzen natürlich.

Also es ist so, die Dateigröße darf 50 Megabyte nicht überschreiten und die Anzahl der URLs pro Sitemap darf 50.000 nicht überschreiten.

Wie gesagt, in der Praxis ist das kein echtes Problem, deswegen müssen wir da jetzt auch nicht wirklich drüber reden. Ist nur dann relevant, wenn man irgendwie diese Sitemaps selber generiert über ein Skript oder so. Macht kaum einer. Ich sehe da in der Praxis auch ehrlich gesagt keine Probleme, vielleicht jemand anders. Andere Probleme sehe in der Sitemap, aber dass sie zu groß gewesen wären, das habe ich ehrlich gesagt noch nicht so wahrgenommen.

 

Frage #9: Kann es noch andere Probleme geben außer die Größe?

Ja, kann es. Zum Beispiel den Speicherort, also wo die Sitemaps liegen. Und das Beste ist immer, wenn sie quasi im Root-Verzeichnis der konkreten Website liegen. Also sowas wie www.bloofusion.de/sitemap.xml. Und nicht unter sitemaps.bloofusion.de/export/sitemap.xml, also anderer Subdomain, tieferer Ordner und sowas, sondern einfach ins Root legen. In der Regel ist das die beste Lösung.

Und das zweite Problem, was es auch noch geben kann, was es in meinen Augen relativ häufig gibt, ich hoffe, dass ich euch da jetzt thematisch oder technisch nicht abhänge, aber das ist ja eine XML-Datei. Ich habe mich interessanterweise so 1998 im Studium, da habe ich mich damit mal beschäftigt und auch so einen Parser für geschrieben, deswegen, das sind so Themen, die ich jetzt irgendwie seit 23 Jahren mit mir rumschleppe. Also: Erstmal geht’s um die Kodierung. Das heißt, erwartet wird eigentlich UTF-8 Kodierung, das ist in der Regel überhaupt kein Thema. Aber was eben auch ein Problem ist, in XML-Dateien sind manche Zeichen nicht erlaubt oder müssen codiert werden. Zum Beispiel ein Kaufmanns-Und „&“. Wenn man ein Kaufmanns-Und hinschreiben möchte, also sowas wie … & Co., dieses „&“-Zeichen, ihr kennt das hoffentlich, also ein Kaufmanns-Und, dann könnt ihr nicht einfach ein Kaufmanns-Und schreiben, sondern ihr müsst schreiben „&“. Das ist davon die korrekte Kodierung. Das „amp“ steht für Ampersand, das ist quasi das englische Wort für Kaufmanns-Und. Wird total gerne falschgemacht. Das heißt, es kann natürlich passieren, dass es URLs gibt, die ein Kaufmanns-Und beinhalten. Gerade wenn es mehrere URL-Parameter sind, dann braucht man das ja. Und dann muss es eben auch richtig codiert werden. Wie gesagt, da können Fehler passieren. Mein Eindruck ist, dass, selbst wenn jemand das komplett missachtet, dass Google zum Beispiel damit immer noch prima zurechtkommt. Aber trotzdem, wenn ich sowas sehe, ich moniere das und dann behebt‘s natürlich trotzdem keiner.

 

Frage #10: Was sind eigentlich Index-Sitemaps?

Ich habe schon eben gesagt, Sitemaps sind eigentlich Auflistungen von URLs einer Website. Und 50.000 pro Stück gehen da rein. Das heißt, wenn ich 100.000 habe, dann brauche ich 2 Sitemaps. Und wenn ich 1 Million habe, brauche ich 20 davon. Und irgendwann wird es natürlich ein bisschen unübersichtlich. Und dann kann ich mir eine sogenannte Index-Sitemap generieren.

Das ist eine Datei, die auf die einzelnen Sitemaps verweist. Das heißt, ich muss mir nicht mehr diese 20 Sitemaps irgendwo merken, wo die stehen, sondern ich kann so eine Index-Datei da drüber hocken, so eine Art Verzeichnis, die dann auf die einzelnen Sitemaps verweist. Auch das machen viele Content-Management- oder Shop-Systeme, hat man gar nichts mit zu tun. Mehr gibt’s dazu eigentlich auch nicht zu sagen.

 

Frage #11: Wie mache ich denn meine XML-Sitemap bekannt?

Weil das Idealere ist natürlich, dass Google das Ding kennt, damit eben der Crawler auch dementsprechend positiv darauf reagieren kann. Da gibt’s 2 Möglichkeiten.

Die 1. Möglichkeit ist: Man packt das in die robots.txt Datei. Da kann man eine Zeile schreiben oder auch mehrere, die heißen dann „Sitemap: URL der Sitemap“, entweder der Index-Datei oder den einzelnen Sitemaps. Und wie gesagt, wenn ich 20 Sitemaps habe, kann ich auch einfach 20 Zeilen untereinander schreiben, überhaupt kein Thema. Das ist die eine Methode, die ist natürlich von außen einsehbar. Das heißt, zum Beispiel, wenn wir jetzt Konkurrenten analysieren, dann gucke ich auch gerne mal nach, haben die eine Sitemap hinterlegt oder mehrere Sitemaps. Sodass ich dann einfach mal gucken kann, ob ich mir da Informationen rausziehen kann.

Die andere Möglichkeit, und wirklich auch komplett getrennt davon, also nicht als entweder oder zu sehen, sondern da gibt’s eigentlich keine Verbindung, ist eben die Google Search Console. Da gibt es den Report „Sitemaps“, und da kann ich die alle eintragen.

Da gibt’s jetzt eher einen Praxis-Tipp von mir: Natürlich würde es reichen, also angenommen, nochmal das Beispiel von eben, ich habe eine Index-Datei und darunter hängen 20 Sitemaps, das Beste wäre natürlich einfach, wenn ich hingehe und die Index-Datei eintrage. Das kann ich machen. Das hat an manchen Stellen dann später Nachteile. Das heißt, was ich typischerweise empfehlen würde, ist, dass ich jede Sitemap-Datei und nicht die Index-Datei eintrage, sondern jede Sitemap-Datei einzeln. Das ist einmal ein bisschen Aufwand, aber dann kann ich mir später an einigen Stellen ein paar schöne Daten anzeigen lassen, zum Beispiel im Report „Abdeckung“. Dann kann ich nämlich wirklich sagen: Zeig mir doch mal von diesen 50.000 URLs, die du da drin hast, welche sind im Index und welche nicht?

 

Finale

Und das soll‘s auch für heute gewesen sein. Vielleicht trotzdem nochmal Zusammenfassung. XML-Sitemaps, brauchst du das, Ja oder Nein? Meiner Meinung nach, es ist nicht zwingend, aber ich finde, es ist einfach eine Art von Website-Hygiene, die ich immer haben wollen würde. Gerade auch in der Verbindung mit der Google Search Console muss man eigentlich eine XML-Sitemap haben oder XML-Sitemaps, je nachdem wie groß die Website ist. In jedem Fall. Sie sollte immer aktuell sein und sie sollte nur indexierbare URLs beinhalten. Wenn ich das beides hinbekommen habe, dann habe ich wirklich ein starkes Mittel, um sowohl in der Google Search Console relevante Daten abzurufen, als auch über Tools wie den Screaming Frog SEO Spider, um Abgleiche zu machen zwischen dem Crawl meiner Website und meinen XML-Sitemaps. Weil ich dann wirklich gucken kann, alles, was mir wichtig ist, also alles, was in den Sitemaps drinsteht, ist das auch alles gut intern verlinkt?

The following two tabs change content below.

Markus Hövener

Markus Hövener ist Gründer und Head of SEO der auf SEO und SEA spezialisierten Online-Marketing-Agentur Bloofusion. Als geschäftsführender Gesellschafter von Bloofusion Germany ist er verantwortlich für alle Aktivitäten in Deutschland, Österreich und der Schweiz. Markus Hövener ist Buchautor, Podcaster, Autor vieler Artikel und Studien rund um SEO und verantwortlich für das suchradar.

Markus hat vier Kinder, spielt in seiner Freizeit gerne Klavier (vor allem Jazz) und genießt das Leben.

Kommentieren