Das "&" Zeichen wird seit dem Update nicht mehr als "und" in die URL geschrieben

Liebe Leute

Seit dem Update von Shopware 5.1 auf 5.3 wird bei der SEO freundlichen URL generierung das “&”-Zeichen (et-zechen) nicht mehr als “und” umgeschrieben, sondern einfach entfernt.

Das Zeichen heisst auch: "kaufmännisches Und, kommerzielles Und: Et-Zeichen – Wikipedia

Es ist mir klar, dass ein “und” in der URL, SEO technisch nicht relevant ist. Wenn aber die Hauptkategorie das & entält (und man updatet Shopware) werden nun alle Kategorien, Unterkategorien und sogar die darin befindlichen Produkte URLs geändert.

Für die indexierten URLs bei Google ist das äusserst unglücklich! Es ist beinahe ein Super GAU für ein Geschäft. Google findet kein einziges Produkt mehr.

Also die Kategorie “Kochlust & Provence”, wird neu (Shopware 5.3) als:
https://www.shopwaredemo.de/kochlust-provence/

generiert und nicht mehr wie früher (Shopware 5.1) als:
https://www.shopwaredemo.de/kochlust-und-provence/

In Shopware 5.1 wird das in der Datei “sRewriteTable.php” in ca Zeile 544 festgesetzt:
$replaceRules
// shopware rules
’ & ’ => ‘-und-’,

Wo kann man das in der aktuellen Shopware Version 5.3 einstellen/ändern, damit das &-Zeichen in der URL wieder als -und- generiert wird?

Vielen Dank im Voraus für eure Hilfe!

Cheers
Marco

Hallo Marco,

In Shopware 5.1 wird das in der Datei “sRewriteTable.php” in ca Zeile 544 festgesetzt:

Sehr interessant. Das wusste ich nicht, kann es mir aber schnell erklären. Wenn das genau so hard-coded da drin steht, ist das für andere Sprachen natürlich suboptimal. In Englisch möchte man ja kein “-und-” in der URL haben. Dann müsste man das für beliebige Sprachen pflegen und schon hat man einen riesen Aufwand. => Einfach entfernen.

Zum Glück gibt es aber Abhilfe: die SEO-Router Einstellungen von Shopware: http://community.shopware.com/SEO-Router-Einstellungen_detail_912.html
Dort kannst du die Artikelurl manipulieren. Da dir Smarty zur Verfügung steht, kannst du de replace-Modifier verwenden:

{$sArticle.name|replace:'&':'-und-'}

Viele Grüße

3 Likes

Hey simkli

Sehr cool, danke für die rasche und perfekte Antwort!

Da ich unsicher mit dem genauen Code bin, insbesondere bei den Kategorien, poste ich das, was bei mir jetzt geklappt hat:

Bei mir stand unter Shopware 5.1 bei „SEO-Urls Artikel-Template:“
{sCategoryPath articleID=$sArticle.id}/{$sArticle.name}.html

Das wird dann also bei Shopware 5.3 zu:
{sCategoryPath articleID=$sArticle.id}/{$sArticle.name|replace:’&’:’-und-’}.html

Aber wie sieht das bei den Kategorien aus? Es geht ja insbesondere um Kategorien…

Bei mir stand in Shopware 5.1 unter SEO-Urls Kategorie-Template:
{sCategoryPath categoryID=$sCategory.id}/

Was jetzt stehen muss, damit die URL mit Shopware 5.3 die selbe bleibt ist:
{sCategoryPath|replace:’&’:’-und-’ categoryID=$sCategory.id}/

Scheint bei mir zu funktionieren.
Liebe Grüsse
Marco

 

Eben getestet bei einem Shopupdate von 5.2.27 auf 5.3.7

Alter Shop: *.tld/a-und-b/

Neuer Shop: *.tld/a-b/

Aber es wird eine Rewrite-Regel erstellt von *.tld/a-und-b/ auf *.tld/a-b/ -> Google findet also weiterhin die Kategorie. Sollte bei Artikeln dann ebenso der Fall sein und zu keinerlei Problemen führen. Auch den Eintrag in den Path-Einstellungen braucht man dann nicht machen.