Canonical bei mehreren identischen Shops für verschiedene Länder (AT, CH, DE)

Hallo,

Ich habe 3 Shops mit identischem Inhalt für verschiedene deutschsprachige Länder. Artikel und Beschreibungen sind gleich, der Rest ist länderspezifisch aufgebaut. Ich habe jetzt das Problem, dass bei Google die 3 Shops als duplicate content erkannt werden. Das würde ich gerne verhindern. Ich hätte gerne, dass im Header nicht nur bei den Rubriken und den Menüs, sondern auch bei jedem Artikel ein solcher Header enthalten ist:

z.B

titleMein Artikel titel./title
link rel=„alternate“ hreflang=„de-at“ href=„https://www.meinedomain.at/meinartikel/
link rel=„alternate“ hreflang=„de-de“ href=„https://www.meinedomain.de/meinartikel/
link rel=„alternate“ hreflang=„de-ch“ href=„https://www.meinedomain.ch/meinartikel/“ lang=„x-default“ href=„https://www.meinedomain.de/meinartikel/“>link rel=„canonical“ href=„https://www.meinedomain.de/meinartikel/

Frage ist: Kann Shopware das? Wo müsste ich das eintragen? Oder muss ich mir dafür einen eigenen Plugin schreiben?

vielen Dank im Voraus,

Jan

canonical ist bei Artikeln doch schon vorhanden - jedenfalls bei aktuellen Version von SW.

Oh stimmt, aber wie kann ich jetzt den canonical-Link auf einen anderen Shop verweisen lassen? Das canonical sollte doch dann in allen Shops zum Hauptshop hin zeigen oder?

Jan

 

Hmmmm, wenn ich so durchlese und darüber nachdenke, bräuchte man nur einen Shop. Und alle anderen URLs auf den Hauptshop umleiten. Den canonical-Link verbiegen ist praktisch dann das selbe. Jedenfalls sehe ich das so. Google würden dann den Hauptshop bevorzugen und die anderen fallen lassen.

Praktisch könnte man mit dem eigenen Theme die canonical-Links ersetzen. Siehe header.tpl und {block name=‘frontend_index_header_canonical’}{/block}. Aber, ob das Google so mag weiß ich nicht! Die canonical-Links sind eigentlich für die jeweilige Domain gedacht um dort DC zu vermeiden. Du willst hier aber fremde Domains mit ins Spiel bringen. Das hab ich so noch nicht probiert!

Problem ist, woher bekommst du die URL der Kategorien?
Der Kategoriebaum kann in jedem Shop anders sein. D.h. du musst irgendwie erst ein Kategorie Mapping machen, damit du weißt welche Kategorie entspricht welcher in den anderen Subshops / Sprachshops.

Das ist alles nicht so einfach.

 

die URL der Kategorien der Subshop kann man doch mit einem Freitextfeld steuern, wenn dieses gefüllt ist?
 

{block name='frontend_index_header_meta_tags' append}


{/block}

 

Bei uns haben alle Kategorien der Shops dieselbe ID, das haben wir sichergestellt. Ich bräuchte also vor allem die Sache mit den verschiedenen Sprachen, damit Google eben erkennt, das die verschiedenen Länder sich nicht gegenseitig mit dem duplicate content abschiessen.

Meine Frage wäre also: wie kann ich diese hreflang auf meinen ganzen Artikelseiten einfügen? auch über die custom/header.tpl?

Ich bin jetzt ein Stück weiter. Ich habe in der header.tpl einen Eintrag gemacht :

link rel=“alternate” href=“http://www.shop.com/{$sArticle.articleName}” hreflang=“x-default”

daraus wird dann z.B:

 link rel="alternate" href="[http://www.shop.com/VENOM VARIO S](view-source:http://www.shop.com/VENOM%20VARIO%20S)" hreflang="x-default" 

ich hätte aber gerne diesen Output mit der Artikelurl wie er auch später beim canonical tag erscheint:

 link rel="canonical" href="[http://testshop.pepperpeter.com/hoehenluft-abenteuer/ausruestung/zubehoer/stoecke/1/venom-vario-s](view-source:http://testshop.pepperpeter.com/hoehenluft-abenteuer/ausruestung/zubehoer/stoecke/1/venom-vario-s)" 

mit welcher Variable kriege ich den fehlenden Teil (hoehenluft-abenteuer/ausruestung/zubehoer/stoecke/1/)

Gibt es in Shopware keine Liste mit allen Variablen, in der man erfährt welche Werte wie z.B {$sArticle.articleName} es gibt?

Jan

 

Die Liste kannst du dir ja über {debug} oder {$sArticle} selbst ausgeben lassen.

 

Das habe ich eben versucht, ich habe firebug installiert, und in die header.tpl die Zeile {debug} in einem Block eingefügt. Leider sehe ich nichts. Wo sollte denn die Smarty Debug console erscheinen? Oder sonst irgendein Output? Ich sehe den Inspektor, eine leere Konsole, und im Debugger steht auch jede Menge, aber leider keine Variablen.

 

In der Shopware Doku gibt es ja was darüber:

SmartyAnchor link for: smarty

For these kind of questions, Smarty offers the handy {debug} tag. You can just put it in any template block of your plugin’s template, or even the core template (it’s just temporary). You should just make sure that the block you are putting it into is actually rendered.

In this example, the {debug} tag was put in the themes/Frontend/Bare/frontend/index/index.tpl file, inside the frontend_index_html block.

{block name='frontend_index_html'}
{debug}
// rest of the block
{/block}

After clearing the cache and refreshing the page, Smarty will generate a new window like this:

 

und genau das was man da sehen soll, finde ich nirgends. Es steht leider auch nicht beschrieben, wo dieses Fenster generiert wird, ob man dazu den Firebug oder eine Entwicklungsumgebung oder einen speziellen Browser benötigt noch sonst etwas,

Jan