XML-Sitemap in WordPress

Lange habe ich auf eine eigene XML-Sitemap gesetzt. Nicht durch ein Plugin, sondern durch ein eigenes Snippet erzeugt. Seit WordPress 5.5 kann das auch WordPress. Diese Sitemap setze ich hier seit ein paar Tagen ein. Allerdings in einer abgespeckten Version.

Sitemaps stellen eine einfache Möglichkeit für Webmaster dar, Suchmaschinen Seiten auf Ihren Websites zu melden, die zum Durchsuchen verfügbar sind.

sitemaps.org

Die WordPress XML-Sitemap wird standardmäßig für alle Artikel, Seiten, Taxonomien und Autorenarchive erstellt. Und darin sehe ich auch das Problem. Ich möchte hier keine Seiten und Taxonomien als Sitemap veröffentlichen. Seiten gibt es hier genau 3 Stück. Das sind die Seiten Datenschutz, Impressum und die Suche. Ich bin der Meinung das gehört genauso wenig in eine Sitemap wie das Autorenarchiv. Als Autor gibt es hier sowieso nur Horst Scheuer.

Man kann das alles unterbinden. WordPress selbst liefert hier die nötigen Codeschnipsel für die functions.php.

/**
 * XML Sitemap korrigieren
 * -----------------------
 * schaltet die Sitemap für Seiten, Taxonomien und Benutzer ab
 */

function xml_post_types( $post_types ) {	
  unset( $post_types['page'] );
  return $post_types;
}
add_filter('wp_sitemaps_post_types', 'xml_post_types');

function xml_taxonomies( $taxonomies ) {
  unset( $taxonomies['post_tag'] );
  unset( $taxonomies['category'] );
  return $taxonomies;
}
add_filter('wp_sitemaps_taxonomies', 'xml_taxonomies');


function xml_users( $provider, $name ) {
  if ( 'users' === $name ) {
    return false;
  }	
  return $provider;
}
add_filter( 'wp_sitemaps_add_provider', 'xml_users', 10, 2 );

Wichtig: Ich habe dieses Snippets, hier in diesem Blog, getestet. Bei mir läuft es fehlerfrei. Ihr solltet, falls ihr meinen Code nutzt, trotzdem vorsichtig sein. Ich empfehle eine Sicherung der Datei, die ihr ändert und auch der gesamten Installation, bevor ihr den Code-Schnipsel bei euch einbaut.