Markus Michalski FAQ

XML Sitemap Generator: Technische Details

Technischer Aufbau des XML Sitemap Generators: Ablauf der Generierung, Services und URL-Provider, Scheduled Task, Config-Subscriber, Admin-Komponente, Standard-Intervall und Dateisystem-Verhalten.

English Version

Zurück zur Übersicht

XML Sitemap Generator: Technische Details

Live Demo: Teste dieses und weitere Plugins live — ohne Installation, ohne Risiko: demo.markus-michalski.net

Ablauf der Generierung

graph TD
    A["Admin-Button / Scheduled Task / Console Command"] --> B["SitemapGeneratorService.generate()"]
    B --> C{"clearExisting?"}
    C -->|"ja"| D["FileWriterService: sitemap*.xml löschen"]
    C -->|"nein"| E["aktive URL-Provider ermitteln"]
    D --> E
    E --> F["ProductUrlProvider"]
    E --> G["CategoryUrlProvider"]
    E --> H["CmsPageUrlProvider"]
    E --> I["ManufacturerUrlProvider"]
    F --> J["XmlWriterService: urlset je Datei"]
    G --> J
    H --> J
    I --> J
    J --> K["FileWriterService: sitemap-typ.xml schreiben"]
    K --> L["XmlWriterService: sitemapindex"]
    L --> M["FileWriterService: sitemap.xml schreiben"]

Es gibt keinen Cache: Jeder Aufruf von generate() liest die Daten neu und schreibt die Dateien neu.

Bausteine

Klasse Aufgabe
SitemapGeneratorService Orchestriert die Generierung, teilt nach Dateigrenze auf, schreibt den Index
AbstractUrlProvider und vier Provider Liefern die URLs je Typ als Generator, Standardwerte für Priorität und Änderungsfrequenz
HreflangService Liest alternative SEO-URLs aller Sprachen per SQL in einem Block
XmlWriterService Erzeugt urlset und sitemapindex als XML (DOM)
FileWriterService Schreibt, löscht und listet Dateien im Zielverzeichnis
ConfigService Liest die Plugin-Einstellungen (MmdSitemap.config.*) pro Sales Channel, bereinigt Verzeichnis und Slug
GenerateSitemapCommand Console Command mmd:sitemap:generate
SitemapGenerationTask und SitemapGenerationTaskHandler Scheduled Task mmd.sitemap.generation
ConfigChangeSubscriber Überträgt ein geändertes Intervall auf den Scheduled Task
SitemapController Admin-API-Routen für Generierung und Statistik
MmdSitemap Plugin-Klasse, räumt beim Deinstallieren Task und Einstellungen auf

Die Provider sind im Service-Container mit dem Tag mmd.sitemap.url_provider markiert und werden in der Reihenfolge Produkte (100), Kategorien (90), CMS-Seiten (80), Hersteller (70) abgearbeitet. Ein eigener Provider lässt sich daher nur über den Container einhängen, es gibt keinen dokumentierten Erweiterungspunkt.

Verarbeitung

Scheduled Task und Intervall

Admin-Oberfläche

Die Vue-Komponente mmd-sitemap-generator ist als Karte Manuelle Generierung in die Plugin-Konfiguration eingebunden. Sie liest den Sales Channel aus der übergeordneten Konfigurationsseite, ruft die Admin-API auf und zeigt Statistik sowie Ergebnis an. Texte stammen aus den Snippets in Deutsch und Englisch.