Das Yoast SEO Plugin für WordPress ist ein beliebtes Tool, um die Reichweite durch Suchmaschinen zu verbessern. Nach Installation des Plugins wird die WordPress-eigene Sitemap durch eine optimierte Variante von Yoast ersetzt. Allerdings veröffentlicht Yoast die URL der Sitemap nicht, sondern sendet diese lediglich an ausgewählte Suchmaschinen. Die Begründung: Das Veröffentlichen der Sitemap in der Robots-Datei sei nicht nötig, da man den Suchmaschinen die eigene Sitemap ohnehin manuell geschickt haben sollte.

Wer stattdessen auf offene Standards setzen und sein SEO nicht auf bestimmte Suchmaschinen eingrenzen möchte, kann die Sitemap mit einfachen mitteln veröffentlichen. Negativen Einfluss auf die bisher unterstützen Suchmaschinen Google und Bing hat dies nicht. Es führt aber dazu, dass auch alternative Suchmaschinen, wie beispielsweise Yahoo und DuckDuckGo eure Seite besser verstehen können.

Robots.txt

Die Datei robots.txt dient dazu Emfehlungen über das Crawling der Seite an Suchmaschinen zu vermitteln. Verfügt eure Webseite über eine Sitemap wird diese überlichweise in der Robots-Datei aufgeführt, damit Suchmaschinen diese finden.

WordPress veröffentlich die Sitemap standardmäßig. Das Yoast-Plugin schaltet dies allerdings wieder ab und schickt die URL der Sitemap stattdessen direkt an Google und Bing.

Sitemap Hardcoden

Um eure Sitemap dennoch zu veröffentlichen könntet ihr eurer robots.txt (falls vorhanden) im Root-Verzeichnis eurer Webseite die folgende Zeile hinzufügen:

Sitemap: https://meinedomain.de/wp-sitemap.xml

Ersetzt hier einfach meinedomain.de mit eurer Domain und fertig. Oder?

Zwar wird eure Sitemap nun allen Suchmaschinen zugänglich gemacht, allerdings bleibt eure Robots-Datei statisch und wird nicht mehr angepasst wenn es zu Änderungen in eurem Blog kommt. Wenn ihr Yoast deaktiviert oder die XML-Sitemap Funktion abschaltet, bleibt der Link in eurer Robots-Datei bestehen und führt Suchmaschinen ins Leere. Um dies zu vermeiden würde ich das Nutzen der dynamischen Robots-Datei emfehlen.

Dynamische robots.txt

Um eine von WordPress dynamisch generierte Robots-Datei zu nutzen, müsst ihr lediglich eure vorhandene Datei löschen. Um zu prüfen, ob ihr eine dyamische Datei nutzt, könnt ihr Root-Verzeichnis eurer WordPress-Installation (dort wo sich auch die index.php befindet), nachsehen ob es dort die Datei robots.txt gibt. Falls ja könnt ihr diese löschen oder sicherheitshalber umbenennen, beispielsweise in robots.txt.bak.

WordPress wird von nun an beim Aufruf der Robots-Datei eine dynamisch generierte Version anzeigen, die durch WordPress-Hooks verändert werden kann. Ob eure Robots-Datei bereits dynamisch ist, könnt ihr auch in den Yoast-Einstellungen sehen. Geht dazu im WordPress Adminbereich in der Seitenleiste auf SEO > Tools > File Editor. Wenn ihr eine dynamische Robots-Datei nutzt, sieht es dort aus wie in dem Screenshot:

Yoast robots.txt

Drückt nicht auf den Button, da sonst wieder eine statische robots.txt erstellt wird.

Code Snippet hinzufügen

Um den Link zu eurer Sitemap in der nun dynamischen Robots-Datei zu veröffentlichen habe ich ein kurzes Snippet geschrieben. Ihr könnt diesen Schnipsel einfach in die functions.php-Datei eures Themes kopieren:

function mytheme_robots_txt ( $output ) {
	// Add Yoast sitemap to robots.txt
	if ( isset( $GLOBALS['wpseo_sitemaps'] ) ) {
		$output .= "\n" . 'Sitemap: ' . home_url( '/sitemap_index.xml' ) .  "\n";
	}
	return $output;
}
add_filter( 'robots_txt', 'mytheme_robots_txt' );

Ruft nach dem Einbau des Codes eure Robots-Datei auf unter https://meinedomain.de/robots.txt. Hat alles geklappt, sollte die Datei ähnlich wie diese aussehen:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://nerdkrams.de/sitemap_index.xml

Abschließend solltet ihr sicherheitshalber überprüfen, ob eure Sitemap erreichbar ist, indem ihr die hinter Sitemap: angezeigte URL aufruft. Die resultierende XML-Sitemap sollte etwa so aussehen:

Yoast XML Sitemap