自从这个问题和答案发布以来,已经有很多时间了。从那时起,情况发生了很大变化。关于禁止爬虫访问的典型建议wp-content/themes
, wp-content/plugins
, wp-content/cache
, wp-includes
, 而任何其他包含网站所需CSS或js文件的目录都不再有效。
例如,让我们来谈谈谷歌。Googlebot正在呈现没有CSS和js的网站,但实际上并没有。实际上,Googlebot会提供完整的文档,并检查脚本的响应性、数量、位置和大小等。因此,如果您不允许Googlebot访问CSS和js文件,Google不会喜欢。这意味着你不应该拒绝wp-content/themes
, wp-content/plugins
, wp-content/cache
和wp-includes
因为所有这些文件夹都可以提供CSS和js文件。
在我看来,实际上是最好的机器人。txt文件是默认情况下由WordPress创建的文件(the bellow robots.txt is the default since WP 4.0):
User-agent: *
Disallow: /wp-admin/
如果您有cgi bin文件夹,最好不要使用cgi bin文件夹:
User-agent: *
Disallow: /wp-admin/
Disallow: /cgi-bin/
如果您使用站点地图,最好在robots中包含站点地图引用。txt(您仍然需要手动将站点地图提交给Google和Bing站长工具,但该参考对其他爬虫有用):
User-agent: *
Disallow: /wp-admin/
Disallow: /cgi-bin/
Sitemap: http://example.com/sitemap.xml
这是一般情况。特定网站可能需要禁止在每个特定情况下应研究的其他文件夹和文件。对于exmaple,您可能需要或希望不允许特定的插件文件夹:
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-content/plugins/plugin-folder/
修改机器人。txt,使用
robots_txt
过滤器(使用真实的robots.txt文件将使WordPress无法再处理robots.txt)。例如:
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;
});