Canonical tag nur für Kategoriehauptseiten

Hallo,

eine Verständnisfrage.

Wie hier empfohlen: https://forum.shopware.com/discussion/comment/180626/#Comment_180626
hab ich in den SW-Einstellungen die Funktion der rel=next und prev tags aktiviert um paginierte Seiten vom Canonical Tag zu befreien. Soweit so gut. Nun soll vom SEO-Berater aus auf den Kategoriehauptseiten doch wieder ein Canonical erscheinen, aber auch nur dort und nicht auf den weiteren Kategorieseiten (?p=2, ?=p3 usw).

Gibts dafür eine einfache Möglichkeit ohne viel gefrickel?

 

Erklärung noch mal kurz an einem Beispiel:  Nehmen wir an wir haben einen Shop. TolleSchuhe.de der verkauft 2 Kategorien Männer- und Frauenschuhe. Unterhalb dieser Hauptkategorien verzweigen sich weitere Unterkategorien. Badelatschen, Highheels, Wanderstiefel usw. Auf allen Kategorieseiten ist die Paginierung aktiv, inklusive der rel=next und prev tags und es werden keine Canonicals erzeugt. Nun soll aber auf den beiden Hauptkategorien “Männer” und “Frauen” doch wieder ein Canonical erzeugt werden.

 

Danke und viele Grüße

*push*  lässt sich der Canonical tag nicht Kategorieabhängig ausgeben?

Danke und Gruß
rowa

Funktioniert im Standard nicht. Musst es via Attribute selbst erweitern.

1 „Gefällt mir“

Nach dem ich mich noch mehr mit dem Problem beschäftigt habe, scheint es wohl keine einfache Lösung zu geben und ich muss, wie Du schon sagst selbst Hand anlegen. Leider kann ich aber mit Deinem Hinweis nicht viel anfangen. Meinstst Du irgendwo ein Attribut im backend einfügen (und dann?) oder etwas in den template Dateien? Kannst Du bitte Deinen Lösungsvorschlag etwas konkreter erklären und vielleicht auch einen link zur Doku dazu. Ich hab darin bisher noch nichts zum Thema passendes gefunden.

Danke

Ein blutiger Anfänger

Ich konnte mit etwas Glück doch selbst eine Lösung finden. Wenn diese doch Quatsch sein sollte würde ich mich über einen Hinweis sehr freuen.

Lösung

Die Datei …/Bare/frontend/listing/header.tpl an die selbe Stelle im eigenen Theme kopieren und in der $showListing-Bedinung die {if $sPage == 1}-Bedingung hinzufügen. So das die Datei schlussendlich so aussieht:

{extends file='frontend/index/header.tpl'}

{* Canonical link *}
{block name='frontend_index_header_canonical'}
    {* Count of available product pages *}
    {$pages = ceil($sNumberArticles / $criteria->getLimit())}

    {if {config name=seoIndexPaginationLinks} && $showListing && $pages > 1}
        {* Previous rel tag *}
        {if $sPage > 1}
            {$sCategoryContent.canonicalParams.sPage = $sPage - 1}
            
        {/if}

        {* Next rel tag *}
        {if $pages >= $sPage + 1}
            {$sCategoryContent.canonicalParams.sPage = $sPage + 1}
            
        {/if}

        {* canonical tag auf Kategorien-Hauptseiten immer angezeigen *}
        {if $sPage == 1}
          
        {/if}

    {elseif !{config name=seoIndexPaginationLinks} || !$showListing}
        
    {/if}

{/block}

 

Viele Grüße