Markus Michalski FAQ

XML-Sitemap: Fehlerbehebung und FAQ

Fehlerbehebung für die XML-Sitemap in Sylius 2: 404 beim Abruf, Fehlermeldungen pro Channel, Dateien nach dem Deployment weg, fehlende Produkte, Hreflang, bekannte Einschränkungen und FAQ.

English Version

Zurück zur Übersicht

XML-Sitemap: Fehlerbehebung und FAQ

Diese Dokumentation bezieht sich immer auf die aktuellste veröffentlichte Version.

Fehlerbehebung

/sitemap-index.xml liefert 404

Symptom: Der Abruf von /sitemap-index.xml oder /sitemap.xml endet mit 404.

Prüfen:

  1. Gibt es im Admin unter MMKreativ Plugins → XML-Sitemap eine Zeile für den Channel, und ist „Sitemap für diesen Channel aktivieren“ angekreuzt?
  2. Wurde generiert? Das Grid zeigt in „Zuletzt generiert“ einen Zeitpunkt, sonst gibt es keine Dateien.
  3. Gehört der Host zu einem aktivierten Channel? Die Auslieferung nutzt den Channel, den Sylius für den Host auflöst.
  4. Sind die Shop-Routen auf der obersten Ebene importiert, nicht unter /{_locale}? bin/console mmd:sitemap:setup meldet fehlende Importe.

Lösung: Fehlende Schritte nachholen und danach bin/console mmd:sitemap:generate ausführen.

Generierung meldet einen Fehler für einen Channel

Symptom: Der Befehl oder der Button melden einen Fehler pro Channel, die anderen Channels laufen durch.

Meldung (sinngemäß) Ursache Lösung
Channel hat noch keine Sitemap-Einstellungen Keine Zeile im Admin angelegt Zeile für den Channel anlegen
Sitemap ist für den Channel deaktiviert Hauptschalter aus „Sitemap für diesen Channel aktivieren“ ankreuzen
Channel existiert nicht Channel-Code der Einstellung passt zu keinem Channel Einstellung korrigieren oder löschen
Channel ist in Sylius deaktiviert Sylius löst nur aktivierte Channels über den Host auf Channel in Sylius aktivieren
Channel hat keinen Hostnamen Ohne Host lassen sich keine absoluten URLs bilden Hostnamen am Channel setzen
Channel hat keine Standardsprache Die Standardsprache fehlt am Channel Standardsprache setzen
Wird bereits von einem anderen Prozess generiert Es läuft schon eine Generierung für diesen Channel Warten, bis sie fertig ist
Generierung fehlgeschlagen: … Zum Beispiel nicht beschreibbares Verzeichnis, fehlender Routen-Import oder ein Datenbankfehler Den Grund in der Meldung beheben

Dateien sind nach einem Deployment weg

Symptom: Nach dem Deployment liefert die Sitemap 404, obwohl sie vorher funktionierte.

Prüfen: Liegt storage_dir (Standard var/sitemap) in einem Ordner, der beim Deployment neu angelegt wird?

Lösung: storage_dir auf einen dauerhaften Speicher legen oder direkt nach dem Deployment bin/console mmd:sitemap:generate ausführen. Das Verzeichnis muss für den ausführenden Benutzer schreibbar und für den Webserver-Benutzer lesbar sein.

Menüeintrag fehlt im Admin

Symptom: Unter „MMKreativ Plugins“ erscheint kein Eintrag „XML-Sitemap“.

Prüfen: Ist config/routes/admin.yaml des Plugins importiert?

Lösung: Den Import ergänzen (siehe Installation). Ohne die Route blendet das Plugin den Eintrag aus, statt die Seitenleiste aller Admin-Seiten zu brechen.

Migration bricht ab

Symptom: mmd:sitemap:setup oder die Migration meldet, dass sie nur für MySQL 8 und MariaDB geschrieben ist.

Ursache: Das Plugin unterstützt nur MySQL und MariaDB. Auf jeder anderen Plattform bricht die Migration bewusst ab.

Lösung: Das Plugin nicht auf einer anderen Datenbank installieren.

Setup-Befehl verlangt zuerst die Sylius-Migrationen

Symptom: Der Befehl bricht mit dem Hinweis ab, dass Migrationen noch offen sind, auf denen das Plugin aufbaut.

Lösung: Erst bin/console doctrine:migrations:migrate ausführen, dann bin/console mmd:sitemap:setup erneut.

Ein Produkt oder eine Kategorie fehlt

Was fehlt Mögliche Ursache
Produkt Deaktiviert, dem Channel nicht zugeordnet oder in der Sprache ohne Slug. Es kommt nur in den Sprachen vor, für die es einen Slug hat
Kategorie Der Taxon oder ein übergeordneter Taxon ist deaktiviert, er liegt außerhalb des Menü-Taxons des Channels, oder es ist eine Baumwurzel
Statische Seite Die Route steht nicht in static_routes, hat Pflichtparameter oder „Statische Seiten“ ist ausgeschaltet
Bilder „Produktbilder“ ist ausgeschaltet oder das Produkt hat keine Bilder

Hreflang fehlt

Prüfen: Ist „Hreflang-Alternativen“ eingeschaltet, hat der Channel mehr als eine Sprache und enthalten die Shop-Routen den Platzhalter {_locale}?

Ursache: Ohne unterschiedliche URLs je Sprache gibt es nichts zu verlinken, deshalb erscheint kein Hreflang.

Bekannte Einschränkungen

FAQ

Allgemein

Wird die Sitemap bei jeder Katalogänderung aktualisiert? Nein. Sie entsteht nur durch den Befehl oder den Button. Plane den Befehl als Cronjob ein.

Muss ich die Sitemap bei Google einreichen? Trage die Index-URL in die robots.txt ein oder reiche sie in der Search Console ein.

Konfiguration

Kann ich Priorität und Änderungshäufigkeit pro Produkt setzen? Nein, nur pro Inhaltstyp und Channel.

Warum lässt sich der Channel einer Einstellung nicht mehr ändern? Damit bereits erzeugte Dateien nicht verwaisen. Lege für einen anderen Channel eine neue Zeile an.

Kompatibilität

Funktioniert das Plugin headless? Ja, die Auslieferung ist unabhängig vom Frontend, solange /sitemap-index.xml an Sylius gelangt.

Gibt es eine Twig-Funktion für die robots.txt? Nein. Die Index-URL trägst du selbst ein.