WS-hreflang-Verlinkungen (DE)

Allgemeines

Wenn Sie mehrere Subshops betreiben, dann ist eine hreflang-Angabe für Google hilfreich, um z. B. Duplicate Content zu vermeiden.

Beispiel:
Sie haben 4 Subshops:

  • einen deutschen Subshop (SubshopId „de“)

  • einen deutschen, mobilen Subshop (SubshopId „m-de“)

  • einen österreichischen Subshop (SubshopId „at“)

  • einen österreichischen, mobilen Subshop (SubshopId „m-at“)

In allen 4 Subshops werden identische Produkte und Kategorien angeboten.

WEBSALE bietet für Produkt- und Kategorieseiten eine automatische hreflang-Zuordnung an.

Die automatische Zuordnung erfolgt für Produktseiten über den gleichen Produktindex in den Subshops.

Die automatische Zuordnung erfolgt für Kategorieseiten standardmäßig über den gleichen Kategorieindex in den Subshops.

Einige ERP-Systeme verwalten jedoch die Kategorien/Produkte in unterschiedlichen Subshops mit unterschiedlichen Kategorieindexen/Produktindexen, obwohl es sich um die gleichen Kategorien/Produkte handelt. In diesem Fall müssen Sie dem Shop eine Zuordnungsliste übergeben, welche Kategorien/Produkte gleich sind. In dieser Dokumentation wird der Aufbau und der Import dieser Zuordnungsliste beschrieben.

Format der Zuordnungsliste

Die Zuordnungsliste kann entweder in einer JSON-Datei oder in einer CSV-Datei (Tab-getrennt), jeweils im UTF-8-Format, übergeben werden.

Aufbau der JSON-Datei für Kategorien

Als Beispiel dienen unsere 4 Subshops

  • de

  • m-de

  • at

  • m-at

In allen 4 Subshops werden die gleichen Kategorien verwaltet, jedoch mit unterschiedlichen Kategorieindexen. Als Beispiel werden 3 Kategorien „Hemden“, „Hosen“ und „Schuhe“ im Shop angeboten:

Subshop

Kategorie-Name

Kategorie-Index

Subshop

Kategorie-Name

Kategorie-Index

de

Hemden

111-1

m-de

Hemden

111-2

at

Hemden

111-3

m-at

Hemden

111-4

de

Hosen

222-1

m-de

Hosen

222-2

at

Hosen

222-3

m-at

Hosen

222-4

de

Schuhe

333-1

m-de

Schuhe

333-2

at

Schuhe

333-3

m-at

Schuhe

333-4

Aufbau der JSON-Datei:

{ "cat": [ { "MasterID": "M1", "maps": [ { "subshop": "de", "index": "111-1" }, { "subshop": "m-de", "index": "111-2" }, { "subshop": "at", "index": "111-3" }, { "subshop": "m-at", "index": "111-4" } ] }, { "MasterID": "M2", "maps": [ { "subshop": "de", "index": "222-1" }, { "subshop": "m-de", "index": "222-2" }, { "subshop": "at", "index": "222-3" }, { "subshop": "m-at", "index": "222-4" } ] }, { "MasterID": "M3", "maps": [ { "subshop": "de", "index": "333-1" }, { "subshop": "m-de", "index": "333-2" }, { "subshop": "at", "index": "333-3" }, { "subshop": "m-at", "index": "333-4" } ] } ] }

Die MasterID muss eine eindeutige, alphanumerische ID für jedes „maps“-Arrayelement sein. Innerhalb eines „maps“-Arrayelements erfolgt die Zuordnung von gleichen Kategorien in den Subshops.

Der Name der Datei ist im Shop konfigurierbar. Die Endung ist jedoch zwingend „.json“. Als Standardname empfehlen wir „catalloc_complete_g1.json“. Aktuell ist nur ein Komplettimport möglich.

Auf den Shop-Kategorieseiten werden dann folgende hreflang-Verlinkungen ausgegeben:

Subshop

Kategorie-Name

Beispiel-Link zur Kategorie

Subshop

Kategorie-Name

Beispiel-Link zur Kategorie

de

Hemden

https://www.xyz.de/Hemden

m-de

Hemden

https://m.xyz.de/Hemden

at

Hemden

https://www.xyz.at/Hemden

m-at

Hemden

https://m.xyz.at/Hemden

de

Hosen

https://www.xyz.de/Hosen

m-de

Hosen

https://m.xyz.de/Hosen

at

Hosen

https://www.xyz.at/Hosen

m-at

Hosen

https://m.xyz.at/Hosen

de

Schuhe

https://www.xyz.de/Schuhe

m-de

Schuhe

https://m.xyz.de/Schuhe

at

Schuhe

https://www.xyz.at/Schuhe

m-at

Schuhe

https://m.xyz.at/Schuhe

Subshop: de
Kategorie: Hemden

<link rel="alternate" hreflang="de-DE" href="https://m.xyz.de/Hemden" /> <link rel="alternate" hreflang="de-AT" href="https://www.xyz.at/Hemden" /> <link rel="alternate" hreflang="de-AT" href="https://m.xyz.at/Hemden" />

Subshop: m-de
Kategorie: Hemden

<link rel="alternate" hreflang="de-DE" href="https://www.xyz.de/Hemden" /> <link rel="alternate" hreflang="de-AT" href="https://www.xyz.at/Hemden" /> <link rel="alternate" hreflang="de-AT" href="https://m.xyz.at/Hemden" />

Subshop: at
Kategorie: Hemden

Subshop: m-at
Kategorie: Hemden

Subshop: de
Kategorie: Hosen

usw.

Weitere Import-Dateien

Im obigen Beispiel haben wir 4 deutschsprachige Subshops in der Datei „catalloc_complete_g1.json“ gruppiert. Für jede weitere Subshop-Gruppe muss eine weitere Datei erzeugt und in den Shop importiert werden.

Beispiel:

Neben den 4 deutschsprachigen Subshops haben Sie noch 2 englische Subshops, die ebenfalls in einer weiteren Gruppe zusammengefasst werden sollen.

Subshop

Kategorie-Name

Kategorie-Index

Subshop

Kategorie-Name

Kategorie-Index

gb

Shirts

444-1

m-gb

Shirts

444-2

gb

Pants

555-1

m-gb

Pants

555-2

gb

Shoes

666-1

m-gb

Shoes

666-2

Aufbau der JSON-Datei:

Der Name dieser Datei lautet dann „catalloc_complete_g2.json“.

Bitte beachten Sie:
Die MasterIDs der 2. Datei müssen sich von der 1. Datei bzw. von allen anderen Dateien unterscheiden.

Aufbau der CSV-Datei für Kategorien

Entsprechend unseren obigen Beispielen haben die CSV-Dateien dann folgenden Inhalt:

Datei „catalloc_complete_g1.csv“:

MasterID
M1
M1
M1
M1
M2
M2
M2
M2
M3
M3
M3
M3

SubShop
de
m-de
at
m-at
de
m-de
at
m-at
de
m-de
at
m-at

CatIndex
111-1
111-2
111-3
111-4
222-1
222-2
222-3
222-4
333-1
333-2
333-3
333-4

Datei „catalloc_complete_g2.csv“:

MasterID
M4
M4
M5
M5
M6
M6

SubShop
gb
m-gb
gb
m-gb
gb
m-gb

CatIndex
444-1
444-2
555-1
555-2
666-1
666-2

Die erste Zeile enthält die Spaltenheader. Ab der 2. Zeile folgen die Daten. Die Spalten sind Tab-getrennt.

Aufbau der JSON-Datei für Produkte

Analog zur Zuordnungsliste für Kategorien (siehe oben) erfolgt die Zuordnung für Produkte. Einziger Unterschied ist das erste Element des JSON-Objekts “prod“ statt “cat“.

Beispiel:

In 2 Subshops (de und at) werden 2 identische Produkte mit unterschiedlichen Produktindexen angeboten:

Aufbau der CSV-Datei für Produkte

Analog zur Zuordnungsliste für Kategorien (siehe oben) erfolgt die Zuordnung für Produkte. Einziger Unterschied ist der Spaltenheader “ProdIndex“ statt “CatIndex“:

MasterID
P001
P001
P002
P002

SubShop
de
at
de
at

ProdIndex
1234
4321
5678
8765

Prüfsummendatei

Zu jeder JSON- oder CSV-Datei muss eine Prüfsummendatei erstellt und übertragen werden. Bilden Sie vom kompletten Inhalt der JSON/CSV-Datei einen SHA512-Hashwert und schreiben Sie diesen in die erste Zeile der Prüfsummendatei.

Die Endung der Prüfsummendatei lautet „.sha512sum“.

Beispiel:

Sie haben 2 JSON-Dateien

  • catalloc_complete_g1.json

  • catalloc_complete_g2.json

dann lauten die Prüfsummendateien

  • catalloc_complete_g1.sha512sum

  • catalloc_complete_g2.sha512sum

Import der Dateien

Die JSON/CSV- und Prüfsummendateien werden per SFTP übertragen. Sie erhalten hierzu einen SFTP-Zugang von der WEBSALE AG. Speichern Sie die Dateien direkt in Ihrem Root-Verzeichnis. Der Import erfolgt einmal täglich (nachts) per Cron-Job.

Alternativ kann der Import auch per REST-API getriggert werden. Dann können die Dateien auch mehrmals täglich übertragen und importiert werden. Wie Sie den “hrefCollector” per REST starten können, erfahren Sie in der REST-Schnittstelle für OSB-Dienste:

REST hreflang-Erzeugung