WordPress: Unterschiedliche Titel auf Seite und Menü-Navigation

Seitentitel und Navigation in WordPress trennenIn WordPress entspricht der Titel einer Seite der Bezeichnung in der Menü-Navigation. Wird der Seitentitel geändert, ändert sich auch der Titel in der Navigation. Nun wird der Seitentitel in WordPress jedoch auch für die <h1>-Überschrift der jeweiligen Seite verwendet. H1-Überschriften sind jedoch ein wichtiges Element auf jeder Website, dessen Änderung unabhängig von der Bezeichnung im Menü möglich sein sollte. Möchte man diese Überschrift anders anzeigen als den Titel der Menü-Navigation, muß man zu einem Workaround greifen, der das ermöglicht. Bei meiner Recherche zu diesem Thema bin ich im Internet auf mehrere Lösungsansätze gestoßen, die jedoch durchaus Nachteile haben können. In diesem Beitrag stelle ich beide Möglichkeiten vor, um die Überschrift einer WordPress-Seite anders als den Titel der entsprechenden Menü-Navigation zu benennen. 

Eigene Menüs mit individuellen Links

Ein Lösungsansatz besteht darin, ein eigenes Menü zu erstellen, in dem sich nicht die Seiten befinden, sondern individuelle Links auf die Seiten. Dazu kopiert man sich am Besten im ersten Schritt die URL der gewünschten Seite auf, die man zum Menü hinzufügen möchte. Dann ruft man im WordPress-Backend die Seite [Design > Menüs] auf und erstellt zunächst ein neues Menü, sollte noch keines vorhanden sein (Name des Menüs eingeben, „Menü speichern“, fertig).

In der linken Spalte befinden sich alle Beitragsarten, die zu einem Menü hinzugefügt werden können, beginnend mit „Seiten“, „Beiträge“ usw. Etwas weiter unten befindet sich der Eintrag „Individuelle Links“, der für diese Lösung ausgewählt werden muß. In das Feld „URL“ trägt man nun die URL zur gewünschten Seite ein, und in das Feld „Link-Text“ den gewünschten Namen im Navigationsmenü. Durch Klick auf „Zum Menü hinzufügen“ wird der neue Menüpunkt zum Menü hinzugefügt. In der Spalte „Menüstruktur“ lassen sich Menüpunkte beliebig verschachteln, um Menüs mit mehreren Ebenen zu erstellen.

Da der Navigationspunkt als individuelle URL eingefügt wurde und damit unabhängig von der Seite selbst ist, kann nun der Seitentitel der Seite beliebig verändert werden, ohne daß sich der Menüpunkt im Navigationsmenü ändert.

Nachteil: Wer Breadcrumbs auf seiner Seite anzeigt, wird feststellen, daß sich mit dieser Lösung der Titel des Breadcrumbs für diese Seite in den neuen Seitentitel geändert hat. Die Änderung des Seitentitels hat also Einfluß auf die Anzeige der Breadcrumb-Links, was in den meisten Fällen nicht gewünscht sein wird. Wir sollten also eine Lösung finden, bei der der Titel der Seite nicht geändert werden muß.

Perfekte Lösung: Überschrift als benutzerdefiniertes Feld angeben

Als beste Lösung hat sich herausgestellt, die Überschrift als benutzerdefiniertes Feld anzugeben. Dann kann in den Menüs alles so bleiben wie es ist, und wir müssen lediglich die Datei „page.php“ erweitern, die sich unter „/wp-content/themes/MeinTheme“ befindet. In dieser Datei ist eine Zeile, mit der die <h1>-Überschrift ausgegeben wird, in meinem Theme sieht die folgendermaßen aus:

<h1><?php the_title(); ?></h1>

Wir tauschen nun den Titel „the_title()“ durch eine Abfrage aus, die prüft, ob es für die Seite ein individuelles Feld mit dem Namen „seitentitel“ gibt. Wenn ja, wird der Seitentitel angezeigt, sonst wie vorher „the_title()“, also der normale Seitentitel. Wenn die Zeile auf Ihrem WordPress-System genauso aussieht wie gezeigt, kann der rot markierte Bereich der ersten Zeile einfach durch den rot markierten Bereich der folgenden Zeile ersetzt werden:

<h1><?php $titel = get_post_meta($post->ID, „seitentitel“, true); if ($titel) { echo $titel; } else { the_title(); } ?></h1>

Um nun eine Seite mit einem individuellen Seitentitel zu versehen, kann in der Seite einfach ein neues benutzerdefiniertes Feld mit dem Namen „seitentitel“ erstellt werden, dessen Wert dann automatisch statt des normalen Seitentitels angezeigt wird.

7 Gedanken zu „WordPress: Unterschiedliche Titel auf Seite und Menü-Navigation

  1. Hallo Markus,

    alternativ kann man auch einfach eine Seite mit dem Titel „A“ anlegen. Anschließend legt man die Seite ganz normal im Menü ab. Wenn man den Menü-Eintrag aufklappt, kann man den „Angezeigten Namen“ ändern, z.B. in „Titel B“.
    „Titel A“ wird dann für die Überschrift genutzt, während „Titel B“ im Menü angezeigt wird.

    Viele Grüße,
    Janine

  2. Hallo Janine! Mag sein, daß das bei einigen Themes so funktioniert. Bei mir ist das Feld „Angezeigter Name“ in allen Menüpunkten gefüllt, aber es wurde trotzdem immer der Seitentitel und eben leider nicht der „angezeigte Name“ angezeigt.

  3. Das sollte bei den meisten Themes funktionieren, da diese Lösung von WordPress von Haus aus mitliefert. Das Feld ist zwar vorausgefüllt, aber du kannst hinein klicken und den Wert nach Belieben überschreiben. Auch wenn du die Überschrift der Seite später in „Titel C“ änderst, wird weiterhin „Titel B“ angezeigt.

  4. Bei mir hat es aber eben leider nicht funktioniert. Und ich hätte bei dieser Lösung vermutlich auch wieder das Problem mit den Breadcrumbs. Die sind bei mir allerdings Theme-abhängig. Kann sein, daß andere Breadcrumb-Lösungen wie z.B. Yoast anders reagieren. Bei mir würden sich die jedenfalls ändern, sobald ich den Seitentitel ändere, und das wäre fatal…

  5. Deine Lösung ist auch völlig legitim. Ich wollte deinen Beitrag nur um einen weiteren Weg ergänzen, da diese Option häufig übersehen wird. Daher habe ich auch mit „Alternativ“ eingeleitet 🙂

    Hab ein schönes Wochenende!

  6. Ja, wenn das vernünftig funktioniert, ist die von Dir beschriebene Lösung natürlich einfacher und sollte auch verwendet werden.

    Danke und ebenfalls ein schönes Wochenende!

  7. Danke, die Lösung mit dem benutzerdefinierten Feld ist wirklich perfekt! Habe ich direkt in die page.php und front-page.php bei meinem aktuellen Projekt eingebaut.

    Das Problem bei der von Janin beschriebenen Lösung mit WordPress-Bord-Mitteln ist m.E., dass wann immer ein Redakteur dann den Standard-Titel der Seite ändert, diese Änderung auch im Menü als Navigations-Titel übernommen wird, zumindest sofern unter Design > Menü noch nicht der „Angezeigte Name“ für die entsprechende Seite einmal geändert wurde. Bei bereits geänderten Anzeigenamen, werden diese hingegen nicht aus dem Page-Editor überschrieben. Das finde ich eher ungünstig, zumal weil Redakteure ohne Zugriff auf Design > Menü keinen Einfluss darauf haben. Insofern würde ich die Lösung von Markus Schall (wo erforderlich) für Kundenprojekte bevorzugen, allerdings sollte man dabei die kleine Hürde bedenken, dass man dem Kunden noch mit der Verwendung von benutzerdefinierten Feldern ein wenig vertraut machen muss.

Schreibe einen Kommentar