SEO: Title Tag und Metadescription 

Title Tag und Meta Description in TYPO3 Templates optimieren - alternative Felder unter TYPO3 8 LTS nutzen für ein optimales SERP Ergebnis.

11.05.2017 1552

Page Titel und Meta Description

Der Title Tag und die Meta Description sind nun mit die wichtigsten SEO Kriterien und werden (wenn alles gut läuft) in den SERPs angezeigt.
Für den Titel Tag sind bis zu 71 Zeichen möglich, die Meta-Description sollte ungefähr 150 bis 160 Zeichen lang sein. 

Der weitverbreitete Standard in TYPO3:

Der html Titel Tag wird in TYPO3 oft aus dem Seitentitel generiert, der in der Backendansicht gleichzeitig dem Seitennamen in der Baumansicht entspricht. Nachteil: 70 Zeichen in der Backendansicht, dazu noch SEO optimiert macht es nicht wirklich übersichtlich.

Alternativ wir auch schonmal der Subtitel für den Title Tag verwendet, der ist aber auch immer gut für zusätzliche Linktitel in Menüs und daher auch eher suboptimal für den SEO wichtigen page-title-tag. Auch ist das Feld 255 Zeichen lang.

Für die Meta Description wird aus den Seiteneigenschaften in der Regel das Feld Description ausgewertet - dies ist nur leider eine Textarea ohne Zeichenbegrenzung. Auch hier ist die magische Grenze vonn 150 Zeichen in der Praxis kaum abschätzbar.

Lösungsansätze

Die Seiteneigenschaften unter TYPO3 bieten ja schon den Reiter Metadaten, warum also nicht den Titel-Tag und Description in dort in Feldern mit einer entsprechenden Zeichenbegrenzung darstellen.

Für den Title Tag wird in diesem Beispiel das Feld "Keywords" verwendet, das Beschreibungsfeld wird als Textfeld anstelle der Textarea gerendert um die Zeichenbegrenzung nutzen zu können.

Umsetzung

Damit diese Änderungen greifen, müssen folgende Ergänzungen erfolgen:

  • Im Template Setup: Ergänzung der headerData für das Rendering des individuellen Title Tags
  • TCA Overrides für die Tabelle pages um die Felder keywords und description anzupassen
  • Anpassung der Labes über Typoscript TCEFORM

Änderungen im Template Setup:

#Standard Title-Tag verbergen:
config.noPageTitle = 2

#eigene headerData hinzufügen:
headerData {
        1 = TEXT
        1 {
            field = keywords
            noTrimWrap = |<title>|</title>|
        }
    }

TCA Overrides für die Tabelle Pages 
Verzeichnis: my_extension/Configuration/TCA/Overrides/pages.php

$GLOBALS['TCA']['pages']['columns'] = array_replace_recursive(
    $GLOBALS['TCA']['pages']['columns'],
    [
       'keywords' => [
            'label' => 'titletag',
            'config' => [
                'type' => 'input',
                'size' => 70,
                'max' => 70
            ]
        ],

        'description' => [
            'label' => 'description',
            'config' => [
                'type' => 'input',
                'size' => 150,
                'max' => 150
            ]
        ]
    ]
);

Anpassung der Labes (PageTS)

TCEFORM {
    pages {
        keywords {
            label.default = Titel Tag der Seite (70 Zeichen)
            label.de = Titel Tag der Seite (70 Zeichen)
        }

        description {
            label.default = Description (ca. 150 Zeichen)
            label.de = Description (ca. 150 Zeichen)
        }
}

Um nicht die Übersicht zu verlieren reicht eine kleines Backendmodul das die beiden Felder für alle Seiten in einer Listenansicht darstellt.
Es gibt keine Garantie das google den Title Tag oder die Description in der SERPs anzeigt, andersherum ist aber eine Grundvoraussetzung um dies zu ermöglichen.