Ein einziges unmaskiertes Zeichen kann eine XML-Sitemap unlesbar machen. Besonders leicht passiert das bei Adressen mit mehreren Queryparametern: In XML muss das verbindende & als & geschrieben werden.

Erst XML lesen, dann die Adresse

Fiktives Beispiel: Der Browser soll https://example.com/liste?farbe=gelb&seite=2 aufrufen. Im XML-Quelltext steht innerhalb von loc jedoch https://example.com/liste?farbe=gelb&seite=2. Ein XML-Parser macht daraus wieder die gewünschte Adresse.

Ersetze daher nicht blind jedes Sonderzeichen durch eine Prozentfolge. XML-Escaping schützt die Dokumentstruktur; URL-Kodierung beschreibt Bestandteile der Adresse. Beide Schritte haben unterschiedliche Aufgaben.

Öffne die unverarbeitete XML-Datei in einem XML-Validator oder mit dem Parser deiner Entwicklungsumgebung. Notiere die erste gemeldete Zeile und vergleiche den ursprünglichen CMS-Wert mit dem ausgegebenen loc. Oft sitzt der Fehler im Export und nicht in der gespeicherten Adresse.

Eine von Hand reparierte Datei hilft nur bis zur nächsten Neuerzeugung. Lass den XML-Serializer die Maskierung übernehmen und prüfe danach eine Adresse mit Umlaut sowie eine mit mehreren Parametern. Bereits maskierte Werte dürfen nicht erneut maskiert werden: & verändert die eingelesene Adresse. Prüfe anschließend auch, ob die vom Parser gelesene URL tatsächlich zur vorgesehenen Seite führt.

Zum verwandten Prüfschritt: Weiterleitungen aus der Sitemap entfernen.

Steht der Fehler in deinem Frontend-Export fest, kannst du die abgegrenzte Korrektur über Frontend-Optimierung anfragen.

Quellen