XML Sitemap

Modulbeschreibung

Eine XML-Sitemap ist eine Liste von allen URLs auf einer Website. Suchmaschinen verwenden Sitemaps als eine Art Wegweiser, um die Gesamtstruktur und den Aufbau einer Webseite besser zu verstehen. Wir empfehlen jedem Shop-Betreiber, eine Sitemap zu erstellen

Systemvoraussetzungen

PHP-Version OXID 4 & 5

  • PHP 5.6

PHP-Version OXID 6

  • PHP 7.0 (OXID 6.0.x)

  • PHP 7.1 (OXID 6.1.x)

  • PHP 7.2 - 7.4 (OXID 6.2.x - 6.3.x)

  • PHP 8.0 (OXID 6.3.x - 6.4.x)

Webserver-Konfiguration

  • IonCube Loader (mind. v5.0)

Kompatibel mit den Themes

  • Flow

  • Wave

  • RoxIVE

Kompatibel mit den OXID Versionen

  • OXID CE/PE 4.9.x bis 4.10.x

  • OXID EE 5.2.x bis 5.3.x

  • OXID CE/PE/EE 6.0 bis 6.4.x

Installation

Ab OXID 6

  1. Falls noch nicht geschehen, laden Sie bitte zunächst das digidesk Basis-Modul herunter und installieren Sie es gemäß der enthaltenen Installationsanleitung.

    Sie erhalten dieses unter: https://www.digidesk.de/produkte/basis-modul/

  2. Für dieses Modul erstellen Sie nun einen weiteren Unterordner "sitemap" im Ordner "packages/digidesk", in den die heruntergeladene Zip-Datei entpackt wird.

  3. Führen Sie anschließend folgende Befehle aus dem Hauptverzeichnis des Shopsystems aus:

    composer require digidesk/sitemap

  4. Nun kann das Modul im OXID eShop Admin aktiviert werden

  5. Ggf. Tmp-Verzeichnis leeren und Views generieren

  6. Bitte fahren Sie nun mit der Einrichtung des Moduls fort

Bis OXID 4.10.x/5.3.x

  1. Falls noch nicht geschehen, laden Sie bitte zunächst das digidesk Basis-Modul herunter und installieren Sie es gemäß der enthaltenen Installationsanleitung. Sie erhalten dieses unter: https://www.digidesk.de/produkte/basis-modul

  2. Fügen Sie den Inhalt des Ordnerverzeichnisses des Moduls "modules/digidesk/" via FTP/SFTP unter dem gleichnamigen Pfad in Ihren Shop ein

  3. Aktivieren Sie das Modul im OXID eShop Admin

  4. Ggf. Tmp-Verzeichnis leeren und Views neu generieren

  5. Bitte fahren Sie nun mit der Einrichtung des Moduls fort

Update

Ab OXID 6

  1. Entpacken Sie die neue Modulversion in den Ordner "packages/digidesk/sitemap".

  2. Deaktivieren Sie das Modul im OXID eShop Admin.

  3. Führen Sie anschließend folgenden Befehl aus dem Hauptverzeichnis des Shopsystems aus:

    composer update digidesk/sitemap

    Die Frage, ob Dateien des Pakets überschrieben werden sollen, bestätigen Sie bitte mit "Y".

  4. Aktivieren Sie das Modul im OXID eShop Admin.

  5. Ggf. Tmp-Verzeichnis leeren und Views neu generieren.

Bis OXID 4.10.x/5.3.x

  1. Bitte aktualisieren Sie das Basis-Modul gemäß der darin enthaltenen Installationsanleitung.

  2. Deaktivieren Sie dieses Modul im OXID eShop Admin.

  3. Fügen Sie den Inhalt des Ordners "modules/digidesk/" via FTP/SFTP unter dem gleichnamigen Pfad in Ihren Shop ein und überschreiben Sie dabei die vorhandenen Dateien des Moduls.

  4. Aktivieren Sie dieses Modul im OXID eShop Admin.

  5. Ggf. Tmp-Verzeichnis leeren und Views neu generieren.

Funktionsbeschreibung

Mit dem Modul XML Sitemap können Sie alle Artikel und Kategorien in Ihrem OXID eShop exportieren und daraus eine XML Sitemap erstellen. Der Export kann per URL-Aufruf manuell oder per Cronjob angestoßen werden. Wir empfehlen die Einrichtung eines Cronjobs, denn somit bleibt die XML Sitemap immer aktuell und Sie müssen sich nicht mehr darum kümmern.

Dies sind die Moduleinstellungen:

Die Dateinamen, welche in den Moduleinstellungen einstellbar sind, werden um ein Sprachkürzel erweitert, z.B.: google_sitemap_de.xml oder google_sitemap_1_de.xml - je nach Shop Edition. Dies hat den Vorteil, dass wenn man einen mehrsprachigen Shop hat, die Dateien der verschiedenen Sprachen sich nicht überschreiben.

Manueller Export

Der manuelle Export per URL würde zum Beispiel so aussehen:

https://www.ihre-shop-url.de/index.php?cl=ddsitemap&key=IHR_CRONKEY

Zusätzlich zum Parameter key gibt es auch noch den Parameter lang um die zu exportierende Sprache anzugeben.

Beim Parameter lang muss die Sprach-ID, welche für die jeweilige Sprache definiert wurde, angegeben werden. Wird der Parameter lang nicht angegeben, werden die Sitemaps für alle Sprachen des jeweiligen Shops nacheinander exportiert. (Bei der Modulversion <= 3.3.1: Dabei werden alle für den jeweiligen Shop definierten Sprachen exportiert, unabhängig davon ob sie aktiv sind oder nicht.)

Ein Manueller Export für die Sprache mit der Sprach-ID 1 würde z.B. so aussehen:

https://www.ihre-shop-url.de/index.php?cl=ddsitemap&key=IHR_CRONKEY&lang=1

Bitte beachten Sie: In den oben stehenden Links muss IHR_CRONKEY durch den Cronjob-Schlüssel ersetzt werden. Ab Modul-Version 3.2.0 wird dieser Schlüssel in den Moduleinstellungen des Basis Moduls definiert. Bis einschließlich Modul-Version 3.1.7 wird dieser Schlüssel in den Grundeinstellungen des Sitemap Moduls definiert.

Der manuelle Export kann alternativ aus dem Stamm des Moduls im Admin-Backend durch einen Klick auf den jeweiligen Link gestartet werden. Der korrekte Cronjob-Schlüssel wird dabei automatisch geladen, der Parameter lang wird dabei allerdings nicht verwendet:

Die exportierten Dateien werden standardmäßig im export Ordner gespeichert:

Automatischer Export per Cronjob

Für den automatischen Export der Sitemap enthält das XML Sitemap Modul einen Cronjob, um in regelmäßigen Abständen automatisch die Sitemap-Dateien zu aktualisieren.

Ab Modul Version 3.2.0

Um den Cronjob auszuführen muss folgender Befehl aus dem Hauptverzeichnis Ihres Shops ausgeführt werden:

php source/modules/digidesk/dd_sitemap/bin/cron.php --key=IHR_CRONKEY

Ersetzen Sie dabei IHR_CRONKEY durch den Key den Sie in den Modul-Einstellungen des Basis-Moduls definiert haben. Achten Sie dabei darauf, dass die auf der Kommandozeile verwendete PHP-Version der Version entspricht die in Ihrem Shop verwendet wird.

Zusätzlich zum Parameter --key gibt es auch noch die Parameter --shop und --lang um den zu exportierenden Shop und/oder die Sprache anzugeben.

Beim Parameter --shop muss die Shop-ID (numerisch) angegeben werden. Diese finden Sie im Admin Backend unter Stammdaten -> Grundeinstellungen hinter dem Shop-Namen in Klammern. Wird der Parameter --shop nicht angegeben, wird immer für den Hauptshop (ID: 1) exportiert.

Beim Parameter --lang muss die Sprach-ID, welche für die jeweilige Sprache definiert wurde, angegeben werden. Wird der Parameter --lang nicht angegeben, werden die Sitemaps für alle Sprachen des jeweiligen Shops nacheinander exportiert. (Bei der Modulversion <= 3.3.1: Dabei werden alle für den jeweiligen Shop definierten Sprachen exportiert, unabhängig davon ob sie aktiv sind oder nicht.)

Beispiel CLI-Aufruf um die Englische Sitemap des Shops mit der ID 2 zu exportieren:

php source/modules/digidesk/dd_sitemap/bin/cron.php --key=IHR_CRONKEY --shop=2 --lang=1

Ersetzen Sie dabei wieder IHR_CRONKEY durch den Key den Sie in den Modul-Einstellungen des Basis-Moduls definiert haben.

Hinweis: In den OXID Editionen Community und Professional kann der Parameter --shop grundsätzlich weggelassen werden, da dort nur ein Shop existiert. Der Parameter ist ausschließlich für die Enterprise Edition gedacht.

Um diesen Cronjob automatisiert auszuführen empfehlen wir bei Linux Systemen "crontab". Für crontab sieht der Eintrag z.B. folgendermaßen aus:

0 0 * * * php <shop-root-path>/source/modules/digidesk/dd_sitemap/bin/cron.php --key=IHR_CRONKEY

Bitte beachten Sie: Im oben stehenden Crontab Eintrag muss <shop-root-path> durch den absoluten Pfad zum Hauptverzeichnis Ihres Shops ersetzt werden!

Dies startet das Cronjob Script einmal täglich um Mitternacht, wobei das Script alle Kategorien und Artikel, ausschließlich der definierten Ausschlüsse, exportiert und wie der manuelle Export im Pfad <shop-root-path>/export/ auf dem Dateisystem des Servers ablegt.

Hinweis:

Um eine parallele Ausführung des Cronjobs zu verhindern, überprüft das Skript zu Anfang auf die Existenz einer Log-Datei namens dd_sitemap_RUN.log in dem Log-Ordner vom Shop. Falls hier schon die Datei existiert, dann wird der Cronjob nicht fortgesetzt und frühzeitig beendet. Ansonsten wird diese Datei angelegt und im Abschluss des Cronjobs wieder entfernt.

Sollte es dazu kommen, dass der Cronjob aus irgendeinem Grund irregulär abgebrochen wird, dann wird diese Datei nicht automatisch gelöscht. Für einen Neustart des Cronjobs muss dann diese Datei manuell gelöscht werden!

In dem Cronjob ist eine Benachrichtigungsfunktion eingebaut, wenn bei dem Start des Cronjobs noch die Datei vorliegt und die Datei vor einer Stunde angelegt worden ist, dass dann der Shopbetreiber eine Info darüber per E-Mail an die im Shop hinterlegte Info-Adresse bekommt.

Bis einschließlich Modul Version 3.1.7

Um den Cronjob auszuführen muss folgende URL aufgerufen werden:

https://www.ihre-shop-url.de/index.php?cl=ddsitemap&key=IHR_CRONKEY

Bitte beachten Sie: Im oben stehenden Link muss IHR_CRONKEY durch den in den Grundeinstellungen definierten Cronjob Schlüssel ersetzt werden, damit der Cronjob ausgeführt wird.

Um diesen Cronjob automatisiert auszuführen empfehlen wir bei Linux Systemen "crontab". Für crontab sieht der Eintrag z.B. folgendermaßen aus:

0 0 * * * https://www.ihre-shop-url.de/index.php?cl=ddsitemap&key=IHR_CRONKEY

Dies startet das Cronjob Script einmal täglich um Mitternacht, wobei das Script alle Kategorien und Artikel, ausschließlich der definierten Ausschlüsse, exportiert und wie der manuelle Export im Pfad <shop-root-path>/export/ auf dem Dateisystem des Servers ablegt.

Ein hilfreiches Tool für die einfache Erstellung von crontab Einträgen nach Ihren Wünschen ist "crontab.guru".

Hilfe & Support

Haben Sie Fragen oder benötigen Sie Hilfe bei der Installation? Gerne bieten wir Ihnen auch einen Installationsservice an. Kontaktieren Sie uns einfach!

  • E-Mail: support@digidesk.de

  • Telefon: +49 (0) 5246 / 9099110

  • Kontaktformular: http://www.digidesk.de/kontakt

Last updated