SEO-Urls für Kategorien ohne kompletten Pfad

Hallo,

aktuell werden unsere Kat-URLS so aufgebaut:

{sCategoryPath categoryID=$sCategory.id}/

d.h. heißt aber, dass manche Kat-URLs sehr lang sind (manche haben z. B. 2 - 4 Unterkats, die berücksichtigt werden). Wir möchten gerne, dass z. B. nur die 2 und letzte Unterkats als kat-URL ausgegeben werden. Bespiel:

Statt:

www.meinshop.de/oberkat/unterkat1/unterkat2/unterkat3

So:

www.meinshop.de/unterkat1/unterkat3

Das wäre für Google sauberer aber wir finden unter den vielen Foren-Einträge keine aussagkräftige Lösung.

Könnte jemand uns bitte helfen?

Viele Grüße

Barrie

https://forum.shopware.com/discussion/comment/241720/#Comment_241720

Da ging es etwa um das gleiche.

1 „Gefällt mir“

Hallo,

leider bin ich kein Programmierer und verstehe vieles im o.g. Link nicht. Gibt es nicht irgendwo eine Anleitung von Shopware oder könnte jemand mir sagen, wie man konkrate die Kategorie-URLs anpassen kann?

Danke im Voraus,

Barrie

Hi Barrie,

der folgende Code von Moritz, kann unter Einstellungen > Grundeinstellungen > SEO/Router-Einstellungen im Feld Artikeltemplate eingetragen werden. Danach den Cache leeren und unter Einstellungen > Caches / Performance > Einstellungen > SEO den Index neu generieren. Die Artikel sollten danach unter einer neuen URL erreichbar sein.

{assign var='tree' value='/'|explode:{sCategoryPath articleID=$sArticle.id}}{$tree|@end}/{$sArticle.id}/{$sArticle.name}

Wenn man den Code wie folgt erweitert:

{assign var='tree' value='/'|explode:{sCategoryPath articleID=$sArticle.id}}{$tree[0]}/{$tree|@end}/{$sArticle.id}/{$sArticle.name}

wird die erste und letzte Kategorie aus dem Pfad für die generierte URL verwendet. Du kannst mit der Zahl in {$tree[0] das Level bestimmen. Leider kannst Du aber Probleme mit dem Code kriegen, wenn du nur ein Level oder 2 Level hast. Es kann dann passieren, dass es den Index nicht gibt (wenn Du eine 1 einträgst) oder, dass sich der Name doppelt.

Viel Erfolg

Hallo Mike,

vielen Dank. Die SEO-URLs auf Artikel-Ebene habe ich schon hingekriegt:

{$sArticle.name}/{$sArticle.id}

(das war ja einfach).

Was ich nicht verstehe, ist warum brauche ich:

{$sArticle.id}/{$sArticle.name}

für die SEO-URL einer Kategorie.

Dann hätte ich noch zwei Fragen:

  1. kann man dies für eine Kategorie testen, indem man z. B. die SEO-URL nur einer Kategorie zuweist?

  2. kann man für einzelne Kats benutzerdefinierte SEO-URLS erstellen? Z. B. www.meinshop/dieseurlwillich (ohne auf eine externe Landingpage zu verlinken)?

Vielen Dank ür die Hilfe und die Geduld!

Das Beispiel bezog sich auf Artikel-URL. Man müsste es für Kategorien entsprechend anpassen.

Es werden immer alle URL generiert. Es kann also ohne Weiteres nicht nur für eine Kategorie generiert werden.

Hier in der Doku findest Du einige Beispiele und Ansätze für die Anpassung der URLs (auch für Benutzerdefinierte) https://docs.shopware.com/de/shopware-5-de/einstellungen/seo#seo-router-einstellungen

1 „Gefällt mir“

Super, Danke. Wir haben entscheiden, die letzten Unterkats SEO-freundlich zu benennen und nur die ausgeben zu lassen, würde das so ausehen?
 

{assign var='tree' value='/'|explode:{sCategoryPath}}{$tree|@end}

? oder habe ich das falsch verstanden?

fast, es müsste m.E so aussehen (ungetestet)

{assign var='tree' value='/'|explode:{sCategoryPath categoryID=$sCategory.id}}{$tree|@end}

 

1 „Gefällt mir“