Live Demo: Teste dieses und weitere Plugins live — ohne Installation, ohne Risiko: demo.markus-michalski.net
Es gibt keinen Cache: Jeder Aufruf von generate() liest die Daten neu und schreibt die Dateien neu.
| 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.
Schema://Host[:Port] der Domain des Sales Channels, passend zur Sprache des Kontexts, sonst die erste Domain.0755 an. Der Webserver-Benutzer muss in public/<Ausgabeverzeichnis> schreiben dürfen, sonst entstehen keine Dateien.--clear und die automatische Löschung entfernen nur Dateien nach dem Muster sitemap*.xml im Zielverzeichnis des jeweiligen Sales Channels.mmd.sitemap.generation und hat ein Standard-Intervall von 86.400 Sekunden.MmdSitemap.config.scheduledTaskInterval, setzt der ConfigChangeSubscriber das Intervall des Tasks auf den globalen Wert der Einstellung. Der Task ist insgesamt ein einzelner Eintrag, deshalb zählt nur der globale Wert.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.