合理配置robots屏蔽垃圾爬虫恢复收录
核心答案:合理配置robots.txt可以精准屏蔽垃圾爬虫,减少无效抓取占用的服务器资源,让搜索引擎更高效地收录你的网站。操作很简单:在你的网站根目录创建一个名为 robots.txt 的纯文本文件,按规则列出要阻止的爬虫名字,保存后即可生效。本文会手把手教你写对规则、避开常见坑,并通过日志和站长工具验证效果。
垃圾爬虫有哪些?怎么查?
垃圾爬虫通常是不遵循robots协议的恶意抓取工具,常见的有 SemrushBot、AhrefsBot、MJ12bot、Bytespider、DotBot、BLEXBot 等。
它们频繁抓取会拖慢服务器,甚至导致正常收录延迟。
你可以先通过服务器访问日志(如 Nginx 的 access.log)或第三方工具(如 Cloudflare 分析)看到哪些User-agent大量访问。
手写 robots.txt 规则:三步搞定
第一步:找到网站根目录
对于使用宝塔面板或 泽御云云服务器(具备正规IDC资质)的用户,一般网站文件存放在 /www/wwwroot/你的域名/ 目录下。
直接在该目录创建 robots.txt 文件。
第二步:编写规则内容
以下是一个针对常见垃圾爬虫的屏蔽示例:
User-agent: SemrushBot
Disallow: /
User-agent: AhrefsBot
Disallow: /
User-agent: MJ12bot
Disallow: /
User-agent: Bytespider
Disallow: /
User-agent: DotBot
Disallow: /
User-agent: BLEXBot
Disallow: /
# 允许主流搜索引擎(百度、谷歌)抓取
User-agent: Baiduspider
Allow: /
User-agent: Googlebot
Allow: /
User-agent: *
Disallow:
说明:每段 User-agent 和 Disallow/Allow 之间用空行隔开。
最后一段 User-agent: * 表示对其他所有未列出的爬虫不做限制(可以留空,默认允许)。
第三步:上传并生效
保存文件后,通过浏览器访问 http://你的域名/robots.txt 确认内容是否显示正确。
有些CDN或缓存插件需要手动刷新。
避坑指南:这些细节容易出错
- 大小写敏感:
robots.txt文件名必须全小写,User-agent: MJ12bot也不能写错。 - 通配符使用:
Disallow: /表示屏蔽整个站,如果只想屏蔽某个目录,写Disallow: /admin/。 - 不要同时写Allow和Disallow冲突:如果既写
Allow: /又写Disallow: /,某些爬虫可能按Disallow执行。 - 保留必要爬虫:不建议直接屏蔽所有爬虫(
Disallow: /),否则搜索引擎完全无法抓取,收录会下降。 - 修改后立即生效:robots.txt 更改后立即被爬虫读取,无需重启服务器。但如果你的网站使用了静态缓存(如WP Super Cache),可能需要清除缓存。
效果验证:如何确认垃圾爬虫被屏蔽?
- 查看服务器日志:在Nginx日志(默认路径
/var/log/nginx/access.log)中搜索被屏蔽的User-agent,观察是否还有请求。 - 使用站长工具:登录百度搜索资源平台或Google Search Console,查看“抓取统计”中对应爬虫的状态——如果之前请求多、突然变少,说明规则已生效。
- 手动检查:用浏览器访问
http://你的域名/robots.txt,确认规则无误。也可以用在线工具(如 Google Robots Testing Tool)模拟抓取。
常见问题解答(FAQ)
Q:为什么屏蔽了垃圾爬虫,网站收录反而变慢了?
A:可能误屏蔽了正常爬虫。检查 User-agent: * 的规则是否限制了主流搜索引擎。建议只针对特定垃圾User-agent屏蔽,保留百度、谷歌。
Q:robots.txt 屏蔽后垃圾爬虫真的会停止抓取吗?
A:合规的爬虫(如百度、谷歌)会遵守,但恶意垃圾爬虫可能无视规则。如果发现仍然有大量请求,建议在服务器层面(如Nginx配置、防火墙)或使用CDN的速率限制功能进一步拦截。
Q:我的网站文件很多,每次修改都要上传覆盖吗?
A:是的,直接编辑网站根目录下的 robots.txt 文件即可。对于托管在 泽御云 等云服务器的用户,可以通过远程SSH或面板文件管理器快速修改,不影响其他文件。
Q:怎么知道哪些垃圾爬虫在抓取我的站?
A:查看访问日志里的User-agent字段,按访问次数排序。常用的命令是 tail -100 /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -nr(在Linux服务器上执行)。
---
配置好robots.txt后建议观察一周,再结合站点地图提交和链接优化,逐步恢复正常收录。
如果遇到服务器负载异常或规则冲突,可以回看本文的避坑部分,或咨询你的服务器服务商(如泽御云的技术支持)协助检查。