robots协议配置
首先我们要用的是robots.txt文件,那么什么是robots呢?
robots就是网站跟爬虫间的协议,用简单直接的 txt格式 文本方式告诉对应的爬虫被允许的权限,也就是说robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。
而robots.txt文件内,Disallow 禁止,Allow 允许。按需要增减即可。
WordPress默认robots配置
一般人使用以下配置即可。
# 《WordPress配置robots.txt文件教程》 User-agent: * Disallow: Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php Sitemap:
这段的意思也就是对所有的搜索引擎采取默认的态度,我没有不允许,也没有拒绝,爱爬不爬,但是/wp-admin/
目录是不允许你爬的!但由于交互经常用到/wp-admin/admin-ajax.php
文件,所以又单独允许出来。最后一句告诉搜索引擎,我的站点地图地址,你可以根据我的地图来快速爬取。
WordPress禁止国内搜索引擎爬取配置
某些内容不希望国内的人搜到,可使用以下配置。
# 《WordPress配置robots.txt文件教程》 - User-agent: Baiduspider Disallow: / User-agent: Sosospider Disallow: / User-agent: sogou spider Disallow: / User-agent: YodaoBot Disallow: / User-agent: * Disallow: /wp-admin/ Sitemap:
Disallow 为禁止,也就是说 User-agent 是百度、搜搜、搜狗、有道都不允许爬我的站,当然,你可以根据自己的需求进行加减,毕竟还有很多小蜘蛛是常人所不知的,所以你需要通过后台查看他的 User-agent 请求头来把它加进去,并设置为 Disallow 即可。这样的设置就不影响国外的搜索引擎收录。
但是如果搜索引擎不遵守那就得使用杀手锏,请查看文末进阶教程!
不怎么会优化WordPress的配置
为什么这里会说弄一个“不怎么会优化的WordPress配置”呢?因为缙哥哥经常在群里听到“我*,昨天某某蜘蛛又把我服务器爬挂了……”之类的语言。所以,如果你不愿意或者不会去优化你的WordPress站点,那么你可以使用如下robots配置。
# 《WordPress配置robots.txt文件教程》 - User-agent: * Disallow: /wp-admin/ Disallow: /wp-login.php Disallow: /search/ Disallow: /?s= Disallow: /readme.html Disallow: /licence.txt Disallow: /wp-config-sample.php Disallow: /feed Disallow: /*/feed Disallow: /comments/feed Disallow: /comments/ Disallow: /attachment/ crawl-delay: 5 Allow: /wp-admin/admin-ajax.php Sitemap:
- 这个是在默认的基础上配置的,
crawl-delay
是开启了传说中的5秒盾,不过这是蜘蛛5秒盾,就是告诉搜索引擎蜘蛛在每次抓取之前等待几秒钟。当然,你甚至可以设置10秒、30秒、9999999秒(不如屏蔽它算了)。 /search/
或者/?s=
是防止蜘蛛爬搜索,很多小伙伴不会优化 WordPress,访客或蜘蛛一搜索,CPU就爆满了,这时你可以通过升级你的服务器来进行解决,或者尝试去优化WordPress(这里建议阅读《WordPress菜鸟建站篇(总结归类)——从无到有,境无止尽!》进行优化,可解决该问题)。- 禁止爬取
/readme.html
、/licence.txt
、/wp-config-sample.php
三兄弟是防止其他人未经授权查看您正在使用的WordPress版本等信息,这里你还可以对其重定向。 /feed
、/*/feed
、/comments/feed
这三兄弟是防止爬虫爬你的 rss订阅 内容,当然,你也可以直接在 WordPress 后台关闭 rss 订阅。一般来说,rss页面对于服务器要求不是很高,一般不用去设置,当然,如果你是个原创作者,担心被其他人复制采集,可以参考《让WordPress RSS/Feed订阅自定义延时发布推送》。/comments/
是防止蜘蛛爬你的评论留言内容,如果你的站留言较多,并且没有设置内存缓存或者Nginx缓存的话,每个评论页面服务器都要生成一个页面,自然CPU负荷就高了。/attachment/
是防止附件内容,也就是WordPress媒体库内容。
简而言之、言而总之,一般人无需设置以上配置。实在需求再去配置,毕竟绝大多数站长想要的还是流量!哦,对了,记得把上面的 Sitemap 地址改成你自己的!
禁止搜索引擎爬虫进阶版
在你的header.php
文件<head>
里面加上一个防止百度收录快照的代码:
<meta name="Baiduspider" content="noarchive">
但是百度不一定遵守robots规则,可能依然收录,那就用下面的终极办法!
如果你用的是Nginx,以宝塔为例,在站点配置里插入以下代码:
if ($http_user_agent ~* (baiduspider|googlebot|soso|bing|sogou|yahoo|sohu-search|yodao|YoudaoBot|robozilla|msnbot|MJ12bot|NHN|Twiceler)) { return 403; }
按后保存即可(尽量重启下Nginx),如果提示出错请根据错误修改!这时候去站长工具测试一下效果,看是不是返回403代码。