Migration SW5 zu SW6 - Struktur SEO-URLs übernehmen

Hallo zusammen,
ich würde gerne meine SEO-URLs aus SW5 in SW6 migrieren und übernehmen.
Bei Kategorien und Landingpages kann ich das ohne weiteres realisieren aber bei den Artikel/Produkten gibt es ein Problem:
In SW5 habe ich für die Artikel folgendes SEO-Template hinterlegt:
{$sArticle.id}/{$sArticle.name}
Ergebnis ist dann z.B.:
https:/www.meinShop/1234/meinArtikel

Leider wurde in SW6 die Article.id aus der DB nicht 1:1 übernommen - in SW6 ist die product.id als HEX-Zahl gespeichert. Würde ich das SEO-Template entsprechend in SW6 verwenden, kommt natürlich die HEX-Zahl anstelle der SW5-Article.id:
{{ product.id }}/{{ product.translated.name }}
Ergebnis:
https://www.meinShop/f5315638c6c24e8bb01a1b603e7c06dd/meinArtikel

Hat jemand eine Lösung dafür, wie man die „alte“ Article.id migrieren und abrufen kann?
Das Problem dürfte relativ viele Shops betreffen, da Shopware in den Docus damals selbst dieses Template im SW5-Standard vorgeschlagen hatte (wenn mich nicht alles täuscht), um eindeutige Artikel-URLS zu erzeugen.

Vielen Dank für Eure Antworten im Voraus.

Speicher deine URLs in SW5 in ein Freitextfeld.
Durch die Migration wird das FTF übernommen.
Gebe im SW6 SEo Template an, dass er die URL aus dem CustomField erstellen soll, wenn etwas darin vorhanden ist, ansonsten neues Template.

Muss es die alte ID sein?

Vielleicht könnte man auch das „autoincrement“ Feld benutzen? Das Feld ist eine Zahl und entspricht der Anzahl/Position in der Tabelle. Wird also ein neuer Artikel erstellt, erhöht sich das autoincrement Feld entsprechend.

Ich weiß aber nicht, was mit dem Feld passiert, wenn ein Artikel gelöscht wird. Es kann sein, dass dann alle Einträge ggf. aktualisiert werden. Das müsste man testen.

Vielen Dank für Eure Hinweise!

Das Feld „autoincrement“ hatte ich auch schon auf dem Schirm. Dieses Feld ist aber leider nicht mit der „alten“ Article.id verbunden, sondern wird tatsächlich von SW6 durchgezählt. Das könnte klappen, wenn man keine Varianten in SW5 verwendet hat - die „alte“ article.id wurde in SW5 ja auch inkrementiert… Dann darf aber auch nichts zwischendurch im Artikelstamm bei SW5 gelöscht worden sein, sonst stimmt die Reihe dann wieder nicht überein.

Deswegen kann ich das Feld „autoincrement“ leider bei meinen URLs nicht als Ersatz für die article.id verwenden. Sie würden aufgrund der unterschiedlichen Werte dann in google wieder als neue URL indiziert und das alte Ranking ist futsch.

Die Idee mit dem Freitextfeld ist da evtl. besser. Allerdings müsste ich ja dann nochmal an die SW5-Datenbank ran. Wir haben ca. 240.000 Artikel (inkl. Varianten), ich bin froh, dass das Ding läuft :wink:

Kann man denn die „alte“ article.id als Wert oder als Feld nach SW6 mit dem Migrations-Tool migrieren? Dann könnte ich im SEO-Template da ja auch darauf zugreifen.

Ich habe mich sowieso schon gefragt, warum ausgerechnet die article.id aus der SW5-DB nicht im Migrations-Lauf automatisch mitgenommen wird. Oder versteckt sich das Feld irgendwo anders in der SW6-DB?

1 „Gefällt mir“

Hallo @raschu
Ich stehe vor dem selben Problem. Wie hats Du es gelöst?
Gibt es einen Weg die article.id zu migrieren?

Danke

Leider habe ich das Problem noch nicht gelöst. Da die Migration an sooo vielen Stellen hakt, werden wir wahrscheinlich gar nicht zu SW6 wechseln/migrieren, sondern gleich auf ein anderes Shopsystem wechseln. Bin auch von der Forum-Unterstützung hier bei SW6 etwas enttäuscht. Überhaupt kein Vergleich zum guten alten SW5-Forum und der Hilfsbereitschaft dort.

@raschu Ja das verstehe ich gut.
@eierund das muss wohl der Weg sein! Nur wie speichere ich meine URLs ins Freitextfeld?

ok - Ich habe per SQL die Artikel id aus SW5 in ein Freitextfeld kopiert, und das zu SW6 migriert.
Dort kann ich es un auch in den SEO URL Einstellungen ansprechen. Soweit so gut.
Das klappt prima für Artikel ohne Varianten.

Bei Artikeln mit Varianten wird in SW5 wohl der parent über die ID angesprochen, in SW6 geht das nicht.
Hier werden die IDs der Variante genommen.

Wie soll ich den so jemals auf SW6 wechseln können? (der 3. Anlauf in 1,5 Jahren…)
Ich werde sicherlich nicht zulassen, dass 50% meiner alten URLs einen 404er bekommen und ins leere schiessen.

Hat jemand eine Idee?

2 „Gefällt mir“

Ich nehme gerade den zweiten Anlauf auf SW6 zu wechseln.
Wirklich überzeugt bin ich nicht. Die Migration ist an vielen Stellen sehr hackelig, oder funktioniert garnicht.
Wenn man mehr als 200 Arikel hat und jedes einzelne Nachbearbeiten muss, überlegt man ob man wirklich wechseln will.

In SW5 habe ich für Produkt {sCategoryPath articleID=$sArticle.id}/{$sArticle.id}/{$sArticle.name}

Leider bekomm ich dieses Format nicht in SW6 hin.

Hallo, gib es schön die Lösung. Was sagt Shopware Support dazu …

Wie ist denn hier der aktuelle Stand? Wir haben etliche Shops mit dem selben Problem. Wie bekommen wir die bisherigen SW5 SEO-URLs sauber in den SW6?

PS: Schade auch, dass sich Shopware generell hier im Forum bezüglich SW6 sehr zögerlich verhält. Viele User vielen sich im Stich gelassen. Die Umstellung von SW5 auf SW6 ist teilweise eine Katastrophe und Hilfe per Forum ist kaum zu erwarten :frowning:

1 „Gefällt mir“

Das ist in der Tat ein RIESEN PROBLEM

SEO seeding and growing von SW 5 gehen bei Varianten einfach den Bach runter….
Alle Artikel mit Varianten sind zwar mit der alten SEO URL aufrufbar aber in der Produktansicht wird nicht der Parent Artikel sondern immer die größte Variante auf der Produktseite aufgerufen.

Die Krönung - ein gelöschtes Produkt anschließend ohne Variante neu angelegt - ruft bei Eingabe der SEO URL die nicht mehr vorhandene größte Variante auf - natürlich 404

Einstellungen > SEO > Produktdetailseite {{ product.translated.name }}
Die Storefront Einstellungen Einzelprodukt - Variante sind gesetzt aber es funktioniert einfach nicht

Ich drücke mich noch etwas vor dem Relaunch, da ich Angst habe, alle unsere schönen Google Rankings zu verlieren.

Hier ist eine schöne Relaunch Anleitung für SEO:

Ich fürchte allerdings, dass man an einigen Punkten recht allein gelassen wird von Shopware …

Ich dachte da wird näher auf die Migration und SEO-Url eingegangen, aber leider nicht so richtig.

gibt es hierzu inzwischen eine Lösung?

1 „Gefällt mir“

Das Migrations-Tool kann das mit der SW5 Article Id eigentlich handeln.
Problem sind die Bugs innerhalb des Tools.

Falls jemand noch Hilfe bei der Migration benötigt, kann er sich gerne bei mir melden. Habe schon sämtliche Szenarien verschiedener Datenstrukturen durch.

jronic@altmails.com

Die ID in der URL war in SW5 leider Standard aber völlig unnötig. Mein Tipp, lege in SW6 eine SEO Vorlage ohne ID (hast du ja nicht) an. Dann sollte die URL bis auf die ID identisch sein. In der htacces oder nginx Direktiven machst du eine RewriteRule, welche die ID entfernt. Somit bekommst du keine Probleme mit den bereits indexierten URLs.

So haben wir das bei unseren letzten Migrationen durchgeführt.

Grüsse Ottscho

1 „Gefällt mir“

Hm, ich muss dieses Thema auch noch mal vorholen. So richtig funktioniert die Übernahme von alten SW5 URLs in SW6 leider nicht. Ich habe mir hierzu sogar ein eigenes Tool geschrieben, was die SEO-URLs von SW5 zu SW6 überträgt. Bei einfachen Produkten (ohne Varianten) alles kein Problem. Problem bereiten die Varianten!

Beispiel:

In SW5 Shop ware die URL so: www.meinShop/meinArtikel-12345

wenn man hier die Varianten umschaltet, dann bleibt die Haupturl und nur ein Parameter wird angehangen, also so:

www.meinShop/meinArtikel-12345?number=12345-1
www.meinShop/meinArtikel-12345?number=12345-2
www.meinShop/meinArtikel-12345?number=12345-3

Dieses Format kann ich aber nicht in SW6 übernehmen, zumindest machte der SW6 hier dann ein 404. Jetzt ist es allerdings so, dass jede URL in SW6 anders sein sein. Gleiche URLs werden nicht akzeptiert. Ich kann also bei den Varianten nicht die URL www.meinShop/meinArtikel-12345 verwenden.

Hat sich damit einer ausgibig beschäftigt? Wie habt ihr das denn gelöst?

1 „Gefällt mir“

Die 12345 ist die Shopware 5 Artikel-ID? In dem Fall habe ich in Shopware 5 ein Zusatzfeld migration_articleid angelegt und die SW5-ID darauf per SQL gemappt. Dann steht die SW5 Artikel-ID nach der Migrations über das Zusatzfeld in SW6 zur Verfügung.

Damit kannst du dann dein SEO-Template in SW6 entsprechend aufbauen, z.B.:
{{ product.translated.name }}-{{ product.customFields.migration_articleid }}{% if product.parentId %}/{{ product.productNumber }}{% endif %}

Dann hat dein Hauptprodukt folgende URL:

  • www.meinShop/meinArtikel-12345

Und die Varianten entsprechend

  • www.meinShop/meinArtikel-12345/12345-1
  • www.meinShop/meinArtikel-12345/12345-2
  • www.meinShop/meinArtikel-12345/12345-3

Dann musst du nur noch ein Canonical-Tag setzen, damit die Varianten nicht als Duplicate Content erfasst werden. Dafür haben wir uns ein kleines Plugin geschrieben:

Die SW5-Varianten-URLs kannst du noch bei Bedarf per Rewrite auf die neuen weiterleiten. Und für neue Artikel (in denen das Zusatzfeld nicht gefüllt ist) halt entsprechend das SEO-Template mit einer if-Abfrage noch anpassen.

1 „Gefällt mir“

Oh mit SW5 noch nie zu tun gehabt? Hm, Ja es ist die Artikel-ID bei SW5.

Habe nun selber ein Tool geschrieben (was auch Canonical-Tag beachtet), wie ich bei Varianten die SEO-URL einstelle. Entspricht zwar nicht dem von SW5, was auch Google-Technisch schlecht ist, aber andere Lösung gibt es ja fast gar nicht.