Verhindere Duplicate Content: Dieses Plugin setzt automatisch Canonical-Tags bei Produktvarianten, um SEO-Probleme durch doppelte Inhalte zu vermeiden.
Produktvarianten in Shopware 6 haben standardmäßig eigene URLs, was zu Duplicate Content führen kann. Dieses Plugin löst das Problem, indem es Canonical-Tags setzt, die Suchmaschinen auf die Hauptprodukt-URL verweisen.
- ✅ Automatische Canonical-Tags für alle Produktvarianten
- ✅ Multi-Language Support mit intelligenter Vererbung
- ✅ Flexible Konfiguration pro Produkt und Sprache (Active/Inactive/Inherit)
- ✅ Custom URL Override für spezielle Fälle
- ✅ Debug-Logging per Plugin-Konfiguration ein/ausschaltbar
- ✅ Shopware 6.5, 6.6 und 6.7 kompatibel
composer require wsc/plugin-sw-canonical-url-variant
bin/console plugin:refresh
bin/console plugin:install --activate WSCPluginSWCanonicalURLVariant
bin/console cache:clear- Release herunterladen
- ZIP-Datei in
custom/plugins/entpacken - Im Shopware Admin aktivieren:
Einstellungen → System → Plugins - Cache leeren
Gehe im Shopware Admin zu einem Hauptprodukt (nicht Variante):
Produkte → [Produkt auswählen] → Custom Fields → P. SEO
Dort findest du das Dropdown-Feld "Canonical-Tag Verhalten" mit 3 Optionen:
- Verwendet die Einstellung der Standard-Sprache (z.B. Deutsch)
- Ideal für alle Sprachen, die das gleiche Verhalten haben sollen
- Standardwert wenn das Feld leer gelassen wird
Wann verwenden?
- In allen Nicht-Standard-Sprachen (z.B. Englisch, Französisch, Österreich)
- Wenn die Sprache das gleiche Verhalten wie Deutsch haben soll
- Alle Varianten dieses Produkts verweisen per Canonical-Tag auf das Hauptprodukt
- Empfohlen für die Standard-Sprache zur Vermeidung von Duplicate Content
Wann verwenden?
- Immer in der Standard-Sprache (z.B. Deutsch)
- In anderen Sprachen, wenn explizit überschrieben werden soll
- Varianten erhalten kein Canonical-Tag
- Nützlich wenn Varianten separat indexiert werden sollen
Wann verwenden?
- In spezifischen Sprachen wo Varianten einzeln indexiert werden sollen (z.B. Österreich-Markt)
Standard-Sprache (Deutsch): "Aktiv"
Englisch: "Von Standard-Sprache erben" (oder leer lassen)
Französisch: "Von Standard-Sprache erben" (oder leer lassen)
Österreich: "Von Standard-Sprache erben" (oder leer lassen)
→ Resultat: Canonical in ALLEN Sprachen aktiv ✓
Tipp: Du kannst "Von Standard-Sprache erben" auch einfach leer lassen - funktioniert genauso! Die explizite Auswahl macht es aber klarer für andere Team-Mitglieder.
Standard-Sprache (Deutsch): "Aktiv"
Englisch: "Von Standard-Sprache erben"
Österreich: "Inaktiv" ← Überschreibt die Vererbung!
Schweiz: "Von Standard-Sprache erben"
→ Resultat:
- Deutsch: Canonical aktiv ✓
- Englisch: Canonical aktiv (erbt von Deutsch) ✓
- Österreich: Kein Canonical ✓ (explizit deaktiviert)
- Schweiz: Canonical aktiv (erbt von Deutsch) ✓
❌ FALSCH:
Standard-Sprache (Deutsch): "Von Standard-Sprache erben"
Englisch: "Von Standard-Sprache erben"
→ Problem: Von wem soll Deutsch erben? Von sich selbst?
→ Resultat: Canonical NIRGENDS aktiv ✗
✅ RICHTIG:
Standard-Sprache (Deutsch): "Aktiv" oder "Inaktiv"
Englisch: "Von Standard-Sprache erben"
→ Englisch erbt die Einstellung von Deutsch ✓
Zusätzlich gibt es das Textfeld "eigene Haupt/Vater URL":
- Leer lassen → Verwendet automatisch die Hauptprodukt-URL
- URL eintragen → Überschreibt die Standard-Logik und verwendet diese URL
Beispiel: https://www.meinshop.de/spezielle-landingpage
Priorität: Custom URL hat höchste Priorität und überschreibt die Active/Inactive Einstellung!
Einstellungen → System → Plugins → WSCPluginSWCanonicalURLVariant → Konfiguration
- Debug-Logging aktivieren: ☐ Aus (Production) / ✓ An (Development)
- Logs werden geschrieben nach:
var/log/wsc_canonical_debug.log
Ansehen der Logs:
tail -f var/log/wsc_canonical_debug.logTipp: In Production ausschalten für bessere Performance!
- Shopware: 6.5.x, 6.6.x oder 6.7.x
- PHP: 8.1 oder höher
- Composer: 2.x (für Installation via Composer)
composer install
vendor/bin/phpunitvendor/bin/phpcs --standard=PSR12 src/
vendor/bin/phpstan analyse src/ --level=8- Prüfe die Einstellung am Hauptprodukt (nicht Variante!)
- Standard-Sprache auf "Aktiv" gesetzt? (nicht "erben"!)
- Aktiviere Debug-Logging in der Plugin-Konfiguration
- Cache leeren:
bin/console cache:clear - Logs prüfen:
tail -f var/log/wsc_canonical_debug.log
- Stelle sicher dass du "Inaktiv" gewählt hast (nicht "erben")
- Wenn "erben" aktiv ist, wird die Einstellung aus der Standard-Sprache übernommen
- Prüfe ob Debug-Logging in der Plugin-Konfiguration aktiviert ist
- Cache leeren:
bin/console cache:clear - Prüfe Schreibrechte:
ls -la var/log/
Dieses Plugin ist Open Source und steht unter der GPL-3.0-or-later Lizenz.
Made with ❤️ by WSC - Web SEO Consulting
Dieses Plugin ist kostenlos und Open Source. Wenn es dir geholfen hat, freue ich mich über deine Unterstützung:
© 2025 Christian Säum | WSC - Web SEO Consulting