Zunehmend zeichnet sich auch bei kleineren Shopware-Shops die Erkenntnis ab über eine individuelle SEO-Url Verbesserungen der Sichtbarkeit in den Suchmaschinen zu erreichen. Dies lässt sich sehr leicht auch selbst einrichten und durchführen.

Wichtig ist hierbei, dass man den strategischen Plan von SEO-Maßnahmen auch konsequent, regelmäßig und diszipliniert weiter verfolgt und die Erfolge/Veränderungen auch analysiert.

Freitextfelder für die SEO-URL anlegen

Zuerst werden im Shopware-Backend unter „Einstellungen => Freitextfeld-Verwaltung“ die Datenfelder für die SEO-Urls der Kategorien und Artikel angelegt:

Tabelle: s_articles_attributes (Artikel)
Tabelle: s_categories_attributes (Kategorien)

Spaltename: attrX (X = Nummer welche frei ist)
Spaltentyp: Einfacher Text
SQL-Datentyp: TEXT
Label: SEO URL

Weitere Einstellungen:

  • im Backend anzeigen
  • ggf. Übersetzbar (falls erforderlich)
  • Position soweit oben wie möglich (z.B. 1, dies erleichtert später die Pflege – man muss nicht so weit scrollen)

Hier am Beispiel der Freitextfelder in der Freitextfeld-Verwaltung für die Kategorien.

Shopware SEO URL - Freitextfelder Kategorien

Dann können die SEO/Router-Einstellungen vorgenommen werden:

Individuelle SEO-URL für Artikel

Pfad in Shopware Grundeinstellungen => SEO/Router-Einstellungen => SEO-Urls Artikel-Template

Variante 1 (mit Bindestrich & Artikel-ID):
{if $sArticle.attr1}{$sArticle.attr1}-{$sArticle.id}{else}{$sArticle.name}-{$sArticle.id}{/if}

SEO Format: https://domain.tld/optimierter-name-0815


Variante 2 (mit Slash & Artikel-ID):
{if $sArticle.attr1}{$sArticle.attr1}-{$sArticle.id}{else}{$sArticle.name}/{$sArticle.id}{/if}

SEO Format: https://domain.tld/optimierter-name/0815


Variante 3 (mit Bindestrich & Artikelnummer)
{$sArticle.attr1}-{$sArticle.id}{else}{$sArticle.name}-{$sArticle.ordernumber}{/if}

SEO Format: https://domain.tld/optimierter-name-123456


Variante 4 (mit Slash & Artikelnummer)
{$sArticle.attr1}-{$sArticle.id}{else}{$sArticle.name}/{$sArticle.ordernumber}{/if}

SEO Format: https://domain.tld/optimierter-name/123456


Mit der {if}-Anweisung wird definiert, dass die im vorher angelegten Freitextfeld vorgegebenen SEO-Angaben verwendet werden sollen, wenn diese bei dem Artikel vorhanden ist.

Falls nicht vorhanden – {else}-Anweisung – soll im Standard die Bezeichnung des Artikels als Url verwendet werden.

Beispiel:

Hier vor allem ein besonderes Artikel-Beispiel, an welchem die Optimierung der SEO-URL-Struktur deutlich wird. Die „Kölner Jecken“ nehmen es sich zum Beispiel natürlich raus, auch Artikelnamen nach „Kölner Mundart“ zu benennen. Dies führt dazu, dass eben auch die URL in der entsprechenden Schreibweise generiert wird, wenn es hierzu keine zusätzliche individuelle SEO-Url gibt:

Name des Artikels: „Mousepad Et Kölsche Jrundjesetz“
Url-Struktur: domain.tld/{categoriepfad}/mousepad-et-koelsche-jrundjesetz

Optimierte SEO-Angabe im angelegten Freitexfeld: „Mousepad Grundgesetz Köln“
Neue SEO-Url Struktur (inkl. Artikel ID): domain.tld/mousepad-grundgesetz-koeln-3628

Hierzu muss man erwähnen, dass bei beiden Suchbegriffen „Grundgesetz“ und „Jrundjesetz“ in Kombination mit „Mousepad“ der Artikel in Google sowieso ganz oben steht, da es hierzu nicht viel Konkurrenz gibt.

Das Beispiel bezieht sich hier vielmehr auf die besondere Schreibweise und den Kontext, dass wohl die wenigsten nach solch speziellen Begriffen suchen. Die Schreibweise in „Kölner Mundart“ wird natürlich ebenfalls gefunden.

Durch die Optimierung der Url kann die Auffindbarkeit im Allgemeinen dennoch verbessert werden.

Artikel ID oder Artikelnummer in der URL

Aufmerksame Leser werden oben bei der Artikel-URL auch gleich erkannt haben, dass hierbei weiterhin noch die Artikel-ID aus der Datenbank bzw. die Artikelnummer in der optimierten SEO-Url enthalten ist.

Das ist durchaus so gewollt. Artikel-ID & Artikelnummer sind im gesamten Shop eindeutige Nummern der Artikel innerhalb der Datenbank.

Für den Besucher und auch die Suchmaschinen ist die ID nicht weiter relevant. Je nach Situation und besonderen Anforderungen, insbesondere bei der Anpassung von URL-Strukturen kann die zusätzliche Angabe der ID oder der Artikelnummer im Entwicklungsbereich durchaus wichtig sein.

Auch kann man damit Überschneidungen und Probleme vermeiden, wenn tatsächlich einmal zwei SEO-Urls von Artikeln gleich heißen sollten. Über die am Ende stehende IDs bleiben beide Urls eindeutig. Wobei hier sowieso die Canonical-Url zur Vermeidung von Duplikate Content greift.

Aus technischer Sicht wäre die Artikel-ID gegenüber der Artikelnummer in der Url zu bevorzugen. Hier kommt es natürlich auch auf ggf. spezifische Anforderungen je nach Projekt an.

Auch Wikipedia definiert hier beim Thema Clean URL – wenn auch in einem Nebensatz – die Möglichkeiten bei Varianten zu kombinieren: „Es können auch Mischungen aus beiden Methoden auftreten, indem die ID zwar behalten wird, aber lesbare Worte hinzugefügt werden. In diesem Fall ist die ID das entscheidende Merkmal des URL und die Worte können verändert oder weggelassen werden.“

Über Sinn oder Unsinn von Artikel-IDs in der URL

Über das Thema Artikel-IDs in der Url gibt es durchaus viele verschiedene und konträre Ansichten. Ich sehe dies eher pragmatisch.

So lange der Rest der optimierten Url passt, tut es nicht weh, wenn man zusätzlich noch die ID mit „hintendran hängt“.

In jedem Fall kann die vorausschauende Planung, IDs weiterhin in der Url zu behalten, eine deutliche Zeitersparnis und Vereinfachung im technischen Entwicklungsbereich und der Kontrolle von Url-Strukturen sein.

Nachteil der Artikel-ID in der URL

Zugegeben. Eine Einschränkung gibt es bei der Verwendung von IDs in der Artikel-Url dennoch.

Wird ein Artikel gelöscht und dann wieder neu angelegt, erhält dieser in der Datenbank eine neue ID. Wird bisher auf diesen Artikel mit der in der Url enthaltenen ID verlinkt, läuft dieser im schlimmsten Fall ins Leere. Hier muss man dann manuell per 301 Redirect umleiten.

Es bleibt also abzuwägen. Doch normalerweise sollte man Artikel nur in Ausnahmefällen löschen und neu anlegen müssen.

Individuelle SEO-URL für Kategorien

Pfad in Shopware Grundeinstellungen => SEO/Router-Einstellungen => SEO-Urls Kategorie-Template

{if $sCategory.attribute.attribute1}{$sCategory.attribute.attribute1}{else}{sCategoryPath categoryID=$sCategory.id}/{/if}

Mit der {if}-Anweisung wird definiert, dass die im vorher angelegten Freitextfeld vorgegebenen SEO-Angaben verwendet werden sollen, wenn diese bei der jeweiligen Kategorie vorhanden ist.

Falls nicht – {else}-Anweisung – soll weiterhin im Standard als URL die Bezeichnung der Kategorie verwendet werden.

Beispiel

Name und Struktur der Kategorie: Shop > Mode > Shirts > Damen
URl-Struktur: domain.tld/mode/shirts/damen

Optimierte SEO-Angabe im Freitexfeld: „T-Shirts für Damen“
Neue SEO-Url Struktur: domain.tld/t-shirts-fuer-damen

Neue Kategorie SEO-URL ohne ID

Im Unterschied zu den SEO-Urls für die Artikel sind bei der Anpassung der Kategorie-URLs keine zusätzlichen Datenbank-ID in der Url mit aufgeführt. Dies davon ausgehend, dass die Kategoriestruktur üblicherweise ausreichend eindeutig differenziert ist. Hier kann es eigentlich – wenn man alles richtig macht – keine Duplikate geben.

Aufgepasst: Unterschied der Attribute-Variablen

Wichtig ist hierbei zu berücksichtigen, dass die Variablen der Attribute zwischen der Artikel- und Kategorie-URL unterschiedlich sind.

{$sArticle.attr1}
{$sCategory.attribute.attribute1}

Bei den Kategorien muss wie oben zu sehen ist „attribute“, doppelt hintereinander in der Variable angegeben werden. Bei der Artikel SEO-Url nur einmal. Dies kann auf den ersten Blick verwirrend sein, ist aber einfach so. Dies kommt aus den mittlerweile auch bei Shopware gewachsenen Strukturen.

Cache leeren und SEO-URLs neu generieren

Sobald man mit der Pflege der individuellen SEO-Urls beginnt, kann man den Cache leeren und die SEO-Urls neu generieren, um die korrekte Funktion zu überprüfen.

Damit dies zuverlässig funktioniert sollte man auch das „Datum des letzten Updates“ um ein Jahr zurücksetzen:

Dann werden die neuen SEO-Urls nach dem Aktualisierungen des Shops angezeigt, wenn der Cache geleert wurde und die SEO-Urls neu generiert wurden.

Idealerweise sollte man die Generierung der SEO-Urls jedoch über die Cronjobs durchführen. D.h. die neuen SEO-Urls greifen dann am darauffolgenden Tag, wenn die Cronjobs eingerichtet sind und regelmäßig über Nacht laufen.

Auch SEO Plugins sind eine Möglichkeit

Unabhängig davon haben Plugins wie das „SEO Professional“ von Dreischild durchaus ihre Berechtigung und können die Arbeit nochmals zusätzlich erleichtern und viel Zeit sparen. Gut, dies kostet Geld. Doch der Mehrwert der zusätzlichen Funktionen und Hinweise ist auf jeden Fall die Invesition wert.

SEO Strategie konsequent weiter fortführen

Nach meiner Einschätzung ist die oben genannte Anleitung nur ein erster Schritt sich konkreter mit SEO-Urls und SEO Optimierung zu befassen. Sobald man sich in die Thematik eingearbeitet hat, sollte man dann allerdings auch den nächsten Schritt gehen und entsprechende Plugins und Tools einsetzen.

Ebenfalls relevant zu erwähnen sind z.B. Tools wie Sistrix, Xovi und Ryte, sowie insbesondere auch Audisto, um auch eine professionelle Analyse und Controlling für die durchgeführten SEO-Maßnahmen zu haben.

Warum ist eine individuelle SEO-URL nicht Shopware-Standard?

Unabhängig davon, dass mit der oben beschrieben Anleitung nun auch möglich ist eigene individuelle SEO-Urls für Shopware zu definieren, stellt sich natürlich die Frage warum dies nicht dem Standard möglich ist.

Shopware generiert zwar durchaus selbst über den SEO/Router-Controller eigenständig die SEO-Urls auf Basis der Produktnamen. Dennoch wird SEO erst richtig konsequent, wenn man darüber hinaus gewisse Freiheiten – unabhängig von den Produktbezeichnungen – hat.

Fazit

Die Shopware-Bordmittel mit der Generierung von SEO-Urls reichen für eine „gewisse Basis“ schon aus. Da hat Shopware vielen anderen Shopsystemen schon einiges voraus. Dennoch wäre es wünschenswert, da solch eine Funktion auch direkt integriert wäre. Ist sie aber nicht. Sei’s drumm. Wer richtig SEO machen will ist also selbst dafür verantwortlich. Das hat ja im Grunde genommen auch sein Gutes. Denn dann ist man ist man auch selbst mental gefordert sich eingehender mit dem Thema zu beschäftigen, das System dafür vorzubereiten und das Projekt auch nachhaltig „durchzuziehen“.

Frei nach dem Hornbach-Slogan: „Es gibt immer was zu tun.“

Links zum Thema

Shopware Forum: https://forum.shopware.com/discussion/37325/id-aus-url-raus
(wie man sieht ist hier auch die ID „37325“ in der Url vorhanden)