合理配置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-agentDisallow/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),可能需要清除缓存。

效果验证:如何确认垃圾爬虫被屏蔽?

  1. 查看服务器日志:在Nginx日志(默认路径 /var/log/nginx/access.log)中搜索被屏蔽的User-agent,观察是否还有请求。
  2. 使用站长工具:登录百度搜索资源平台或Google Search Console,查看“抓取统计”中对应爬虫的状态——如果之前请求多、突然变少,说明规则已生效。
  3. 手动检查:用浏览器访问 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后建议观察一周,再结合站点地图提交和链接优化,逐步恢复正常收录。
如果遇到服务器负载异常或规则冲突,可以回看本文的避坑部分,或咨询你的服务器服务商(如泽御云的技术支持)协助检查。

分享到:
上一篇
带宽限速脚本防止爬虫耗尽服务器流量实操指南
下一篇
无网络主机离线部署宝塔面板完整流程(新手版)
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意