Skip to content

Alles für WordPress, Webentwicklung — und mehr

🔧 So passen Sie WordPress-Überschriften an: 4 Techniken mit functions.php

🔧 So passen Sie WordPress-Überschriften an: 4 Techniken mit functions.php

Überschriften in WordPress sind mehr als nur Text oben auf einer Seite. Sie arbeiten für Sie in vier Richtungen gleichzeitig: SEO (Title-Tag in der SERP), Navigation (Browser-Tab), Design (visuelle Hierarchie auf der Seite) und redaktionelle Kontrolle (was Autoren schreiben). Die Standard-Admin-Einstellungen decken jedoch nur die Grundlagen ab; für die Feinabstimmung ist Code erforderlich.

Das Problem verschärft sich, wenn mehrere Autoren an einer Website arbeiten. Einer schreibt 120 Zeichen lange Überschriften und zerstört das Layout. Ein anderer verwendet Wörter, die Ihr Partner vertraglich untersagt hat. Ein dritter vergisst, dass der Seitentitel in der SERP und auf der Website zwei separate Felder sind. Manuell können Sie nicht allen hinterher sein.

Nachfolgend finden Sie vier spezifische Techniken zur Konfiguration von WordPress-Überschriften über functions.php. Jede löst ihre eigene Aufgabe: von automatischer Längenkürzung bis zur programmatischen Sperrung von Stoppwörtern. Der Code verwendet dokumentierte WordPress-Filter und wurde auf WP 6.x getestet. Am Ende finden Sie einen FAQ-Bereich zum Thema.

💡 Kurzüberblick:

  • Überschriftenlänge automatisch über den the_title-Filter begrenzen, damit Autoren das Layout nicht zerstören können
  • Ausrichtung von Beitragsüberschriften über single.php ändern, ohne Plugins oder CSS-Änderungen
  • Veröffentlichung von Beiträgen mit verbotenen Wörtern über den transition_post_status-Hook blockieren
  • Das Trennzeichen des Title-Tags ändern und benutzerdefinierte Titel über Metafelder hinzufügen

So begrenzen Sie die Länge von WordPress-Überschriften

Eine lange Überschrift kann selbst das sorgfältigst gestaltete Layout zerstören. Auf der Startseite, wo Auszüge angezeigt werden, läuft eine 120 Zeichen lange Überschrift aus der Karte heraus, und das Design wirkt defekt. Besonders hart trifft dies Websites mit mehrspaltigen Rastern.

Die Lösung ist der the_title-Filter, der die Überschrift bei der Anzeige auf der Seite auf ein festgelegtes Limit kürzt. Der tatsächliche Datensatz in der Datenbank bleibt unberührt; nur der angezeigte Text wird gekürzt.

Code für functions.php:

1function sdstudio_limit_title_length( $title ) {
2 $max = 60;
3 if ( mb_strlen( $title ) > $max ) {
4 return mb_substr( $title, 0, $max ) . ' …';
5 }
6 return $title;
7}
8add_filter( 'the_title', 'sdstudio_limit_title_length' );

Folgendes passiert hier: mb_strlen zählt Zeichen für Kyrillisch korrekt (anders als strlen, das Bytes zählt). Wird das Limit von 60 Zeichen überschritten, wird die Überschrift gekürzt und am Ende eine Ellipse angefügt, damit Leser verstehen, dass dies nicht der vollständige Text ist. Sie können 60 durch eine beliebige andere Zahl ersetzen, um sie an Ihr Layout anzupassen.

Wo selektiv anwenden? Wenn Sie Überschriften nur an einer bestimmten Stelle kürzen müssen (etwa in einem Widget für beliebte Beiträge), verpacken Sie add_filter in einen Conditional Tag:

1if ( is_home() || is_front_page() ) {
2 add_filter( 'the_title', 'sdstudio_limit_title_length' );
3}

Derselbe Ansatz funktioniert für is_archive(), is_category() und jeden anderen Kontext.

So ändern Sie die Ausrichtung von Beitragsüberschriften

WordPress-Themes sind unterschiedlich. Manche bieten Ausrichtungsoptionen im Customizer, andere nicht. Fällt Ihr Theme in die zweite Kategorie, ist die Überschrift standardmäßig linksbündig, und Sie werden dafür keine Einstellung im Admin-Bereich finden.

Die Ausrichtung der Überschrift wird in der Template-Datei single.php festgelegt, die für die Anzeige einzelner Beiträge zuständig ist. Es sind nur vier Schritte:

WordPress-Theme-Editor single.php mit Überschriften-Ausrichtungscode
  • Öffnen Sie Design → Theme-Editor (oder die Datei single.php via FTP/Hosting-Panel)
  • Finden Sie die Zeile <?php the_title(); ?>, die die Überschrift ausgibt
  • Umschließen Sie sie mit einem Tag mit der gewünschten Ausrichtung

Linksbündig (Standard):

1<?php the_title(); ?>

Zentriert:

1<div style="text-align: center;"><?php the_title(); ?></div>

Rechtsbündig:

1<div style="text-align: right;"><?php the_title(); ?></div>
  • Speichern Sie die Datei und öffnen Sie einen beliebigen Beitrag; die Überschrift erscheint in der angegebenen Position

Diese Methode ist einfach, funktioniert aber für jedes Theme. Ein sauberer Ansatz ist, eine CSS-Klasse über den body_class-Filter hinzuzufügen und über das Stylesheet zu gestalten, aber für eine schnelle Lösung sind Inline-Styles ausreichend.

So blockieren Sie unerwünschte Wörter in Überschriften

Eine textliche Ermahnung an Autoren („Bitte verwenden Sie Wort X nicht in Überschriften") funktioniert bis zur ersten vergessenen Deadline. Früher oder später wird jemand eine Überschrift mit einer verbotenen Formulierung veröffentlichen, und im besten Fall sieht den Beitrag jemand intern; im schlimmsten Fall sieht ihn ein Partner oder Wettbewerber.

Die programmatische Sperrung löst das Problem radikal: WordPress verhindert schlicht die Veröffentlichung des Beitrags, wenn die Überschrift ein Stoppwort enthält. Der Autor sieht eine Fehlermeldung und muss den Text vor der Veröffentlichung korrigieren.

Functions.php-Code zum Sperren verbotener Wörter in WordPress-Überschriften

Code für functions.php:

1function sdstudio_block_forbidden_title_words( $new_status, $old_status, $post ) {
2 if ( 'publish' !== $new_status || 'publish' === $old_status ) {
3 return;
4 }
5
6 $restricted = array( 'word1', 'word2', 'word3' );
7 $title = $post->post_title;
8
9 foreach ( $restricted as $word ) {
10 if ( mb_stripos( $title, $word ) !== false ) {
11 wp_die( 'Ошибка: заголовок содержит запрещённое слово — «' . esc_html( $word ) . '». Измените заголовок и попробуйте снова.' );
12 }
13 }
14}
15add_action( 'transition_post_status', 'sdstudio_block_forbidden_title_words', 10, 3 );

So funktioniert es: Der Hook transition_post_status wird bei jeder Statusänderung eines Beitrags ausgelöst. Wir prüfen, ob der neue Status publish und der alte Status nicht publish ist (andernfalls würde auch jedes Update eines bereits veröffentlichten Beitrags blockiert). Anschließend durchsucht mb_stripos die Überschrift ohne Berücksichtigung der Groß- und Kleinschreibung nach jedem Stoppwort. Wird ein Wort gefunden, stoppt wp_die die Veröffentlichung mit einer klaren Meldung.

Um eigene Wörter hinzuzufügen, ersetzen Sie wort1, wort2, wort3 im Array $restricted. Sie können beliebig viele Wörter ergänzen; die Funktion iteriert über alle.

Bonus: Zeigen Sie Autoren die Liste der verbotenen Wörter direkt unter dem Titelfeld an. Fügen Sie diesen Code in dieselbe functions.php ein:

1function sdstudio_show_restricted_words_notice() {
2 $restricted = array( 'word1', 'word2', 'word3' );
3 echo '<div style="color:#856404;background:#fff3cd;padding:6px 12px;margin:8px 0;border-radius:4px;font-size:13px;">';
4 echo 'Запрещённые слова в заголовке: <strong>' . implode( ', ', $restricted ) . '</strong>';
5 echo '</div>';
6}
7add_action( 'edit_form_after_title', 'sdstudio_show_restricted_words_notice' );

Nun ist die Liste der Stoppwörter oberhalb des Editors sichtbar, sodass Autoren nicht raten müssen, was verboten ist.

Title-Trennzeichen und individuelle Title-Tags

Das Title-Trennzeichen ist das Symbol zwischen dem Seitennamen und dem Beitragstitel im <title>. In den Suchergebnissen erscheint es als „Seitenname | Beitragstitel" oder „Seitenname - Beitragstitel". Dies beeinflusst die Klickrate nicht direkt, hebt Ihr Snippet aber optisch von anderen ab.

Seit WordPress 4.4 wird das Trennzeichen über den Filter document_title_separator geändert. Der Code umfasst nur drei Zeilen:

1function sdstudio_change_title_separator( $separator ) {
2 return '|';
3}
4add_filter( 'document_title_separator', 'sdstudio_change_title_separator' );

Sie können das Symbol in der dritten Zeile durch ein beliebiges Zeichen ersetzen: senkrechter Strich, Bindestrich, Größer-als-Zeichen, Mittelpunkt. Verwenden Sie keine Sonderzeichen wie ★ oder →; Google stellt sie nicht dar, und Ihr Snippet in den Suchergebnissen wirkt unsauber.

Für Versionen unter WordPress 4.4: Die Funktion wp_title ist veraltet. Sollte Ihre Website noch auf einer älteren Version laufen, aktualisieren Sie diese zuerst (dies ist eine Sicherheitsfrage) und passen Sie dann das Trennzeichen an. Der alte Code mit wp_title bleibt in der WordPress-Dokumentation als historische Referenz erhalten, wird aber nicht empfohlen.

So hinterlegen Sie ein individuelles Title-Tag für einen einzelnen Beitrag

Es gibt Situationen, in denen das Title-Tag für die SERP von der H1 auf der Seite abweichen soll. SEO-Plugins (Yoast, Rank Math) bieten hierfür ein separates Feld. Wenn Sie jedoch kein SEO-Plugin nutzen, lösen Sie die Aufgabe mit einem benutzerdefinierten Feld und dem Filter pre_get_document_title.

Code für functions.php:

1function sdstudio_custom_title_from_meta( $title ) {
2 if ( is_singular() ) {
3 $custom = get_post_meta( get_the_ID(), 'custom_post_title', true );
4 if ( $custom ) {
5 return esc_html( $custom );
6 }
7 }
8 return $title;
9}
10add_filter( 'pre_get_document_title', 'sdstudio_custom_title_from_meta', 20 );

So nutzen Sie es:

  • Öffnen Sie den Beitrag, der einen individuellen <title> benötigt
  • Erstellen Sie im Block „Benutzerdefinierte Felder" (falls Sie ihn nicht sehen, aktivieren Sie ihn unter „Ansicht anpassen") ein Feld mit dem Namen custom_post_title
  • Tragen Sie als Wert das gewünschte Title-Tag ein, zum Beispiel „Caching-Plugin Test 2026, Vergleich und Erfahrungen"
  • Speichern Sie den Beitrag

Ist das benutzerdefinierte Feld nicht ausgefüllt, verwendet WordPress das Standard-Title-Tag (Beitragstitel + Trennzeichen + Seitenname). Der Mechanismus greift nur für einzelne Seiten (is_singular); Überschriften in Archiven und im Admin-Bereich bleiben unberührt.

Wichtiger Hinweis: pre_get_document_title hat die Priorität 20, wodurch sichergestellt wird, dass der Filter NACH der standardmäßigen Title-Bildung ausgeführt wird und diese überschreibt.

Sehen Sie sich das 6-minütige Video zum Thema an; es zeigt den visuellen Ablauf der Konfiguration von Title-Tags über das WordPress-Admin und SEO-Plugins.

⁉️🤔 Häufig gestellte Fragen

Funktioniert der Code aus diesem Artikel mit WordPress 6.x (der aktuellen Version auf wordpress.org)?

Ja, der gesamte Code wurde mit der aktuellen WordPress-Version getestet. Die Filter the_title, document_title_separator und pre_get_document_title sind seit den Versionen 4.4-5.0 Teil des WordPress-Core und werden in WP 6.x vollständig unterstützt. Die einzige Änderung gegenüber älteren Anleitungen: Der veraltete Hook publish_post wurde durch transition_post_status ersetzt.

Sollte ich die functions.php des Child-Themes bearbeiten oder kann ich die des Haupt-Themes verwenden?

Bearbeiten Sie immer das Child-Theme. Wenn Sie die functions.php des Haupt-Themes bearbeiten, gehen alle Änderungen beim nächsten Update verloren. Falls Sie kein Child-Theme haben, erstellen Sie eines: Das dauert fünf Minuten über das Child Theme Configurator-Plugin oder manuell (eine style.css-Datei plus eine functions.php-Datei mit der Template:-Direktive).

Kann ich dasselbe Ergebnis auch mit Plugins statt mit Code erzielen?

Teilweise. Für SEO-Titel gibt es Yoast SEO und Rank Math. Für die Längenbegrenzung existieren Plugins wie Title Length Limiter, deren Support jedoch unzuverlässig ist. Für das Sperren von Wörtern und das Ändern des Trenners gibt es keine Standard-Plugins; hier funktioniert nur Code. Zudem verlangsamt jedes zusätzliche Plugin die Seite, während vier Zeilen in der functions.php keine spürbare Last verursachen.

Was tun, wenn die Seite nach der Bearbeitung der functions.php einen weißen Bildschirm zeigt?

Verbinden Sie sich per FTP oder über den Dateimanager Ihres Hostings mit dem Server, öffnen Sie die functions.php und löschen Sie den hinzugefügten Code. Wenn Sie keinen FTP-Zugang haben, rufen Sie phpMyAdmin auf, suchen Sie die Tabelle wp_options, die Zeile active_plugins und deaktivieren Sie vorübergehend alle Plugins (dadurch wird der Cache geleert). Für die Zukunft: Aktivieren Sie vor jeder Bearbeitung der functions.php das WP_DEBUG in der wp-config.php; dann sehen Sie anstelle eines weißen Bildschirms den Fehlertext.

Beeinflusst der Titeltrenner die Suchmaschinenoptimierung?

> Es gibt keinen direkten Einfluss auf das Ranking; Google bewertet nicht, ob Sie | oder - verwenden. Es gibt einen indirekten Effekt: Google zeigt nicht-standardmäßige Trenner möglicherweise nicht an (, ), und Ihr Snippet in den Suchergebnissen wirkt optisch schlechter. Außerdem fördert ein wiedererkennbarer Trenner den Markenaufbau: Nutzer gewöhnen sich an das Format „Marke | Titel" und erkennen Ihre Ergebnisse in der SERP schneller.

Was implementieren und in welcher Reihenfolge

Die vier oben genannten Techniken decken alle wesentlichen Szenarien für die Arbeit mit WordPress-Überschriften ab. Die Reihenfolge der Implementierung geht vom Einfachen zum Komplexen:

Ändern Sie zuerst den Trenner des Title-Tags; das sind drei Codezeilen mit sofortigem Ergebnis in den Suchergebnissen. Konfigurieren Sie dann benutzerdefinierte <title>-Tags über Metafelder, falls Ihre Website Schlüsselseiten hat, die separate SERP-Titel benötigen. Implementieren Sie danach den Längenfilter; er schützt das Layout vor überlangen Überschriften, ohne dass Autoren eingreifen müssen. Fügen Sie zuletzt die Stoppwort-Sperre hinzu, sobald die Liste der verbotenen Phrasen abgestimmt und freigegeben ist.

Erstellen Sie vor jeder Bearbeitung der functions.php eine Sicherungskopie der Datei: Kopieren Sie ihren Inhalt in einen Texteditor und speichern Sie ihn lokal. Das dauert zehn Sekunden und erspart Ihnen im Fehlerfall stundenlange Wiederherstellungsarbeit.