Shopware Title Tag – eigene Texte im System hinterlegen
Wir haben uns in diesen Tagen mit der Onpage-Optimierung eines Shops beschäftigt, der mit der Community – Version von Shopware erstellt wurde. Mit Shopware selbst hatten wir vorher noch keine Erfahrung gehabt, uns war allerdings von XT-Commerce
und OXID Esales bekannt, dass man selbstverständlich für jede Kategorie und jeden Artikel den Title Tag der Seite und die Meta-Tags hinterlegen kann.
Das Problem
Genauso ungezwungen setzten wir uns ans das Kundenprojekt und sahen schnell, dass man die Meta-Description im Shop-Backend leicht einstellen konnte, aber nirgends war ein Feld für den Shopware Title Tag vorhanden. Nach kurzer Recherche erkannten wir, dass der Title Tag folgendermaßen automatisch generiert wurde:
Kategorie-Name | allgemeiner Title der Startseite
Als Beispiel mal mit Amazon:
Bohrmaschinen | Produkte günstig kaufen im Amazon – Webshop
Den zweiten Teil hinter der Pipe kann man in den Einstellungen für das ganze System hinterlegen und der Teil wird auch auf der Startseite als Title Tag angegeben.
Nun schauten wir uns im Standard – Template, das ist die Datei: templates/_default/frontend/index/header.tpl, den Bereich an, der den Page – Title generiert:
{* Page title *} {block name=’frontend_index_header_title’}<title>{strip} {if $sBreadcrumb}{foreach from=$sBreadcrumb|array_reverse item=breadcrumb}{$breadcrumb.name} | {/foreach}{/if}{$this->config(‘sShopname’)} {/strip}</title>{/block}Au weier, das kann doch nicht alles gewesen sein.
Die Lösung
Man muss wissen, dass es im Backend bei den Kategorien (und auch bei den Produkten, hier hilft uns der Code aber nicht) noch die Möglichkeit gibt, Freitexte mit Inhalt zu füllen. Da muss doch noch was zu machen sein. Irgendwie stießen wir dann auf einen Forumseintrag, der uns auf die richtige Spur brachte: Wie wäre es, wenn wir den Title – Inhalt in eines der Freitexte einstellen könnten und das Template liest diese dann bei der Seitengenerierung aus?
Gesagt getan und hierbei mussten wir feststellen, dass solche Änderungen wegen des Updatesystems von Shopware tunlichst nur am individuellen Template erfolgen sollten.
So sah dann der fürs eigene Template angepasste Code aus, der einfach am Ende der Datei header.tpl im Verzeichnis templates/Templatename/frontend/index angehängt wird:
{* Page title *} {block name=’frontend_index_header_title’}<title>{strip} {if $sCategoryContent.ac_attr2} {$sCategoryContent.ac_attr2} {else} {if $sBreadcrumb}{foreach from=$sBreadcrumb|array_reverse item=breadcrumb}{$breadcrumb.name} | {/foreach}{/if}{$this->config(‘sShopname’)} {/if} {/strip}</title>{/block}Der Code sagt eigentlich nur folgendes aus: schau nach, ob bei Freitext 2 ($sCategoryContent.ac_attr2) was hinterlegt ist und wenn ja, dann gib das aus, wenn nicht, machen wir das mit den Fähnchen, also so, wie es sich die Entwickler von Shopware gedacht haben.
Den Freitext 2 haben wir nämlich deshalb gewählt, um das Feld Freitext 1 noch mit Inhalt füllen zu können. Ihr wisst schon, Keyword – Density oder auch neuerdings WDF*IDF muss ja irgendwo verbaut werden.
Fazit:
Wir hätten nicht gedacht, dass solch ein ausgewachsenes und modernes System wie Shopware CE so große Probleme für den Suchmaschinenoptimierer darstellt, konnten aber mit recht wenig Aufwand den gewünschten Erfolg erzielen. Habt Ihr auch schon ähnliches erlebt bei Euren Shops? Wir freuen uns über Hinweise auch aus anderen Shopsystemen, wo uns als SEO das Leben schwer gemacht wird.


