Kurz gesagt: Das früher beliebte Plugin „Exclude Pages“ brauchst du heute nicht mehr. Nutze statt einer automatischen Seitenliste ein eigenes Menü: Im Navigationsblock (Block-Themes) oder unter Design → Menüs (klassische Themes) fügst du nur die Seiten hinzu, die erscheinen sollen. Alle anderen Seiten bleiben erreichbar, tauchen aber nicht in der Navigation auf. Soll eine Seite auch in Suchmaschinen nicht erscheinen, setzt du sie zusätzlich auf „noindex“.
Warum Seiten ungewollt im Menü landen
Viele Themes zeigen in der Navigation automatisch alle veröffentlichten Seiten an, solange du kein eigenes Menü angelegt hast. In Block-Themes steckt dahinter der Block „Seitenliste“ im Navigationsblock, in klassischen Themes die Funktion wp_list_pages(). Jede neue Seite, etwa „Danke für deine Anmeldung“ oder das Impressum, erscheint dann im Hauptmenü.
Anleitung für Block-Themes
- Öffne Design → Editor → Navigation oder klicke im Site Editor auf den Navigationsblock im Header.
- Enthält das Menü den Block „Seitenliste“, markiere ihn und wähle in der Werkzeugleiste „Bearbeiten“. WordPress wandelt die automatische Liste in einzelne, bearbeitbare Links um.
- Entferne die Seiten, die nicht im Menü stehen sollen, und ordne die übrigen per Ziehen.
- Speichern. Neue Seiten erscheinen ab jetzt nur noch, wenn du sie selbst hinzufügst.
Anleitung für klassische Themes
- Öffne Design → Menüs und lege ein neues Menü an.
- Füge links unter „Seiten“ nur die gewünschten Seiten hinzu.
- Deaktiviere unten die Option „Neue Seiten der obersten Ebene automatisch hinzufügen“.
- Wähle unter „Position im Theme“ das Hauptmenü und speichere.
Seite zusätzlich vor Suchmaschinen verbergen
Aus dem Menü entfernt heißt nicht unsichtbar: Die Seite ist über ihre Adresse, die Sitemap und die interne Suche weiterhin erreichbar. Für Danke-Seiten, Landingpages einer Aktion oder interne Hinweise setzt du in deinem SEO-Plugin „noindex“. Dann entfernen Suchmaschinen die Seite aus ihrem Index und SEO-Plugins nehmen sie aus der Sitemap. Ganz verstecken lässt sich eine Seite nur mit dem Status „Privat“ oder einem Passwort, siehe Sichtbarkeit in den Seiteneinstellungen.
Für Fortgeschrittene: Seiten per Code ausschließen
Gibt dein klassisches Theme die Seitenliste mit wp_list_pages() aus, schließt du Seiten über den Parameter exclude aus, im Child-Theme oder per Filter:
// Direkt im Template
wp_list_pages( array(
'title_li' => '',
'exclude' => '12,34', // IDs der Seiten
) );
// Oder für alle Aufrufe per Filter
add_filter( 'wp_list_pages_excludes', function ( $exclude ) {
return array_merge( $exclude, array( 12, 34 ) );
} );
# IDs und Titel aller Seiten
wp post list --post_type=page --fields=ID,post_title,post_name
# Menüs und ihre Einträge
wp menu list
wp menu item list hauptmenue
Weitere Einstellungen erklärt WordPress-Einstellungen im Überblick, Gestaltungsfragen findest du unter WordPress-Theme wählen und anpassen.
Frage dazu? Frag im Forum „Themes & Design“: Zum WPDE-Forum
Häufige Fragen
Kann ich das alte Plugin Exclude Pages noch nutzen?
Es funktioniert nur mit Themes, die wp_list_pages() verwenden. Die letzte Version ist rund neun Jahre alt, offiziell getestet wurde sie nur bis WordPress 3.4, und wordpress.org zeigt einen entsprechenden Warnhinweis. Ungepflegte Plugins sind ein Sicherheitsrisiko, siehe Wo finde ich WordPress-Plugins?. Ein eigenes Menü ist die zuverlässigere Lösung.
Wie blende ich Unterseiten im Menü aus?
Im eigenen Menü entscheidest du für jede Seite einzeln, auch für Unterseiten. Sie erscheinen nur, wenn du sie als Menüeintrag hinzufügst.