Was am Anfang bei der Migration von SW5 auf SW6 nicht so richtig funktioniert hatte, geht jetzt wunderbar. Die SEO-URLs von Produkten aus SW5 wirklich 1:1 zu SW6 zu übernehmen. Das ist durchaus positiv zu bewerten.
Nun habe ich einen Fall, wo das allerdings nicht erwünscht ist. Im Gegenteil, die Produkte sollen alle die SEO-URLs gemäß den Einstellungen in SW6 bekommen. Aber wie geht man nun vor? Wie kann man die SEO-URLs alle sauber löschen um somit neue zu erstellen? Vielleicht habe ich ja etwas übersehen
wenn du wirklich alle URLs löschen willst, dann kannst du am einfachsten die Tabelle für die seo URLs leeren. Anschließend den indexer neu laufen lassen, damit einmal alle neu nach den Einstellungen generiert werden. Oder soll die Historie erhalten bleiben?
Du musst in der Tabelle „seo_url“ bei den übernommen URLs das Feld „is_modified“ auf 0 setzen. Dann generiert/verwendet er die URLs laut SEO-Template und behält die Historie aber bei.
is_canonical (falls es so heißt) ist die aktuelle verwendete URL und is_modified ist das Flag, dass eine Individualisierung vorliegt. is_modified wird vom Indexer nicht überschrieben (solange auch is_canonical gesetzt ist – Vermutung, nicht getestet).
Darauf achten, dass es pro Verkaufskanal jeweils mindestens eine URL gibt.
Nein, so ganz einfach ist es wohl nicht. Habe eine Test-Migration mit 2 Verkaufskanälen gemacht. Auch SEO-URLs von SW5 übernommen. Ja und dann halt versucht:
Versuch 1:
Setzte ich „is_modified“ auf 0 passiert gar nichts. Der Indexer verändert diesen Wert nicht. Die alte URL bleibt unverändert beim Produkt.
Versuch 2:
Setzt ich „is_canonical“ auf Null ist komplett Feierabend. Wird durch Indexer nicht mehr hergestellt und beim Produkt steht dann „Es sind noch keine SEO-URLs vorhanden.
Hauptkategorie“.
Erst wenn das Produkt in einen neuen Verkaufskanal geschoben wird, wird für den neuen Verkaufskanal eine neue URL angelegt. Die alten Verkaufskanäle bleiben jedoch ohne URL.
Mit reinen Shopware-Mitteln bekommt man das gar nicht umgestellt.
Man muss sich also selber ein Tool/Plugin bauen (daran sitze ich gerade), womit die neuen URLs im gewünschten Format erstellt und eingespielt werden - unter Berücksichtiging der Sprache und Verlaufskanal. Bei den neuen URLs muss dann „is_canonical“ und „is_modified“ auf „1“ gesetzt werden.
Die alten URLs bleiben für die Historie generell im System, aber „is_canonical“ muss auf NULL (nicht „0“) gesetzt werden.
Sprich,
Schritt 1 → bei den alten URLs „is_canonical“ auf NULL setzen
Schritt 2 → neue URLs mit oben genannten Parametern einspielen