缙哥哥的博客
与你分享我的点点滴滴生活

WordPress如何根据自己的需求编写和优化robots.txt文件

昨天在 WordPress 交流群里有人提到了“如何阻止搜索引擎收录WordPress站点”的需求,绝大多数人是为了让搜索引擎收录,而有一小部分人,因为特殊需求、特殊原因,不想让搜索引擎找到,这个时候该怎么办呢?这里,缙哥哥给各位小伙伴分享下如何根据自己的需求编写和优化robots.txt文件。

WordPress如何根据自己的需求编写和优化robots.txt文件

robots协议配置

首先我们要用的是robots.txt文件,那么什么是robots呢?

robots就是网站跟爬虫间的协议,用简单直接的 txt格式 文本方式告诉对应的爬虫被允许的权限,也就是说robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。

而robots.txt文件内,Disallow 禁止,Allow 允许。按需要增减即可。

WordPress默认robots配置

一般人使用以下配置即可。

# 《WordPress配置robots.txt文件教程》 - https://www.dujin.org/14856.html
User-agent: *
Disallow: 
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://www.dujin.org/sitemap.xml

这段的意思也就是对所有的搜索引擎采取默认的态度,我没有不允许,也没有拒绝,爱爬不爬,但是/wp-admin/目录是不允许你爬的!但由于交互经常用到/wp-admin/admin-ajax.php文件,所以又单独允许出来。最后一句告诉搜索引擎,我的站点地图地址,你可以根据我的地图来快速爬取。

WordPress禁止国内搜索引擎爬取配置

某些内容不希望国内的人搜到,可使用以下配置。

# 《WordPress配置robots.txt文件教程》 - https://www.dujin.org/14856.html
User-agent: Baiduspider
Disallow: /
User-agent: Sosospider
Disallow: /
User-agent: sogou spider
Disallow: /
User-agent: YodaoBot
Disallow: /
User-agent: *
Disallow: /wp-admin/
Sitemap: https://www.dujin.org/sitemap.xml

Disallow 为禁止,也就是说 User-agent 是百度、搜搜、搜狗、有道都不允许爬我的站,当然,你可以根据自己的需求进行加减,毕竟还有很多小蜘蛛是常人所不知的,所以你需要通过后台查看他的 User-agent 请求头来把它加进去,并设置为 Disallow 即可。这样的设置就不影响国外的搜索引擎收录。

但是如果搜索引擎不遵守那就得使用杀手锏,请查看文末进阶教程!

不怎么会优化WordPress的配置

为什么这里会说弄一个“不怎么会优化的WordPress配置”呢?因为缙哥哥经常在群里听到“我*,昨天某某蜘蛛又把我服务器爬挂了……”之类的语言。所以,如果你不愿意或者不会去优化你的WordPress站点,那么你可以使用如下robots配置。

# 《WordPress配置robots.txt文件教程》 - https://www.dujin.org/14856.html
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: https://www.dujin.org/sitemap.xml
  • 这个是在默认的基础上配置的,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代码。

应该这样子就没啥大问题了,如果还有更好的办法,欢迎给缙哥哥留言。

赞(6) 打赏
转载请注明来源及链接:缙哥哥 » WordPress如何根据自己的需求编写和优化robots.txt文件
如需 WordPress 优化加速、二次开发、托管等服务,可联系我购买付费服务:点此联系我 | 近期站内热门福利:

评论 1

评论前必须登录!

 

  1. #1

    谢谢分享!

    ouxiaopi5个月前 (01-03)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏