WordPress搭建的多站点网站使用的是相同的根目录,出于SEO优化考虑,需要给不同的站点添加不同的robots协议怎么办,把robots.txt文件放置在网站根目录显然行不通,那么就可以通过wordpress提供的robots_txt钩子生成虚似的robots.txt文件URL(类似于伪静态)实现。
新安装wordpress站点,没有禁止蜘蛛爬行,启用伪静态后,访问地址http://yourdomain/robots.txt,会返回下面的结果:
1 2 3 | User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php |
这是WordPress默认的robots.txt内容。如果想添加更多的规则,可以在当前使用的主题中添加下面的代码:
如果想添加更多的规则,就在当前使用的主题中添加下面的代码:
1 2 3 4 5 6 | function robots_mod( $output, $public ) { $output .= "Disallow: /feed\n"; $output .= "Disallow: /trackback\n"; return $output; } add_filter( 'robots_txt', 'robots_mod', 10, 2 ); |
上面代码返回的结果是:
1 2 3 4 5 | User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php Disallow:/feed Disallow: /trackback |
如果不想要默认的robots.txt内容,则可以这样写
1 2 3 4 5 6 7 | 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 ); |