Canonical Url im Template anpassen

Hallo Zusammen,

da der Shop zwei deutsche Verkaufskanäle mit selben Artikeln benutzt, gibt es das Problem mit Duplicate Content.

Der selbe Artikel besitzt zwei verschiedene Canonical Urls. Dies wollte ich im Template anpassen, dass die Canonical Url immer auf den Hauptverkaufskanal geht. Hier der Code:

< link rel=„canonical“ href="{{ page.metaInformation.canonical|replace({(‚b2b‘) : (‚www‘)}) }}" / >

Das Problem ist, es funktioniert nicht. Der Twig Filter wird ignoriert. Nutzt man den Twig Filter |upper dann wird nur der Pfad großgeschrieben.

Hat jemand hierzu eine Lösung?

LG Christina

Hallo,

die replace-Parameter werden als json objekt übergeben, d.h. die Klammern müssen weg:

{"b2b" : "www"}

siehe Doku

Hallo,

ohne die Klammern hab ich auch schon versucht. Allerdings passiert da ebenfalls nichts :confused: .

Ich hab es jetzt auch mal mit den doppelten Anführungszeichen versucht, aber auch ohne Erfolg.
< link rel=„canonical“ href="{{ page.metaInformation.canonical|replace({„b2b“ : „www“}) }}" / >

Wenn man die Variable page.metaInformation.canonical im dump ausgibt, steht dort „Runtime added dynamic property“. Bei allen anderen Variablen, wo das replace problemlos funktioniert, steht „Protected property“.

Was hat es damit auf sich?

LG Christina

Hi Christina,

wir stehen vor der selben Fragestellung. Hast du inzwischen erfolgreich hinbekommen das Template so anzupassen, dass der selbe Artikel in Verkaufskanal B die canonical URL von Verkaufskanal A bekommt?
Und in welcher Datei findet die Anpassung statt, in der …/Resources/views/storefront/layout/meta.html.twig oder
…/Resources/views/storefront/page/product-detail/meta.html.twig?

Danke schonmal, falls das du (/jemand) das noch liest und sagen kann wie es gelöst wurde!!

lg
tom