Sitemaps – Suchen und gefunden werden

Seit der Version 5.5 bringt WordPress in seinem Core eine Sitemap-Funktion von Haus aus mit. Man braucht nun keine externen PlugIns mehr, um XML-Sitemaps zu realisieren, seht Gut. Eine Oberfläche für Einstellungen bringt die integrierte Funktion leider nicht mit, aber trotzdem lassen sich mit ein paar Codeschnipsel die benötigten Einstellungen realisieren.

Wofür man eine Sitemap braucht, und wie die in WordPress integrierten Sitemaps funktionieren, und angepasst werden können, erfahrt ihr in diesem Artikel.

Was ist eine Sitemap und wofür brauche ich sie ?

Eine Sitemap ist eine XML-Datei, in der erst einmal alle Links eurer WordPress-Seite stehen, also Links zu Beiträgen, zu Seiten, zu Kategorien und zu Benutzern. Während eine HTML-Sitemap eine Übersicht für die (menschlichen) Seitenbenutzer bietet, dient die XML-Sitemap dazu, den Suchmaschinen (Robotern) eine Übersicht über euer Web-Angebot zu geben.

Wenn ein Crawler (das ist der Roboter der Suchmaschinen, der Webseiten indiziert) auf eurer Website landet, und einigen internen Links folgt, indiziert er diese Beiträge auf den Suchergebnisseiten. Es kann aber sein, daß er durch einen externen Link relativ schnell eure Seite verlässt. So kann es eine längere Zeit dauern, bis alle eure Beiträge indiziert sind.

Mit einer Sitemap teilt man dem Crawler, und damit der Suchmaschine, die komplette Struktur der Seite mit allen Links auf alle Beiträge mit. Das ist also der erste Schritt zu einer Suchmaschinenoptimierung, in der internationalen Abkürzung auch als SEO bezeichnet.

Wo findet man die Sitemaps von WordPress ?

Seit der Version 5.5 von WordPress werden Sitemaps automatisch generiert.

Ihr findet die Sitemaps auf jeder WordPress-Seite, so weit diese Funktionalität nicht vom Seitenbetreiber deaktiviert wurde. Wie das geht, lest ihr auch in diesem Artikel. Nicht nur hier auf schlagercity.de sind die Sitemaps unter dem folgendem Link abrufbar, ersetzt einfach schlagercity.de, bzw. ‚meine-adresse.de‘ durch eure eigene Domain, dann funktioniert das auch bei euch:

Anzeige

https://www.meine-adresse.de/wp-sitemap.xml

Bei den Sitemaps handelt es sich um XML-Dateien, sie sind also im Klartext lesbar, und lassen sich im Browser anzeigen. Probiert es einfach aus.

Wie sehen die Sitemaps von WordPress aus ?

Diese Bild zeit die Standard-Sitemap von WordPress. Sie besteht aus 4 verschiedenen Bereichen, die ab einer bestimmten Größe aber in mehrere Dateien aufgesplittet werden. Deshalb steht am Ende des Dateinamens eine Ziffer, hier im Beispiel die Ziffer ‚1‘

wp-sitemap-posts-post-1.xml

In dieser Datei stehen alle URL’s der Beiträge (Posts)

wp-sitemap-posts-page-1.xml

In dieser Datei stehen alle URL’s der Seiten (Pages)

wp-sitemap-taxonomies-category-1.xml

In dieser Datei stehen alle URL’s der Kategorien (Category)

wp-sitemap-users-1.xml

In dieser Datei stehen alle URL’s der Benutzer (Users)


Anzeige *

* Solltet ihr über diese Links bei Amazon etwas kaufen, erhalten wir eine kleine Provision.


Warum sollte die Sitemap bearbeitet werden ?

Die Suchmaschinen mögen es nicht, wenn ein identischer Beitrag mehrfach mit verschiedenen URL’s geliefert wird, das kann das Ranking, also die Position in der Trefferliste negativ beeinflussen.

Beispiel 1:

Hier im Schlagercity-Blog gibt es z.B. den Beitrag „Hühnersuppe“. Den findet man direkt unter der URL:

https://www.schlagercity.de/huehnersuppe/

In der Sitemap steht er in der Datei wp-sitemap-posts-post-1.xml. Dieser Beitrag gehört bei uns zur Kategorie „Kochen“, er würde also auch unter

https://www.schlagercity.de/category/kulinarisches/kochen/

angezeigt werden, und steht somit auch in der Sitemap wp-sitemap-taxonomies-category-1.xml. Das wäre unnötigerweise doppelt.

Wenn wir später mal unter „Kochen“ noch eine Unterkategorie „Suppen“ anlegen sollten, und den Beitrag verschieben, passt das auch nicht mehr so richtig. Deshalb haben wir die Indizierung der Kategorien und damit die Kategorie-Sitemap abgeschaltet, es reicht, wenn alle Beiträge direkt über „Posts“ indiziert werden.

Diese Abschaltung lässt sich mit folgendem Code-Schnipsel in der functions.php des verwendeten Themes abschalten, am besten benutzt man dafür ein Child-Theme:

/**
 * Deactivate Categories in Sitemap
 */

add_filter( 'wp_sitemaps_add_provider', function ($provider, $name) {
  return ( $name == 'taxonomies' ) ? false : $provider;
}, 10, 2);

Beispiel 2:

In der Sitemap-Datei wp-sitemap-users-1.xml stehen die Seiten der Benutzer. Hier haben wir keine Inhalte hinterlegt, und wenn man über diese Links geht, bekommt man alle Beiträge des jeweiligen Benutzers angezeigt. Da diese Beiträge aber schon in der Sitemap der Posts stehen, haben wir auch diese Sitemap mit dem Code

/**
 * Deactivate Users in Sitemap
 */

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

in der functions.php des Themes abgeschaltet.

Beispiel 3:

In der Sitemap wp-sitemap-posts-page-1.xml stehen alle URL’s unserer Seiten (Pages). Das ist auch erst mal so erwünscht, allerdings macht es keinen Sinn, wenn z.B. Impressum oder Datenschutzerklärung von den Suchmaschinen indiziert wird.
Dann ständen im schlimmsten Fall ganz oben im Suchergebnis unsere Kontaktdaten, aber nicht der Passus, dass diese nur Pflichtangaben sind, und nicht für die Zusendung von unerwünschter Werbung benutzt werden dürfen.

Also haben wir genau diese Beiträge mit folgendem Codeschnipsel aus der Sitemap entfernt:

/**
 * Deactivate Pages in Sitemap
 */

add_filter(
    'wp_sitemaps_posts_query_args',
    function( $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'][] = 5711; 
        $args['post__not_in'][] = 5712;
         return $args;
    },
    10,
    2
);

In diesem Beispiel wurden die Seiten mit der ID 5711 und 5712 entfernt. Die Seiten-ID oder auch Beitrags-ID sieht man, wenn man in der Seitenliste oder Beitragsliste im Adminbereich mit der Maus über den jeweiligen Eintrag fährt, dann wird in dem Link die ID mit angezeigt.

Wenn man Beiträge ausblenden möchten, muß in dem Code statt ‚page‘ einfach ‚posts‘ eingetragen werden.

Wie mache ich die Suchmaschinen auf meine Sitemaps aufmerksam ?

Es gibt mehrere Möglichkeiten die Sitemaps mitzuteilen. Einmal geht das über die Datei robots.txt, die im Hauptverzeichnis der Website liegen sollte. Hier wird dann einfach am Ende der Datei folgender Code eingefügt:

Sitemap: https://www.meine-adresse.de/wp-sitemap-posts-post-1.xml

Im unserem Beispiel lenken wir die Suchmaschinen hier nur auf die Beiträge (posts), natürlich kann hier auch der Link zur Haupt-Sitemap oder zu einer anderen eingefügt werden. Ansonsten bieten auch einigen Suchmaschinen eine Möglichkeit, Sitemaps zu hinterlegen. Bei Google ist das die Google-Search-Console, hier kann der Link zur Sitemap (auch mehrere) hinterlegt werden.

Kann man die WordPress-Sitemaps komplett abschalten ?

Wenn man z.B. für eine rein private Seite keine Sitemap haben möchte, oder lieber ein anderes PlugIn dafür benutzt, lassen sich die Sitemaps von WordPress mit folgendem Code in der functions.php auch komplett deaktivieren:

add_filter('wp_sitemaps_enabled', '__return_false');

Was bedeutet das für meine Webseite ?

Wir beschreiben hier lediglich ein paar Beispiele, was alles möglich ist, können aber natürlich nicht beurteilen, was ihr wirklich braucht, Also viel Spaß beim Experimentieren 🙂

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Ich habe die Datenschutzerklärung gelesen und akzeptiert und stimme der Datenspeicherung gem. DSGVO zu.