/gr%C3%B6ssen/ sieht anders aus als /grössen/. Daraus folgt noch nicht, dass zwei verschiedene Seiten existieren. Browser zeigen kodierte Zeichen teilweise lesbar an; für einen Vergleich brauchst du die tatsächlich angefragte Adresse und die Antwort des Servers.

Einen Umlaut vollständig verfolgen

Fiktives Beispiel: Ein CMS speichert „grössen“, die Sitemap gibt den UTF-8-kodierten Pfad aus, und der Browser zeigt wieder den Umlaut. Wenn alle Wege dieselbe Seite und denselben Canonical ergeben, ist die unterschiedliche Darstellung allein kein Fehler.

Kopiere die URL aus der Netzwerkansicht und vergleiche sie mit Sitemap und Canonical. Prüfe zusätzlich die endgültige Adresse nach möglichen Weiterleitungen. So unterscheidest du eine Anzeigeabweichung von einem echten zweiten Pfad.

Eine doppelte Kodierung ist etwas anderes: Aus %C3%B6 kann %25C3%25B6 werden. Der Server erhält dann nicht mehr denselben Zeichenwert.

Reservierte Zeichen können die Bedeutung einer URL verändern. %2F steht für einen kodierten Schrägstrich; eine unbedachte Umwandlung kann daraus eine neue Pfadgrenze machen. Prüfe solche Fälle in der konkreten Anwendung, bevor du eine globale Bereinigung einführst.

Nutze für die Ausgabe eine URL-Bibliothek und lege fest, an welcher Stelle kodiert wird. Eine hilfreiche Übergabe nennt den ursprünglichen CMS-Wert, die erzeugte Adresse und die beobachtete Serverantwort. „Umlaute kaputt“ ist als Fehlerbeschreibung zu ungenau.

Zum verwandten Prüfschritt: Das Weiterleitungsziel eines Canonicals prüfen.

Wenn die fehlerhafte Kodierung aus einer bekannten Frontend-Funktion kommt, ist Frontend-Optimierung eine mögliche Umsetzung.

Quellen