JTL-Shop SEO individuelle Kategorie-Überschriften

Okt 7, 2022 | Tutorial | 0 Kommentare

So kannst du für ein besseres SEO im JTL-Shop, individuelle Kategorie-Überschriften, unabhängig von den Kategorie-Namen, anlegen.

Wer sich mit SEO für seinen JTL-Shop beschäftigt, dem wird bestimmt schon aufgefallen sein, dass es keine Möglichkeit gibt individuelle Kategorie-Überschriften anzulegen. Standardmäßig ist das Verhalten des JTL-Shops so, dass die Kategorie-Namen auch gleich als Kategorie-Überschriften verwendet werden.

Aus SEO Sicht verschenkt man damit aber immenses Potenzial. Gerade die Kategorien, mit den Produktübersichten, sollen ja gut gerankt werden, zumal diese Überschriften mit dem H1 Tag versehen sind und damit die höchste Wertigkeit haben.

Leider geht das sowohl bei JTL-Shop4 als auch bei JTL-Shop5 nicht schon von Hause aus. Um individuelle Überschriften im JTL-Shop zu erreichen, muss eine Datei im Shop Template angepasst werden.

Diese Anpassungen müssen sowohl für den JTL-Shop4 mit seinem EVO-Template, als auch für den JTL-Shop5 mit dem NOVA-Template erfolgen.

Um updatefähig zu bleiben, dürfen diese Änderungen natürlich nur im Child Theme erfolgen. Davon gehen wir hier auch aus.

Separate Kategorie-Überschriften in der JTL-Wawi hinterlegen

In dieser Anleitung realisieren wir das mit einem individuellen Funktionsattribut für Kategorien. Ein Vorteil ist, dass bei Kategorie Attributen mehrere Sprachen hinterlegt werden können.

Im ersten Schritt muss also über das Menü „Artikel“ ein neues Attribut angelegt werden. Das Attribut muss ein Funktionsattribut für Kategorien sein und das nennen wir „ueberschrift_h1“. Weiterhin muss noch der Haken für den Shop gesetzt werden, für welchen das Attribut aktiv sein soll.

Im nächsten Schritt öffnen wir die Einstellungen der entsprechenden Kategorie in der Wawi und gehen auf den Tab Attribute. Hier weisen wir das Funktionsattribut der Kategorie zu und hinterlegen den Text für die Überschrift.

Template-Änderungen im JTL-Shop

Jetzt muss noch eine Code-Anpassung im Template eingebaut werden. Idealerweise macht man das natürlich in einem Child Theme, damit man auch Updatefähig bleibt. Der Vorteil im Child Theme ist, dass wir nur den Block mit der Änderung überschreiben müssen. Leider ist der Block beim EVO-Template etwas größer.

Template Anpassung für JTL-Shop4 (EVO)

Im EVO-Child-Template des JTL-Shop4 muss im Ordner „productlist“ die Datei „header.tpl“ angelegt werden. In diese Datei muss dann nachfolgender Code für den Block reinkopiert werden. Alternativ kann auch in der Original-Datei des EVO-Templates der Block angepasst werden. Mit der Alternative ist das EVO-Template dann aber nicht mehr Update sicher.

{* Erweiterung des Evo-Templates Kategorie header.tpl *}

{extends file="../../Evo/productlist/header.tpl"}

{block name="productlist-header"}
{if isset($oNavigationsinfo->cName) && $oNavigationsinfo->cName !== '' || isset($oNavigationsinfo->cBildURL) && !empty($oNavigationsinfo->cBildURL)}
    {if (isset($oNavigationsinfo->oKategorie->KategorieAttribute.ueberschrift_h1) && $oNavigationsinfo->oKategorie->KategorieAttribute.ueberschrift_h1|@strlen > 0)}
        <div class="title"><h1>{$oNavigationsinfo->oKategorie->KategorieAttribute.ueberschrift_h1}</h1></div>
    {else}
        <div class="title">{if $oNavigationsinfo->cName}<h1>{$oNavigationsinfo->cName}</h1>{/if}</div>
    {/if}
    <div class="desc clearfix">
        {if !empty($oNavigationsinfo->cBildURL) && $oNavigationsinfo->cBildURL !== 'gfx/keinBild.gif' && $oNavigationsinfo->cBildURL !== 'gfx/keinBild_kl.gif'}
          <div class="img pull-left">
            <img class="img-responsive" src="{$oNavigationsinfo->cBildURL}" alt="{if isset($oNavigationsinfo->oKategorie->cBeschreibung)}{$oNavigationsinfo->oKategorie->cBeschreibung|strip_tags|truncate:40|escape:"html"}{elseif isset($oNavigationsinfo->oHersteller->cBeschreibung)}{$oNavigationsinfo->oHersteller->cBeschreibung|strip_tags|truncate:40|escape:"html"}{/if}" />
          </div>
        {/if}
        {if $Einstellungen.navigationsfilter.kategorie_beschreibung_anzeigen === 'Y'
            && isset($oNavigationsinfo->oKategorie) && $oNavigationsinfo->oKategorie->cBeschreibung|strlen > 0
            && $Einstellungen.navigationsfilter.kategorie_bild_anzeigen !== 'B'}
            <div class="item_desc custom_content">{$oNavigationsinfo->oKategorie->cBeschreibung}</div>
        {/if}
        {if $Einstellungen.navigationsfilter.hersteller_beschreibung_anzeigen === 'Y'
            && isset($oNavigationsinfo->oHersteller) && $oNavigationsinfo->oHersteller->cBeschreibung|strlen > 0
            && $Einstellungen.navigationsfilter.hersteller_bild_anzeigen !== 'B'}
            <div class="item_desc custom_content">{$oNavigationsinfo->oHersteller->cBeschreibung}</div>
        {/if}
        {if $Einstellungen.navigationsfilter.merkmalwert_beschreibung_anzeigen === 'Y'
            && isset($oNavigationsinfo->oMerkmalWert) && $oNavigationsinfo->oMerkmalWert->cBeschreibung|strlen > 0
            && $Einstellungen.navigationsfilter.merkmalwert_bild_anzeigen !== 'B'}
            <div class="item_desc custom_content">{$oNavigationsinfo->oMerkmalWert->cBeschreibung}</div>
        {/if}
    </div>
{/if}
{/block}

Template Anpassung für JTL-Shop5 (Nova)

Im Ordner „productlist“ muss die Datei „header.tpl“ angepasst werden. Im NOVA-Child-Template muss die Datei entsprechend angelegt werden, sofern die Datei noch nicht existiert. Hier wird dann der folgende Code reinkopiert. Der Code fällt nur deshalb kürzer aus, da im NOVA Template die Blöcke detaillierter ausfallen.

{extends file="{$parent_template_path}/productlist/header.tpl"}

                {block name='productlist-header-description-heading'}

                    {if (isset($oNavigationsinfo->oKategorie->categoryFunctionAttributes.ueberschrift_h1) && $oNavigationsinfo->oKategorie->categoryFunctionAttributes.ueberschrift_h1|@strlen > 0)}
                        <h1 class="h2">{$oNavigationsinfo->oKategorie->categoryFunctionAttributes.ueberschrift_h1}</h1>
                    {else}
                        <h1 class="h2">{$oNavigationsinfo->getName()}</h1>
                    {/if}

                {/block}

Alternativ kann auch in der Original-Template-Datei dieser Block ersetzt werden. Allerdings ist dann die Update-Fähigkeit nicht mehr gegeben.

Fazit

Mit ein paar Code Anpassungen im Template des JTL-Shops, ist es möglich individuelle vom Kategorie-Namen, getrennte Kategorie-Überschriften, festzulegen. Damit steigert man entsprechend die SEO Anforderungen des Shops, da vielfach die Kategorie-Namen im OnPage-SEO als Überschrift viel zu kurz eingestuft werden.

0 Kommentare

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert