SEO – rel=”canonical” in PrestaShop Kategorien, CMS- & Produktseiten

Oft gibt es mehrere Seiten mit gleichen Inhalten, aber unterchiedlichen URLs. Die Suchmaschinen sollten jedoch nur eine Seite indizieren und doppelter Content im Suchindex kann sich sogar nachteilig auf das Ranking auswirken. Für die SEO (Search Engine Optimization = Suchmaschinenoptimierung) ist es daher wichtig zu zeigen, welche die bevorzugten Originalseiten sind. Da Produkt-, Kategorie und CMS-Seiten, aber auch Hersteller- und Lieferantenseiten im PrestaShop oft unterschiedlich angesprochen werden können und die URLs mit Parametern verunreinigt werden können, sollten die sogenannten kanonischen (Canonical-) Seiten im Head-Abschnitt als rel=”canonical” aufgeführt werden. Hier nun eine Anleitung, wie dieser Tag in PrestaShop ohne weiteres Modul gesetzt werden kann:

PrestaShop header.tpl für Canonical-Link-Tag

Ein idealer Ort für diesen Meta-Tag ist die Theme-Datei header.tpl im eigenen PrestaShop-Template. Die header.tpl beinhaltet den kompletten head-Abschnitt, ein Tag, welcher mehrere Meta-Tags aufnehmen kann, der auch für die Suchmaschinen und Robots wichtige Informationen bereit hält.

Fügen Sie einen Link mit dem Attribut rel="canonical" zum Abschnitt <head> der nicht kanonischen Versionen jeder HTML-Seite hinzu. Da PrestaShop in den tpl-Dateien die Smarty-Syntax verwendet und die Seiten dynamisch generiert werden, muss zwischen der Startseite und den Unterseiten unterscheiden werden. Bei den Unterseiten kann aus der globalen $request-Variable die kanonische Adresse extrahiert werden.

Die Canonical-Syntax

Für die Startseite lautet der link-Tag:

<link rel=”canonical” href=”{$base_dir}” />

Für alle Unterseiten wird die kanonische Adresse aus dem ersten Teil der Request-Varaible geholt:

{assign var=url_canonical value=”?”|explode:$request}
<link rel=”canonical” href=”{$url_canonical[0]}” />

So kann direkt nach dem {$HOOK_HEADER} dieser Abschnitt eingesetzt werden:

{if $page_name == ‘index’}
    <link rel=”canonical” href=”{$base_dir}” />
{elseif $page_name == ‘category’ or $page_name == ‘best-sales’ or $page_name == ‘cart’ or $page_name == ‘discount’ or $page_name == ‘manufacturer’ or $page_name == ‘new-products’ or $page_name == ‘prices-drop’ or $page_name == ‘product’ or $page_name == ‘cms’}
{assign var=url_canonical value=”?”|explode:$request}
 <link rel=”canonical” href=”{$url_canonical[0]}” />
{/if}

Jetzt wird den Suchmaschinen die bevorzugte Version ohne weitere Parameter für den Index angeboten, egal welcher Get-Parameter in der URL angehängt ist. Die so erzeugte link rel=”canonical”-Angabe (oft fälschlicherweise als Canonical-Tag bezeichnet) sollte in allen Templates kompatibel zu PrestaShop-1.5.x funktionieren.

Canonical-Angaben für Google und Bing

Eine ausführliche Erklärung zu rel=”canonical” gibt es direkt bei Google, wie Duplicate Content in Blogs und Shops entsteht wird bei Seosweet erklärt.  Eine häufig gestellte Frage ist, ob der rel=”canonical”-Link Tag auch auf der Originalseite gesetzt werden darf. Unsere Erfahrung zeigt, dies ist nicht verkehrt ist und es wird sogar empfohlen, wie ein Blogbeitag von SEOmoz zeigt. Auch kleine Unterschiede der einzelnen Versionen stellen keine Probleme dar. Google und Bing, die beide das rel=”canonical”-Attribut unterstützen und auslesen, versuchen diese Angabe als Empfehlung zu nutzen und wählen durch die Algorithmen die passenden Seiten für den eigenen Index aus. Auch ist es egal, ob hier relative oder absolute Pfadangaben verwendet werden. In unserem obigen Beispiel für den PrestaShop werden diese Canonical-Angaben mit absoluter Pfadangabe versehen. Interessant sind auch Tests mit den Canonical-Angaben, die Suchbegriffe auf die  bevorzugten Seiten umbiegen, die auf die nicht bevorzugten Seiten verlinken (Experimente mit dem Canonical Meta-Tag). Ob dadurch “Linkpower” verloren geht, wurde hier jedoch nicht näher untersucht.

Aufgepasst: Canonical-Angaben können nicht bei Content-Klau helfen. Hier müssen andere Maßnahmen ergriffen werden, um nicht mit den eigenen Seiten wegen Duplicate-Content aus dem Suchindex zu fliegen.

Es ist auf jeden Fall sinnvoll, bei PrestaShop die Canonical Angaben ins eigene Theme einzubauen, um Duplicate Content im Suchindex von Google und Bing zu vermeiden.