一般WordPress搭建的多站点网站都会使用相同的根目录,但是为了SEO优化考虑,需要给不同的站点添加不同的robots协议,那么讲robots.txt文件放置在网站根目录是不行的,今天就分享为WordPress多站点网站添加robots.txt文件方法,需要通过robots_txt钩子生成虚似的robots.txt文件URL(类似于伪静态)实现。
新安装wordpress站点,没有禁止蜘蛛爬行,启用伪静态后,访问地址http://*****/robots.txt,会返回下面的结果:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
这是WordPress默认的robots.txt内容。如果想添加更多的规则,可以在当前使用的主题中添加下面的代码:
如果想添加更多的规则,就在当前使用的主题中添加下面的代码:
function robots_mod( $output, $public ) {
$output .= \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\”Disallow: /feed\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\”;
$output .= \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\”Disallow: /trackback\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\”;
return $output;
}
add_filter( \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’robots_txt\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’, \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’robots_mod\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’, 10, 2 );
上面代码返回的结果是:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow:/feed
Disallow: /trackback
如果不想要默认的robots.txt内容,则可以这样写
function robots_mod( $output, $public ) {
$output = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\”User-agent: *\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\”;
$output .= \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\”Disallow: /feed\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\”;
$output .= \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\”Disallow: /trackback\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\”;
return $output;
}
add_filter( \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’robots_txt\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’, \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’robots_mod\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\’, 10, 2 );