WordPress: Individuelle Seitentitel im HTML-Header festlegen

Tipp für ein perfektes <title>-Tag...

Werbung
In WordPress können mit benutzerdefinierten Feldern ganz einfach individuelle <title>-Tags für Beiträge und Seiten erzeugt werden.
In WordPress können mit benutzerdefinierten Feldern ganz einfach individuelle <title>-Tags für Beiträge und Seiten erzeugt werden.
☆ Dieser Artikel ist Teil unserer WordPress-Trickkiste – Tipps, Tricks und Tutorials… ☆

WordPress verwendet den für Beiträge und Seiten gewählten Titel auch für das HTML-Tag <title>. In den meisten Fällen ist das eine akzeptable Vorgehensweise und erspart zusätzliche Schreibarbeit.

Aus Gründen der Suchmaschinen-Optimierung (SEO), aber auch aus ästhetischer Sicht kann es Sinn machen, für jeden Beitrag bzw. für jede Seite individuelle <title>-Tags festzulegen, die unabhängig von den im Content verwendeten Überschriften sind.

Leider bietet WordPress hierfür von Haus aus keine Option. Aber mithilfe von benutzerdefinierten Feldern („custom fields“) lässt sich diese Aufgabe effizient lösen – und das sogar ganz ohne Plugin.

Anleitung zum Einrichten individueller Seitentitel

Für die Umsetzung dieser Funktion verwenden wir ein benutzerdefiniertes Feld namens „pagetitle“ (auf Deutsch „Seitentitel“). Sie können natürlich auch eine beliebig andere Bezeichnung nutzen, müssen dann aber im Folgenden das Script entsprechend anpassen.

Unsere Lösung erlaubt es einerseits für jeden Post bzw. jede Seite ein individuelles <title>-Tag festzulegen, andererseits bei Bedarf die Nutzung des generischen Titels beizubehalten:

  • Benutzerdefiniertes Feld „pagetitle“ gesetzt: Individuelles <title>-Tag (der Wert des Feldes „pagetitle“ bestimmt den Seitentitel)
  • Benutzerdefiniertes Feld „pagetitle“ nicht gesetzt: Generisches <title>-Tag (meist eine Kombination aus Überschrift und Name der Website, z.B. „Das ist ein Beitrag – Meine Website“)

Schritt 1: Benutzerdefiniertes Feld anlegen

Benutzerdefinierte Felder lassen sich in WordPress ganz einfach „aus dem Nichts“ über das Admin-Interface erzeugen:

Im Editor für Beiträge (bzw. Seiten) finden Sie einen Abschnitt „Benutzerdefinierte Felder“. Unter „Ein neues benutzerdefiniertes Feld hinzufügen“, klicken Sie auf „Neu eingeben“ und legen dann den Namen des Feldes fest: „pagetitle“ (ohne Anführungszeichen, klein- und zusammengeschrieben).

Fehlt der Abschnitt „Benutzerdefinierte Felder“, scrollen Sie an den Anfang der Seite und klicken auf das Kästchen „Ansicht anpassen“, welches sich rechts oben befindet. Stellen Sie sicher, dass im Bereich „Boxen“ der Eintrag „Benutzerdefinierte Felder“ mit einem Häkchen versehen ist.

Schritt 2: functions.php editieren

Nun müssen wir WordPress mitteilen, was es mit dem Inhalt des benutzerdefinierten Felds „pagetitle“ tun soll. Dies geschieht in der Datei functions.php, die Teil jedes (Child-)Themes ist und sich im Unterverzeichnis ./wp-content/themes/<Name des Layouts> befindet.

Fügen Sie den folgenden Code in die Datei functions.php des aktiven Themes ein:

/* Individuelles <title>-Tag festlegen. */
add_filter( 'document_title_parts', 'my_page_title');
function my_page_title( $title ) {

if ( !is_singular() ) return $title;

$custom_title = get_post_meta(get_the_id(),"pagetitle",true);

if ( !empty( $custom_title ) ){
   $custom_title = esc_html( $custom_title );
   $title['title'] = $custom_title;
        }
   return $title;
}

Zum Bearbeiten der Datei können Sie einen Editor auf Shellebene nutzen, beispielsweise pico oder vi. Alternativ laden Sie die Datei via FTP herunter, ändern diese in einem Editor auf Ihrem Computer und laden die modifizierte Fassung hoch.

Tipp: Fehler in der Datei functions.php quittiert WordPress meist mit einem weißen Bildschirm beim Aufruf der Website oder des Admin-Panels – nichts geht mehr. Es ist deshalb sinnvoll, vor jeder Änderung ein Backup der Originaldatei zu erstellen!

Schritt 3: Benutzerdefiniertes Feld in Beiträgen/Seiten verwenden

Um zukünftig für einen Beitrag bzw. eine Seite ein individuelles <title>-Tag festzulegen, wählen Sie im Editor den Eintrag „pagetitle“ aus der Liste der benutzerdefinierten Felder und versehen dessen Wert mit dem gewünschten Inhalt.

Zeichen mit einer für HTML besonderen Bedeutung werden automatisch maskiert (siehe Zeile 10 im Quelltext). Sie können also bedenkenlos Anführungszeichen oder Symbole wie < und > nutzen.

Wird das Feld nicht gesetzt (oder später wieder gelöscht), bestimmt WordPress den Inhalt des <title>-Tags wie gewohnt. So einfach geht das! 🙂

Werbung
IT- & Business Consultants, Softwareentwickler, Webdesigner und Kreative - alle Leistungen rund um IT und Internet für kleine und mittelständische Unternehmen, Handwerker, Selbständige und Freiberufler!

TOBIAS EICHNER IT + CONSULTING   -   persönliche Beratung in ganz Oberfranken...

Viel Erfolg beim Ausprobieren!


Stand der Informationen: Juni 2020
Wichtig: Bitte beachten Sie die Nutzungsbedingungen und rechtlichen Hinweise für diesen Beitrag!