Seo-URL für Produkt - Kategorie fehlt im Frontend

Hallo,

ich steige von Oxid auf Shopware um und möchte die SEO-URLs natürlich übernehmen.

Dazu habe ich im Backend in den Seo-Einstellungen die Template hinterlegt. Dort wird mir auch richtig

  • Kategorie/Unterkategorie/produkt.html

ausgegeben.

Auf der Produktseite im Backend wird mir im Seo-Bereich auch die „produkt.html“ mit der eingestellten Hauptkategorie angezeigt.

Im Frontend nun wird leider nur

ausgegeben.

Kann mir jemand sagen, wo der Haken für die fehlenden Kategorie-URLs ist?

PS:

  • Template sind angelegt
  • Seo-URLs für die Kategorien werden korrekt ausgegeben
  • Indizes wurden mehrmals über die Console erstellt

mfg

Gert

Irgendwann gehen fast alle diesen Weg … Herzlich Willkommen :slight_smile:

Dieses schon probiert:

Nachdem Du Änderungen am SEO-Template vorgenommen hast, ist es erforderlich, den Index neu aufzubauen, damit die URLs aktualisiert werden.
Dies ist über die Konsole mittels des Befehls

php bin/console dal:refresh:index

Hallo @tarkka.ch,

  • Indizes wurden mehrmals über die Console erstellt

mfg

Gert

Hallo @tarkka.ch,

ich habe nun etwas weiter getestet - bisher kein Erfolg.

Das Einzige, was mir aufgefallen ist, ich habe in der Console Fehlermeldungen:

WARNING   [php] Warning: strtr() expects parameter 1 to be string, array given ["exception" => ErrorException { …}]

Die kommen am laufenden Band beim produkt.indexer, am Schluss sagt er 544/544 …

Könnte der Fehler damit zusammen hängen, oder habe ich etwas vergessen?

Ich wünsche allen einen guten Rutsch ins Jahr 2023

Gert

Vielleicht postest Du mal die Zeile aus dem Admin.

Hallo @tarkka.ch,

Produktdetailseite:

{% for part in product.mainCategory.breadcrumb|slice(1)%}{{ part|lower }}/{% endfor %}{{ product.translated.name|lower }}.html

→ brandschutzprodukte/sicherheitsascher/stand-aschenbecher-fuer-stehende-befestigung.html

Kategorieseite:

{% for part in category.seoBreadcrumb %}{{ part }}/{% endfor %}
  • Brandschutzprodukte/

Wobei die URL für die Kategorieseite noch nicht o.k. zu sein scheint. Es wird nur in Kategorie und nicht in Kategorie/Unterkategorie umgeschrieben. Z.Zt. hab ich mir manuell geholfen…

mfg

Gert

Du scheinst nicht der Einzige mit diesem Problem zu sein.

Änderungen der SEO Url Templates funktionieren nicht - Shopware 6 (German) - Shopware Community Forum

Hallo @tarkka.ch,

es wird wohl noch ein Weilchen dauern, bis ich die Eigenheiten des Systems umschiffe…

Da ich hier nicht so richtig weiter komme, wollte ich im Zuge der Artikelbearbeitung auch die manuelle Seo-URL von Oxid eingeben. Allerdings war das ziemlich hakelig, weil Shopware die URLs nicht immer gespeichert hat. Das habe ich nicht gleich mitbekommen…

Nun habe ich gedacht - ändere die URLs doch gleich in der „seo_url“ Tabelle, da hast du nicht so viele Klicks…

Die Einträge sind aber nach einer Neuerstellung des Indexes wieder verschwunden…

mfg

Gert

1 „Gefällt mir“

Ich konnte das Problem für mich lösen. Siehe hier:

Kleiner Tipp, falls Du die URLs direkt in der seo_url Tabelle ändern willst:
Du musst für die geänderten URLs unbedingt das Feld is_modified = 1 setzen, dann ist es vorm Überschreiben geschützt.

Schien mir jedenfalls so …

Hallo @frimipiso,

ich denke mal, ich habe einen anderen Bug gefunden…

In einem anderen Beitrag habe ich gelesen, dass es, wie auch bei mir, Schwierigkeiten gibt, die manuelle Seo-URL zu speichern.

Beispiel:
Ich wollte im Backend die „xyz.html“ in „kat1/kat2/xyz.html“ speichern.
Bei der Kontrolle im Fontend steht dann statt der „xyz.html“ „detail/xxx“.

Also habe ich in der Tabelle „seo_url“ gesucht und herausgefunden, dass beide URLs auf „deleted“ gesetzt sind…

Das Vorgehen ist reproduzierbar. Vor dem Bearbeiten im Backend waren beide URLs nicht auf „deletet“ gesetzt und die xyz.html auf „is_modified“.

Es sieht so aus, als ob unter bestimmten Voraussetzungen auch nur die URL auf „deleted“ und keine neue URL angelegt wird???

Wenn ich so überlege, könnte dieses auch die Ursache für mein ursächliches Problem sein? Die URL wird zwar angelegt, ggf nur nicht "aktiviert???

mfg

Gert

Ich habe weiter getestet. Wenn ich im Backend die Seo-URL bearbeite, wird die vorhandene nur auf „deleted“ gesetzt und kein weiterer Eintrag erstellt.

Wenn ich den Vorgang wiederhole, wird ein Eintrag für die neue URL erstellt und beide sind nicht „deleted“.
Der neue Eintrag ist auf „is_modified“ gestellt.

mfg

Gert

Hallo Gert und herzlich willkommen,

Beim Umzug von einem System auf ein anderes sehe ich da nur einen sinnvollen Weg: Den über die .htaccess (für den Apache Webserver, in NGINX funktioniert das anders), denn es gibt ja nicht nur Produkt-URLs.

Hol Dir am besten alle existierenden URLs aus der Tabelle oxseo und baue Dir auf dieser Grundlage eine XLS auf, in der Du halb-manuell die alten URLs mit den neuen URLs matched. Daraus kannst Du Dir prima eine Vorlage bauen, um eine .htaccess damit zu füttern. Du weißt, wie das letztlich aussehen muss?

Ja, manuell tut am Anfang etwas weh, aber die Ergebnisse sind so, wie Du sie willst. Auch hat man einen guten „klärenden“ Effekt dabei :wink:

Hallo Marco,

es gibt keine „eierlegende Wollmilchsau“…

Alles hat Vor- und Nachteile.

Wenn die SEO-URL-Gestaltung so funktionieren würde, wie sie es sollte, hätte das eine Menge Arbeit gespart. Den Rest hätte G. erledigt.

Ich habe mich nun entschlossen, den Weg über die „seo_url“ zu wählen.

Die Fehler bleiben allerdings bestehen.

mfg

Gert