Meta-Description Text automatisch auf 160 Zeichen kürzen?

Hallo zusammen, ich bekomme es einfach nicht hin… Ich möchte, dass sich der Meta-Description Text automatisch auf 160 Zeichen kürzt. Mit einem truncate:160 bekomme ich es nicht hin. Was muss in folgendem Code ändern, damit nur noch 160 Zeichen ausgegeben werden? <meta name="description" content="{block name='frontend_index_header_meta_description'}{if $sCampaign}{$sCampaign.meta_description}{else}{s name='IndexMetaDescriptionStandard'}{/s}{/if}{/block}">

Es muss aber so gehen: {$sCampaign.meta_description|truncte:160} Geht das nicht? Oder soll der Textbaustein gekürzt werden ({s name=‘IndexMetaDescriptionStandard’}{/s}) ?

Hallo waldicom, Danke für deine Antwort! Es betrifft hauptsächlich die Artikelseiten. Bei einigen Artikeln habe ich keine Kurzbeschreibung hinterlegt, so dass die komplette Beschreibung in der Meta-Description hinterlegt wird. Ich möchte, dass diese auf 160 Zeichen gekürzt werden. Ein {$sCampaign.meta_description|truncte:160} reicht da leider nicht aus. Wo kann ich noch ansetzen?

Bist du sicher, dass du an der richtigen Stellen den Code änderst? Der Smarty-Code, so wie du diesen Postest ist korrekt. So geht es eig. auf jeden Fall.

Hallo ottscho, nein, ganz sicher bin ich mir nicht :wink: Die Änderung nehme ich hier vor: meintemplate/frontend/index/header.tpl und es sieht momentan so aus: <meta name="description" content="{block name='frontend_index_header_meta_description'}{if $sCampaign}{$sCampaign.meta_description|truncate:160}{else}{s name='IndexMetaDescriptionStandard'}{/s}{/if}{/block}"> Jedoch werden bei gewissen Artikeln immernoch mehrere 1000 Zeichen ausgegeben. Eine Kürzung auf 160 Zeichen erfolgt leider nicht. Uuups… Sehe gerade, dass ich im SW 4 Forum gepostet habe. Ich nutze aber noch SW 3.5.6

Kann es dann sein, dass bei manchen Artikeln der Textbaustein ‘IndexMetaDescriptionStandard’ ausgegeben wird? Könntest du ja im Backend unter Textbausteinen nachschauen, ob das derselbe Text ist.

Nehmt ihr denn die komplette Artikelbeschreibung als Grundlage und wollt die dann auf 160 Zeichen runterkürzen? Wäre keine gute Idee. Nur mit viel Glück findet sich ein(e) kunden-/suchmaschinentauglicher Text in den ersten 160 Zeichen der Beschreibung.

Andere Frage, was willst du eig. mit der Variable $sCampaign? Die beinhaltet doch keine Meta Description? Allgemein ist mir deine Variabel $sCampaign.meta_description unbekannt! Ich denke hier liegt dein Fehler. Die Variable gibt es nicht und dann wird automatisch der Textbaustein benutzt. Verwende doch $sArticle.descritpion und gib hier im Artikelstamm explizit deinen Text ein. Dann brauchst du auch nichts zu kürzen…

@waldicom Der „IndexMetaDescriptionStandard“-Text ist unter 160 Zeichen. Bei den Artikel, bei denen ich keine Kurzbeschreibung hinterlegt habe, wird die komplette Artikelbeschreibung ausgegeben. @tscherisch Das ist auch nur ein workaround um die Kuh vorerst vom Eis zu kriegen und die ersten 160 Zeichen sind glücklicherweise auch gar nicht mal so unbrauchbar… Werden aber in den nächsten Wochen/Monaten noch händisch bzw. per csv-Import optimiert. @ottscho Die Variable „$sCampaign.meta_description“ hängt vermutlich mit einer unserer Erweiterungen zusammen. Muss mir das nachher mal in Ruhe bei einer Tasse Kaffee anschauen. Vielleicht liegt da der Hund begraben… Vorerst vielen Dank euch allen! Wie gesagt, ich schau mir das nachher nochmal genauer an…

Nur ein kleiner Hinweis: da zieht sich ein kleiner Schreibfehler durch die Posts. {$sCampaign.meta_description|truncte:160} muss doch eigentlich richtig heißen {$sCampaign.meta_description|truncate:160} Vielleicht hattest du einfach den kleinen Schreibfehler drin? Gruß

sorry, meine Aussagen waren auf SW3.5.x bezogen :wink: Bei SW4 weiß ich es nicht genau. Aber die Variable hat mit der Artikelseite eig. nichts zu tun. Oder?

@martinag Danke für den Hinweis. Bei mir ist kein Schreibfehler drin… @ottscho Bezieht sich bei mir auch auf SW3.5.6. Habe es leider im SW4 Forum gepostet. Sorry, mein Versehen. Nein, die Variable scheint nichts damit zu tun zu haben. Vielleicht setze ich, wie schon von dir vermutet, an der falschen Stelle an… Evtl. ist meintemplate/frontend/index/header.tpl die falsche Baustelle…

Wo steht den dein Ausgangstext welchen du als Description haben möchtest? Das wäre doch mal ein Anfang :wink:

Wie wär’s mit description_long?

Descripton_Long macht kein Sinn, da hier bestimmt zu viel Text vorhanden ist und wenn man diesen einfach nach 160 Zechen abschneidet nichts gescheites raus kommt. Ich würde dir descption (Kurzbeschreibung) vorschlagen.

Der Ausgangstext soll die Kurzbeschreibung (description) des Artikels sein. Wenn dort keine Beschreibung hinterlegt ist, dann soll die Beschreibung (description_long) auf 160 Zeichen gekürzt ausgegeben werden. Meine augenblickliche Überlegung ist, ob ich nicht in meintemplate/frontend/detail/header.tpl ansetzen sollte!?

Dann schreib in den Block deiner header.tpl {if $sArticle.description}{$sArticle.description} {elseif $sArticle.description\_long}{$sArticle.description\_long|truncate:30:""} {else}{s name='IndexMetaDescriptionStandard'}{/s} {/if}

Hallo ottscho, danke! Leider keine Änderung… Ich vermute schon fast, dass ich die falsche header.tpl bearbeite. Welche müsste denn für die Detailseiten zuständig sein? PS: Danke für das Verschieben des Beitrags in das richtige Forum für “Shopware 3.5.x”. Wer auch immer das war :wink:

Der Header aus header.tpl wird auf allen Seiten eingebunden, das muss die richtige Datei sein. Hast du auch deine geänderte header.tpl korrekt in die index.tpl eingebunden? Grüße

Ja und zwar wie folgt: {extends file="../\_default/frontend/index/header.tpl"} {\* Meta-Tags \*} {block name='frontend\_index\_header\_meta\_tags' replace} .... gekürzt! Die anderen nachträglich hinterlegten meta-tags in der header.tpl meines Templates funktionieren. Alles sehr seltsam…