Die mehrsprachige Sitemap.
Eine mehrsprachige Sitemap ist eine Sitekarte, in der jeder URL-Eintrag auch alle Sprachversionen dieser Seite angibt.
Die Sitemap leistet zwei Arbeiten: Sie macht die Seiten auffindbar und trägt Zusatzinformation über jede Seite. Auf mehrsprachigen Websites ist die zweite Arbeit besonders wertvoll, denn hreflang-Verknüpfungen können auf Kartenebene ebenso angegeben werden wie auf Seitenebene.
An zwei Orten zugleich anzugeben wirkt überflüssig, bietet aber eine Absicherung: Ein Auszeichnungsfehler auf Seitenebene kann von der Karte kompensiert werden, und auf großen Websites lässt sich die Karte von einem einzigen Ort aus prüfen.
Die Struktur
Jeder URL-Eintrag gibt alle Versionen des Satzes als eigene Zeilen an — sich selbst eingeschlossen. Auf einer dreisprachigen Website trägt jeder Eintrag also drei oder vier Alternativzeilen.
Das lässt die Datei schnell wachsen. Auf dieser Website ergibt sich die Zahl der Alternativzeilen aus einem Produkt. Und nicht aus einem einzigen: Jede in drei Sprachen existierende URL bekommt je vier Verknüpfungen, jede nur-türkische je zwei. Ändert sich der Übersetzungsumfang, ändert sich die Datei mit.
Dieselbe Gegenseitigkeitsregel gilt auch hier: Gibt Eintrag A B an, muss Eintrag B auch A angeben. Wird die Karte aus einer einzigen Datei erzeugt, ist das strukturell garantiert; bei von Hand geschriebenen Karten ist es das zuerst Übersehene.
Wie viele Dateien
Eine eigene Sitemap pro Sprache oder alles in einer Datei? Beides ist gültig, und die Wahl hängt von der Größe ab.
- Eine Datei — kleine und mittlere Websites. Leicht zu prüfen; die Gegenseitigkeit ist von einem Ort aus sichtbar.
- Datei pro Sprache + Index — große Websites. Jede Sprache wird eigens verwaltet, der Index sammelt alle.
- Die Größengrenze — eine Sitemap-Datei darf fünfzigtausend URLs oder fünfzig unkomprimierte Megabyte nicht überschreiten.
- Die Indexdatei — gibt es mehrere Sitemaps, listet eine Indexdatei sie alle.
Auf dieser Website wird eine einzige Datei verwendet; die Fünfzigtausend-Adressen-Grenze des Protokolls reicht für diesen Maßstab mehr als aus. Die Datei kommt aus dem Generator; sie wird nicht von Hand bearbeitet, und wird eine Seite ergänzt, entsteht ihr Eintrag von selbst.
Lastmod: das am häufigsten falsch verwendete Feld
Jeder Eintrag kann ein Datum der letzten Änderung tragen, und richtig verwendet ist dieses Feld ein wertvolles Signal. Falsch verwendet wird es vollständig ignoriert.
Die klassische Form des Missbrauchs: bei jeder Veröffentlichung die Daten aller URLs auf heute zu ziehen. Ändert sich auch nur eine Zeile CSS, hört die Maschine, alle Seiten seien aktualisiert, und nach einigen Runden hört sie auf, diesem Signal zu vertrauen.
Die richtige Verwendung: Das Datum schreitet nur voran, wenn sich der Inhalt dieser Seite wirklich geändert hat. Auf dieser Website ist das Datum an ein Register gebunden: Die Ausgabe jeder Seite bekommt einen Fingerabdruck, und der Stempel schreitet nur voran, wenn sich der Abdruck ändert. Bauzeit und Seitengewicht sind aus dem Abdruck herausgerechnet — beide würden sich bei jedem Lauf ändern, auch ohne Inhaltsänderung, und den Abdruck zum Lügner machen.
Ein bei jeder Veröffentlichung auf heute gezogenes Datum wird nach einer Weile zu einem Signal, das gar nicht mehr gelesen wird.
Die Prüfung
Die Sitemap ist eine lautlos brechende Datei: Wird eine Seite gelöscht, kann ihr Eintrag bleiben; wird eine Seite ergänzt, kann ihr Eintrag vergessen werden; und die hreflang-Verknüpfungen können einseitig bleiben. Alle drei geben der Suchmaschine falsche Information.
- Existiert jede URL auf der Platte — eine Adresse in der Karte ohne Seite verspricht einen 404.
- Ist jede Seite in der Karte — eine erzeugte, aber ungelistete Seite bleibt dem Zufall überlassen.
- Sind die Alternativverknüpfungen wechselseitig — gibt A B an, muss B auch A angeben.
- Schließt sie sich selbst ein — jeder Eintrag muss auch die eigene Sprache listen.
- Zeigen die Daten wirklich Änderung — nicht bei jeder Veröffentlichung auf heute gezogen?
- Zeigt die Robots-Datei auf die Karte — der Ausgangspunkt der Entdeckung.
Die ersten zwei Punkte sind einander Spiegelbild, und beide müssen kontrolliert werden. Auf dieser Website sind beide an einen Test gebunden: Jede URL der Sitemap muss live ein HTTP 200 liefern, und die URL-Zahl muss der Zahl der erzeugten Seiten auf der Platte gleichen.
Der zweite Test wurde geschrieben, nachdem ein Mangel gemessen war: Die Sitemap leitete sich aus der ABSICHT ab — „existiert diese Sammlung?“ — nicht aus der TATSACHE — „wurde diese Seite erzeugt?“. Der Unterschied zeigte sich darin, dass drei Adressen in der Karte, aber nicht auf der Platte waren. Sie leitet sich jetzt aus der Liste der erzeugten Seiten ab.
Entdeckung und Priorität
Die Sitemap ist ein Entdeckungskanal, aber kein Prioritätssignal. In der Karte zu stehen garantiert nicht, dass eine Seite gecrawlt wird; es gibt nur ihre Existenz an. Die Priorität wird aus der internen Verknüpfungsstruktur gelesen.
Das trägt auf mehrsprachigen Websites eine wichtige Folge: Existiert eine Sprachversion nur in der Karte, aber keine Seite verlinkt auf sie, wird diese Version selten gecrawlt. Die Verknüpfungen im Sprachwähler sind deshalb nicht nur für den Nutzer nötig, sondern auch für den Crawler.
Es gibt noch einen zweiten Kanal: die Kartenangabe in der Robots-Datei. Sie ist der Ausgangspunkt der Entdeckung, und fehlt sie, wird die Karte nur durch händische Einreichung gefunden. Auf dieser Website ist die Angabe an ihrem Platz, und die Prüfsuite misst sie eigens.
Und eine Maßstabsnotiz: Mit der Sprachzahl wächst die Karte schnell. Auf einer siebensprachigen Website trägt jede URL acht Alternativzeilen; eine Website mit tausend Seiten heißt achttausend Zeilen. In diesem Maßstab werden die Karte pro Sprache und eine Indexdatei praktisch.
Eine Erinnerung zum Schluss: Die Sitemap ist eine Meldung, keine Garantie. In der Karte zu stehen zeigt nicht, dass eine Seite in den Index gelangt; es erleichtert nur ihre Entdeckung. Für eine Seite, die nicht in den Index gelangt, ist die Lösung nicht die Korrektur der Karte, sondern die des Inhalts. Wird diese Unterscheidung verwechselt, werden Wochen am falschen Ort verbraucht.
Eine letzte Produktionsnotiz: Die Sitemap sollte nicht von Hand geschrieben werden. Auf einer kleinen Website wirkt das machbar, aber sie veraltet bei der ersten Seitenergänzung, und eine veraltete Karte ist schlechter als keine — sie zeigt der Maschine Seiten, die nicht existieren.
Auf dieser Website kommt die Karte aus dem Generator und leitet sich aus der Liste der erzeugten Seiten ab. Ist eine Seite nicht auf der Platte, kann sie nicht in die Karte; wurde eine Seite erzeugt, ist sie sicher in der Karte. Die zweiseitige Garantie ist an einen Test gebunden.
Ein Rahmen zum Schluss: Auf einer mehrsprachigen Website leistet die Sitemap zwei Arbeiten, und die zweite wird meist übersprungen. Die Entdeckung ist die Arbeit, die jeder kennt; die Sprachverknüpfungen zu tragen ist die zweite Verteidigungslinie der Angabe auf Seitenebene. Beide zusammen aufzubauen verhindert, dass ein einziger Fehler den ganzen Satz bricht.