Plugin-Dokumentation · JTL-Shop 5
Canonical- und Hreflang-Manager — Konfiguration & Bedienung
Alle Einstellungen im Detail sowie Hinweise zu Duplicate-Tag-Vermeidung und Hreflang-Reziprozität.
Einstellungen
Zu finden unter Plugins → Canonical- und Hreflang-Manager → Einstellungen:
| Einstellung | Standard | Wirkung |
|---|---|---|
| Plugin aktivieren | Aktiviert | Schaltet Canonical-, Robots- und Hreflang-Logik im Frontend ein oder aus. |
| Canonical für Paginierung | Auf Seite 1 setzen | Bei paginierten Seiten (z. B. ?seite=2) wird der Canonical-Tag optional auf Seite 1 gesetzt, statt deaktiviert zu werden. |
| Filter-Seiten noindex | Ja | Setzt „noindex“ für Facetten-/Filter-URLs, damit diese nicht in den Suchergebnissen erscheinen. |
| Suchergebnis-Seiten noindex | Ja | Setzt „noindex“ für interne Suchergebnisseiten. |
| Hreflang-Domains | leer | Liste im Format sprache=https://domain, kommagetrennt (z. B. de=https://example.de,en=https://example.com). Die erste Sprache der Liste wird als x-default verwendet. |
Funktionsumfang
- Selbstreferenzierender Canonical auf normalen, indexierbaren Seiten (Kategorien, Artikel, Content-Seiten).
- Canonical bei Paginierung — je nach Einstellung auf Seite 1 gefaltet oder deaktiviert.
- Noindex für Filter- und Suchergebnisseiten, sofern aktiviert.
- Hreflang-Alternates inklusive x-default für mehrsprachige oder Mehrdomain-Shops.
Auf Warenkorb-, Checkout-, Konto-, Login-, Registrierungs-, Wunschzettel- und Vergleichslisten-Seiten fasst das Plugin nichts an.
Genau ein Tag — keine Duplikate
Das NOVA-Template setzt selbst einen Canonical- und teils einen Robots-Meta-Tag. Das Plugin entfernt das bereits vorhandene Tag im <head>, bevor es seinen eigenen Wert einfügt. Am Ende existiert also immer genau ein Canonical- bzw. Robots-Tag pro Seite — es entstehen keine Duplikate. Eine eventuelle Spezial-Logik, die NOVA für bestimmte Seitentypen im Canonical hätte, wird dadurch für diese Seitentypen durch die Logik des Plugins ersetzt. Wird $args['document'] (phpQuery) nicht bereitgestellt, greift das Plugin bewusst gar nicht ein, statt über eine fragile String-Ersetzung ein zweites Tag neben dem von NOVA einzufügen.
Hreflang-Domains einrichten
- Tragen Sie unter Hreflang-Domains pro Sprache ein Paar
sprache=domainein, mehrere Paare durch Komma getrennt, z. B.de=https://example.de,en=https://example.com. - Fehlt bei einer Domain das Schema (z. B.
example.destatthttps://example.de), wirdhttps://automatisch ergänzt, da Hreflang zwingend vollqualifizierte, absolute URLs verlangt. - Die erste Sprache in der Liste wird als
x-defaultverwendet.
Reziprozität liegt in Ihrer Verantwortung: Das Plugin läuft pro Shop-Installation und kennt nur seine eigene Konfiguration. Damit Google die hreflang-Paare akzeptiert, müssen sie reziprok sein — Domain A muss auf Domain B verweisen und Domain B im Gegenzug auf Domain A. Tragen Sie deshalb in jeder beteiligten Shop-Instanz exakt dieselbe Liste ein: gleiche Sprachen, gleiche Domains, gleiche Reihenfolge. Das Plugin kann die Gegenseite nicht prüfen.
Bekannte Grenzen
- Keine Prüfung, ob die konfigurierten Ziel-Domains tatsächlich existieren oder erreichbar sind.
- Keine automatische Synchronisation der Hreflang-Liste zwischen mehreren Shop-Installationen — die identische Pflege in jeder Instanz liegt beim Händler.
Häufige Fragen
Kann es zu doppelten Canonical-Tags kommen?
Nein, das Plugin entfernt ein bereits vorhandenes Tag, bevor es sein eigenes einfügt.
Reicht es, die Hreflang-Domains nur in einem Shop einzutragen?
Nein. Für reziproke Hreflang-Paare muss dieselbe Liste in jeder beteiligten Shop-Instanz identisch hinterlegt sein.
Was passiert, wenn phpQuery nicht verfügbar ist?
Das Plugin greift dann bewusst nicht ein, statt über eine unsichere String-Ersetzung ein zusätzliches Tag einzufügen.
Support
webpowers UG (haftungsbeschränkt) · Hillenbrandstr. 9, 86156 Augsburg · E-Mail: max@webpowers.org
