Viel Zeit, seit diese Frage und Antwort veröffentlicht wurden. Seitdem haben sich die Dinge sehr verändert. Die typische Empfehlung über disallow Crawlern Zugang wp-content/themes
, wp-content/plugins
, wp-content/cache
, wp-includes
, und anderes Verzeichnis , das auf der Website benötigen CSS oder JS - Dateien enthält, nicht mehr gültig ist .
Lassen Sie uns zum Beispiel über Google sprechen. Googlebot hat Websites ohne CSS und ohne js gerendert, aber eigentlich nicht. Tatsächlich erkennt Googlebot das gesamte Dokument und überprüft Dinge wie Reaktionsfähigkeit, Anzahl, Speicherort und Größe der Skripte usw. Google mag es also nicht, wenn Sie Googlebot den Zugriff auf CSS- und JS-Dateien untersagen. Das bedeutet , dass Sie sollten nicht verbieten wp-content/themes
, wp-content/plugins
, wp-content/cache
und wp-includes
wegen all diese Ordner können CSS und JS - Dateien dienen.
Aus meiner Sicht ist die beste robots.txt-Datei die von WordPress standardmäßig erstellte ( die folgende robots.txt ist die Standardeinstellung seit WP 4.0 ):
User-agent: *
Disallow: /wp-admin/
Wenn Sie einen cgi-bin-Ordner haben, ist es möglicherweise eine gute Idee, den cgi-bin-Ordner nicht zuzulassen:
User-agent: *
Disallow: /wp-admin/
Disallow: /cgi-bin/
Wenn Sie eine Sitemap verwenden, empfiehlt es sich, eine Sitemap-Referenz in robots.txt aufzunehmen (Sie müssen die Sitemap noch manuell an Google und die Bing Webmaster-Tools senden, die Referenz kann jedoch für andere Crawler nützlich sein):
User-agent: *
Disallow: /wp-admin/
Disallow: /cgi-bin/
Sitemap: http://example.com/sitemap.xml
Das ist im Allgemeinen. Bestimmte Websites müssen möglicherweise andere Ordner und Dateien nicht zulassen, die in jedem speziellen Fall untersucht werden sollten. Beispielsweise benötigen oder möchten Sie möglicherweise einen bestimmten Plugin-Ordner nicht zulassen:
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-content/plugins/plugin-folder/
Verwenden Sie zum Ändern der robots.txt den robots_txt
Filter (mit einer echten robots.txt-Datei kann WordPress robots.txt nicht mehr verarbeiten). Zum Beispiel:
add_filter( 'robots_txt', function( $output ) {
$output .= "Disallow: /cgi-bin/\n";
$output .= "Disallow: /wp-content/plugins/plugin-folder-i-want-to-block/\n";
$output .= "\nSitemap: " . site_url( 'sitemap.xml' ) . "\n";
return $output;
});