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 |
---|---|---|
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 |
---|---|---|
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 |
---|---|---|
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: