kann mir jemand erklären, wie das mit den Canononical-URLs bzw. SEO-freundlichen URLs funktioniert? Ich stehe vor folgendem Problem:
Bei manchen Artikel in meinem Shop werden die URLs wie gewünscht erzeugt, bei anderen Artikel wiederum nicht und ich kann hierbei kein Muster erkennen. Bearbeite ich einen Artikel ohne Canonical URL heißt es im Abschnitt Canonical URL “Es sind noch keine Canonical Urls vorhanden.”. Darunter ist das Drop-Down um die Hauptkategorie auszuwählen, welches aber ausgegraut ist und nicht editierbar ist. Andere Möglichkeiten habe ich nicht.
Bei den Artikel mit vorhandener Canonical URL ist das Feld hier auswählbar. Ich habe wie gesagt keine Ahnung, was diese Artikel voneinander unterscheidet, in der Dokumentation habe ich leider auch keine Hinweise finden können.
Nein, eigentlich nicht. Ich habe an den Canonical URLs zwar nichts geändert, aber es gibt halt immer identische Fälle.
Bier A wird als Einzelflasche und als 4er-Träger angeboten. Alle Versionen haben eine Canonical URL.
Bier B wird ebenfalls als Einzelflasche und als 4er-Träger angeboten. Hier ist keine Canonical möglich. Die Artikel sind wirklich identisch und die Varianten werden gleich erzeugt.
Hast du was bei Einstellungen -> SEO geändert, wenn ja was.
[…]
Und nein, ich habe keine Änderungen im Bereich SEO vorgenommen.
[…]
{% for part in product.categories %}/{{ product.translated.name }}/{% endfor %}
hast du ja doch, wie soll man dir da vernünftig helfen können
SO wird das nichts.
Du musst bei der Produktdetailseite dem Produkt einen eindeutigen Identifier liefern, andernfalls kollabiert das System in der von dir beschriebenen Art und Weise.
Also füge dem Produktnamen noch die Artikelnummer hinzu ( {{ product.productNumber }} ) und dann klappt es.
Und lass den Slash am Ende weg. Der wird nur für Verzeichnisse verwendet, nicht für (in dem Fall) ein Produkt.
Ob das mit dem for endfor klappt, kann ich diur aus dem Stegreif nicht sagen. Im Zweifelsfall (erstmal) weglassen und
eine Variante wählen, die definitiv funktioniert:
{{ product.translated.name }}/{{ product.productNumber }}
Und denk dran auf der Console den (seo) Index aufzufrischen, denn sonst werden die Änderungen uU vorerst nicht aktiv, bzw. sichtbar:
php bin/console dal:refresh:index
Die Canonicals im Produkt sind auch nur dazu da, die generierte URL zu überschreiben. Also Shopware generiert aus dem Template automatisch eine URL, wenn man die allerdings ändern will, kann man das dann im Produkt. Im Produkt wird es halt nur angezeigt, wenn die URL auch automatisch generiert werden konnte.