Sitemaps in WordPress steuern

Sitemaps an sich sind eine tolle Sache. Oder? Was nur, wenn der Inhalt der Sitemap deinem Ziel mehr schadet als er einen Wert bringt?

Du kannst diese Einleitung gerne überspringen, wenn du weißt, was du tust und direkt zum spannenden Teil willst.

Sitemaps und einen kurzes Warum.

  1. Bewerte deine vorhandenen Sitemaps und
  2. bewerte enthaltene Seiten nach deren Sinnhaftigkeit

Sitemaps selbst geben Besuchern oder Suchmaschinen die komplette Übersicht über deine Website in Form von Links der einzelnen Unterseiten, welche sich durch deine Homepage ziehen.

Eingereichte URLs innerhalb der Sitemap sollen von einer Suchmaschine indexiert werden. Daher sollten hier nur sinnvolle und wichtige Seiten enthalten sein!

Im Fall von WordPress werden diese noch einmal aufgeteilt und nach z.B. Seiten, Beiträgen, Produkten, Kategorien, Taxonomien, Schlagworten, Autoren oder Anderen sogenannten Posttypen getrennt dargestellt. Für dich bietet sich an dieser Stelle ein riesiger Vorteil, denn du kannst all deine Inhalte nach Typen untersuchen. Siehst beispielsweise innerhalb der Google Search Console (ehemals Webmaster Tools) sehen, an welcher Stelle der Crawler, nicht allen Seiten folgt.

Über die Sitemap werden knapp 150.000 Seiten gesendet, etwa 40.000 werden nur als gültig (~ wichtig) angesehen

Ein einfaches Beispiel für teils unliebsame Seiten in deiner Sitemap können so beispielsweise die automatisch erstellten Autoren-Seiten von WordPress sein. In den meisten Fällen kann das sicher vernachlässigt werden. Sobald du allerdings tiefer in die Optimierung deiner Seite gelangst, solltest du zumindest wissen, auf was es zu achten gilt. Wenn du nun als Administrator deiner Website eine Seite oder einen Beitrag veröffentlichst, trägt deine Sitemap und die gesamte WordPress-Infrastruktur alle vorhandenen Links automatisch nach außen. In kurzer Zeit ist diese Autoren-Seite, befeuert durch deine Sitemap, auch im Index diverser Suchmaschinen enthalten und für jeden sichtbar. Die gut durchgestylten Archiv- oder Autoren-Seiten sind eher die Ausnahme und sollten somit nicht unbedingt das Ziel potenzieller Besucher sein. Und bis es so weit ist, hast du deine Links innerhalb der Sitemap mit wenigen Zeilen Code selbst gesteuert.

Es kann natürlich sein, dass du bestimmte Seiten nicht öffentlich aufgeführt haben möchtest. Dies kann unter Anderen eine bestimmte Landingpage sein, die nicht in deiner Navigation erscheint und nur über einen bestimmten Weg beworben werden soll, damit du deine Zielgruppe besser erreichen kannst.

In anderen Fällen ergibt es eventuell mehr Sinn diese unerwünschten Seiten zu deaktivieren, umzuleiten oder mit anderen Lösungen nicht aufrufbar zu machen. Du solltest jedoch nicht vergessen, die Existenz mit der Sitemap zu prüfen und diese Seiten ggf. dort deaktivieren.

Das Thema Sicherheit und Suchmaschinenoptimierung können weitere Punkte sein, weshalb du die Pflege deiner Sitemap nicht außer Acht lassen solltest.

Apropos Google

Google selbst sagt, dass du keine Sitemap erstellen musst, wenn du weniger als 100 URLs besitzt. Allerdings änder sich die Seitenanzahl zumeist im Laufe eines Website-Lebens. Dadurch ist es in sehr vielen Fällen lohnenswert, sich rechtzeitig mit dem Gedanken zu beschäftigen. Zudem bietet die Datei einige lohnenswerte Funktionen zur Auswertung und damit zur Steuerung der Indexierung. Bing erwähnt keine Zahl, schreibt allerdings, dass deren Webmaster Tools auch mit RSS 2.0, Atom 0.3 & 1.0 sowie einem Text-Dokument gefüttert werden können.

Wo finde ich meine Sitemap?

Deine Sitemap findest du in der Regel, wenn du „/sitemap.xml“ hinter deine Website-URL setzt. Seit Version 5.5 bringt WordPress eigene Sitemaps automatisch mit. Als praktische Alternativen (und natürlich vor der Zeit der WordPress eigenen Sitemap) haben Webseiten-Betreiber dedizierte Plugins, wie Yoast oder Rankmath, eingesetzt. Mit diesen praktischen Tools kannst du die Ausgabe und den Aufbau deiner Sitemaps bequem über das Backend steuern. Bei der WordPress-Sitemap gibt es diesen Komfort (noch?) nicht und du bist auf andere Mittel angewiesen, um deine Sitemap individuell zu steuern.

Derzeit werden bei deinwp.de Inhalte der Beiträge, Seiten und Kategorien indexiert

Wie kann ich meine Sitemap bearbeiten?

Die nachfolgend genannten Beispiele beziehen sich derzeit nur auf die WordPress-Core-Sitemap, welche seit Version 5.5 mit jedem WordPress kommt und ohne zusätzliche Plugins automatisch aktiv ist.
Beispiele zum Ausschluss einzelner Seiten von der „Rankmath-Sitemap“ (Plugin) werden noch ergänzt.

Alle folgenden Code-Beispiele gehören am besten in die „functions.php“ deines (Child-)Themes. Alternativ kannst du dafür Code Snippets nutzen. Halte bitte dennoch den Zugang per FTP bereit, damit du im Falle von Fehlern handlungsfähig bist.

Nun aber los!

WordPress Sitemap deaktivieren

  • Willst du die native WordPress XML-Sitemap deaktivieren, weil du diese Funktionalität via Plugin steuern möchtest, dann bietet die Dokumentation folgende zwei Varianten an:
/* sitemap deactivated */
add_filter('wp_sitemaps_enabled', '__return_false');

• Oder den Weg über eine Action:

/* sitemap deactivated */
remove_action( 'init', 'wp_sitemaps_get_server' );

WordPress Sitemap anpassen

Sinnvoller erscheint die Möglichkeit, die Sitemap nach eigenen Wünschen anzupassen. Um die Autoren- und Benutzer-Archive für deine WordPress-Sitemap zu deaktivieren kannst du folgende Zeilen nutzen:

/* sitemap - disable user-sitemap */
function dwp_disable_sitemap_users($provider, $name) {
    return ($name == 'users') ? false : $provider;
}
add_filter('wp_sitemaps_add_provider', 'dwp_disable_sitemap_users', 10, 2);

• Nur in wenigen Fällen wird es sinnvoll sein, die einzelnen Kategorien (Taxonomies) über eine Sitemap zu senden. Daher kannst du diese über folgende Zeilen deaktivieren.

/* sitemap - disable taxonomies */
add_filter(
	'wp_sitemaps_taxonomies',
	function( $taxonomies ) {
		unset( $taxonomies['post_tag'] );
        unset( $taxonomies['product_cat'] );
		unset( $taxonomies['product_shipping_class'] );
		return $taxonomies;
	}
);

An der Stelle „post_tag“ musst du eventuell Änderungen vornehmen. Beispielsweise, wenn in einem WooCommerce die Produkt-Kategorien ausgeschlossen werden sollen. Gibt es bei dir einen Eintrag: wp-sitemap-taxonomies-product_tag.xml wird dieser via „product_tag“ deaktiviert.

Die letzten drei Taxonomie-Sitemaps werden durch diese Zeilen entfernt

• Um bestimmte Seiten von der WordPress-Sitemap auszuschließen kannst du bei diesem Beispiel die gewünschte ID (hier: 75) eintragen:

/* sitemap - disable pages */
function dwp_disable_sitemap_specific_page($args, $post_type) {
	if ('page' !== $post_type) return $args;
	$args['post__not_in'] = isset($args['post__not_in']) ? $args['post__not_in'] : array();
	$args['post__not_in'][] = 75; // exclude page with ID = 75
	return $args;
}
add_filter('wp_sitemaps_posts_query_args', 'dwp_disable_sitemap_specific_page', 10, 2);

• Um individuelle Beiträge von der WordPress-Sitemap auszuschließen, kannst du ebenfalls die gewünschte ID (hier: 1) eintragen:

/* sitemap - disable posts */
function dwp_disable_sitemap_specific_post($args, $post_type) {
	if ('post' !== $post_type) return $args;
	$args['post__not_in'] = isset($args['post__not_in']) ? $args['post__not_in'] : array();
	$args['post__not_in'][] = 1; // exclude post with ID = 1
	return $args;
}
add_filter('wp_sitemaps_posts_query_args', 'dwp_disable_sitemap_specific_post', 10, 2);

Die ID erhältst du, indem du im Backend über den Inhalt hoverst. WordPress zeigt die in dem Fall die interne ID in Form von post.php?post=400 an.

Die Zahl hinter post= zeigt dir die ID des Inhaltes an

Solltest du mehr als eine Seite oder einen Beitrag deaktivieren wollen, dupliziere einfach die markierte Zeile mit der ID und trage die weitere ID ein. Beachte bitte, dass im Beispiel der Seiten „page“ genutzt wird, während für die Blogbeiträge „post“ genutzt wird.

Ausschluss einzelner Seiten/Beiträge/Produkte aus der Yoast-Sitemap?

Um einen Seite oder anderem Posttyp wie Produkte (ggf. in Yoast-Einstellungen zu aktivieren) aus der Sitemap des Yoast-SEO-Plugin auszuschließen, kannst du die Einstellungen bequem im Backend deiner Seite treffen. Wechsele dazu auf deine auszuschließende Seite (bearbeitungs-Ansicht im Backend) und gehe in den Bereich von Yoast SEO.

Das „Yoast SEO“ Element, befindet sich in der Regel direkt unter deinem Editor. Falls du dieses Element nicht siehst, kannst du ganz oben-rechts auf „Ansicht anpassen“ gehen und findest dort die Einstellungen für deine „Bildschirm-Elemente“ innerhalb deines Profils. Hier einfach bei „Yoast Seo“ den Haken setzen, fertig. Nun ist der Bereich für dich in der Bearbeitungs-Ansicht aktiviert.

Im Element von Yoast SEO findest du im Tab „SEO“ den Abschnitt „Advanced“ oder „Erweitert“ und kannst die Einstellung für die Anzeige in den Suchergebnissen treffen. Sobald hier „No“ oder „Nein“ eingestellt ist, findet sich diese Seite auch nicht mehr in deiner Yoast-Sitemap wieder. Dies am besten noch einmal gegenprüfen, um wirklich sicher zu sein.

Und das war es auch schon. Keine manuellen Codezeilen nötig, wenn du bei deiner Seite ein Yoast-SEO-Plugin aktiviert hast und die entsprechenden Einstellungen kennst.


Update 14.07.2021 – Ergänzung Yoast SEO Plugin – Ausschließen von Seiten innerhalb der Sitemap

Update 30.08.2021 – Weitere Erklärungen eingefügt

Schreibe einen Kommentar