Go to main content

Textpattern CMS support forum

You are not logged in. Register | Login | Help

#1 2010-06-26 13:31:56

GugUser
Member
From: Quito (Ecuador)
Registered: 2007-12-16
Posts: 1,477

[de-de] Wie geht ihr in <head> mit title und description um?

Viele der von mir mit TxP realisierten Websites haben die folgende Organisationsstruktur: Sektionen dienen auch zur Bildung der Hauptnavigation, die Unternavigationen werden z. T. durch Sektionen und z. T. durch Artikellisten gebildet. Meine folgenden Überlegungen und der weiter unten gezeigte Lösungsvorschlag gelten für diese Konstellation.

In früheren mit TxP realisierten Websites verwendete in den Ansatz, die Textschnippsel für title und description in <head> als Konstanten in Variablen festzulegen und diese dann sektionsabhängig ausgeben zu lassen. Das hatte mich aber aus mehreren Gründen nie richtig zufriedengestellt. Unter anderem, weil Autoren oder Autorinnen diese Texte nicht individuell für Artikel editieren konnten.

Vor kurzem kaufte ich das Plug-in glz_custom_fields, mit welchem auch benutzerdefinierte Felder als textarea angelegt werden können, was es einfacher macht, einen oder zwei Sätze rein zu schreiben und dabei die Übersicht zu behalten.

Das motivierte mich auch, das alte, nie recht gelöste Problem mit den individuellen Texteingaben für title und description neu anzugehen.

Ich beschreibe im Folgenden, wie ich das für title gemacht habe, der Umgang mit description ist vom Vorgehen her praktisch identisch.

Mein erster Lösungsversuch im Baustein head war:

<title><txp:if_custom_field name="Browserbalken"><txp:custom_field name="Browserbalken" /> | <txp:else /><txp:title /> | </txp:if_custom_field><txp:site_name /></title>

In den Websites, in denen ich diesen Codeschnippsel verwendete, lieferte dieser teilweise das gewünschte Resultat, teilweise nicht. Dies, weil der Inhalt eines Artikels in verschiedenen Konstellationen gezeigt werden kann. Einerseits als kurze Artikelliste, in welcher der Inhalt jedes Artikels ganz gezeigt wird (in der URL ist nur die Sektion sichtbar) und wo der erste Artikel entweder den Status sticky oder live haben kann. Anderseits als individueller Artikel, auch mit der Möglichkeit Status sticky oder live zu berücksichtigen.

Ich wollte, dass in title der Inhalt des benutzerdefinierten Feldes Browserbalken des ersten Artikels in der Artikelliste oder des individuell gezeigten Artikels eingesetzt würde.

Das war, wegen der verschiedenen Konstellationen, komplizierter als ich es mir vorher gedacht hatte. Der folgende Code zeigt die Lösung, welche schliesslich funktioniert (z. B. auf dieser Website). Der Übersichtlichkeit zuliebe ist der Code etwas strukturiert, in der echten Anwendung ist er als eine Zeile geschrieben:

<txp:variable name="hat-sticky" value='<txp:article status="sticky" limit="1" />' />
<txp:if_variable name="hat-sticky" value=""><txp:variable name="status" value="live" /><txp:else /><txp:variable name="status" value="sticky" /></txp:if_variable>

<txp:if_article_list>

	<txp:article limit="1" status='<txp:variable name="status" />' sort="mit Angaben in andern Bausteinen koordinieren">
	<txp:if_custom_field name="Browserbalken"><txp:custom_field name="Browserbalken" /> | <txp:else /><txp:title /> | </txp:if_custom_field>
	</txp:article>

<txp:else />

	<txp:article limit="1" status='<txp:variable name="status" />'>
	<txp:if_custom_field name="Browserbalken"><txp:custom_field name="Browserbalken" /> | <txp:else /><txp:title /> | </txp:if_custom_field>
	</txp:article>

</txp:if_article_list>

<txp:site_name />

Einerseits bin ich froh, diese Lösung erarbeitet zu haben, anderseits finde ich es viel Code für die paar Wörter, welche schlussendlich ausgegeben werden. Aber, die Texte können für jeden Artikel über die Seite Verfassen individuell angegeben werden, und falls nicht, existiert eine alternative Lösung.

Übrigens: In der verlinkten Beispielseite ist <title /> im Code mit Plug-ins eigenen Tags erweitert: <txp:etz_striptags><txp:upm_textile><txp:title /></txp:upm_textile></txp:etz_striptags>.

Nun zur Frage im Titel meines Beitrages: Da der Code dieser Lösung doch recht aufwändig ist, würde es mich interessieren, wie andere Leute das geschilderte Problem lösen. Es würde mich freuen, wenn hier Lösungsansätze ausgetauscht werden könnten, da gemäss meines Wissenstandes TxP keine brauchbare Standardlösung integriert hat.

Und falls ich mich irren sollte, dann lerne ich gerne neu dazu.

Anmerkung am 26. August 2010: Der erwähnten Website wurde nachträglich ein Blog hinzugefügt. Dabei gab es Schwierigkeiten mit <txp:newer> und <txp:older>. Mit der Zeit wurde mir klar, dass die Probleme mit mehrfach vorhanden <txp:article> zu tun hatten. Aus diesem Grund musste ich den oben gezeigten Code umbauen und unter anderem alle <txp:article> bzw. </txp:article> durch <txp:article_custom section='<txp:section />' [usw.]> bzw. </txp:article_custom> ersetzen. Dies als Hinweis, falls jemand meine Lösung übernehmen möchte.

Last edited by GugUser (2010-08-26 21:20:37)

Offline

#2 2010-06-28 11:23:44

rentaseo
Member
From: Schwandorf
Registered: 2009-11-30
Posts: 20
Website

Re: [de-de] Wie geht ihr in <head> mit title und description um?

Aus der Sicht eines SEO ist der wichtigste Punkt: Jede Unterseite muss einen unterschiedlichen Title haben, die Description ist m.E. nur notwendig, wenn es sich um sog. Landingpages (also hochoptimierte Unterseiten) handelt und wirklich unschöne Ergebnisse (letzter Absatz) zu erwarten sind.

Wie gehe ich persönlich bei (wichtigen) Projekten damit um:

1. Die Startseite kodiere ich fix, title und meta-description
2. Kategorien, Tags, Archiv, Startseite > 1: Keine Description, Title egal (da sowieo auf “noindex, follow” gesetzt)
3. Title-Tag und Meta-Description über Custom Fields
3.a. Wenn befüllt, diese übernehmen
3.b. Wenn nicht befüllt: Title = Überschrift (oder URL), Description = Erste 120 Zeichen im Text

Zu 3.b. Die Description ist eigentlich nicht notwendig, führt aber bei Installtionen, bei denen nicht der Text vor den Navigationen (Menü, Listung der aktuellen Artikel, aktuelle Kommentare etc.) kommt, manchmal zu unschönen Ergebnissen. Daher die ersten 120 Zeichen. Ich jtze dafür rss_auto_excerpt von Rob Sable.

Offline

#3 2010-07-16 08:09:22

lythande
Member
Registered: 2009-09-08
Posts: 202
Website

Re: [de-de] Wie geht ihr in <head> mit title und description um?

Hallo GugUser,

ich habe dein Problem vielleicht nicht so ganz verstanden, aber hast du denn auch mal mit if_article_list gearbeitet?
Grundsätzlich gebe ich folgendes aus:
Title – Section – Site-Name
und wenn kein Titel vorhanden ist (also wenn auch kein individueller Artikel angeklickt ist = kein Titel!), dann wird nur Section – Site-Name angezeigt.
Startseite ist hier auch fix.

<title><txp:if_section>

      <txp:if_individual_article><txp:title /> - </txp:if_individual_article><txp:section title="1" /> - <txp:site_name />
<txp:else />
<txp:if_individual_article><txp:title /> - </txp:if_individual_article> <txp:if_section name="default" > Home </txp:if_section> - <txp:site_name />

      </txp:if_section></title>

Die meta-Description füge ich meist extra ein, und zwar nur für die Section selbst, nicht jedoch für den Artikel allein. Hier setze ich excerpt ein (oder wenn keins da ist, dann ein Stück Body)

Offline

#4 2010-07-16 13:03:00

GugUser
Member
From: Quito (Ecuador)
Registered: 2007-12-16
Posts: 1,477

Re: [de-de] Wie geht ihr in <head> mit title und description um?

Hallo lythande

Ich würde <txp:if_individual_article> als Umkehrung von <txp:if_article_list> bezeichnen. Die Bedingungen stehen dann einfach in umgekehrter Anordnung vor und nach dem <txp:else />.

Allerdings gelang es mir offenbar nicht, verständlich darzulegen, worum es mir ging. Das schliesse ich jedenfalls aus der mageren Reaktion auf meinen Beitrag (und aus deiner diesbezüglichen Bemerkung).

Zudem lieferte ich ja die von mir für mich gefundene Lösung mit. Das anfängliche Problem ist für mich damit gelöst. Ich wollte eher wissen, wie andere mit derselben Situation umgehen.

Ich wollte mich eben nicht auf “Sektion | Seitenname” beschränken. Und die Artikeltitel sind auf den Seiten, wo ich den angegeben Kode anwende (z. B. auch hier, Landert-Recruitment [das Design übernahm ich zum grössten Teil von meinem Webdesigner-Vorgänger]) oft zu lange für den Browserbalken und/oder enthalten zu wenige für Suchmaschinen bedeutende Begriffe.

Last edited by GugUser (2010-07-16 13:04:32)

Offline

Board footer

Powered by FluxBB