每个网站在根目录下都有一个名为 robots.txt 的纯文本文件,它相当于站点与搜索引擎爬虫之间的沟通协议。爬虫访问网站时,会优先读取这个文件,以此判断哪些页面可以抓取、哪些区域需要回避。合理的 robots 配置不仅能保护后台数据不被搜索引擎索引,还能让爬虫的抓取资源集中于关键页面,从而直接改善网站的收录效率与排名表现。
robots 文件必须存放于网站的根目录,并确保能够通过域名直接访问,例如 http://example.com/robots.txt。该文件必须是纯文本格式,且每条指令单独占一行,路径大小写敏感,一个字母的误差就可能使规则失效。掌握以下核心指令,是正确配置的前提。
一个常见的典型配置示例如下:
User-agent: *
Disallow: /private/
Allow: /private/shared/
Sitemap: https://www.example.com/sitemap.xml
此配置表示,除特定爬虫外,全站内容均可抓取,但 /private/ 目录下的内容不予收录,然而 /private/shared/ 子目录作为例外,仍可被访问。值得警惕的是,并非所有搜索引擎都支持 Allow 指令,部分爬虫仅遵循 Disallow。因此,切勿将重要页面置于仅依赖 Allow 规则才能被抓取的位置。
依据网站运营目标的不同,对爬虫的开放策略也应有所差异。这里整理了三套实用配置,可直接作为模板参考。
对于内容型网站或新上线的站点,最核心的目标是让每一篇文章尽快被搜索引擎索引。此时,最简单有效的配置是:
User-agent: *
Disallow:
在 Disallow 后不填写任何路径,意味着不限制任何抓取行为。实际上,即便忽略该行,爬虫默认也会抓取全部内容。许多新手会误写为 Disallow: /,这会造成全站屏蔽,使爬虫彻底无法进入,直接导致收录停滞。因此,修改配置后务必用浏览器或无痕模式模拟访问,确认页面状态。
当你希望阻止某个特定的爬虫(如 Bingbot)收录站点时,需要专门为其设立规则段落:
User-agent: Bingbot
Disallow: /
这样设置后,除 Bingbot 之外的爬虫均不受影响,谷歌、百度等其他引擎可正常抓取。需注意,不同搜索引擎的爬虫名称必须准确无误,否则规则无法生效。例如,百度蜘蛛为 Baiduspider,谷歌为 Googlebot,拼写错误会导致屏蔽失效或误伤其他爬虫,影响整站收录。
当站点包含大量后台脚本、临时页面或重复性参数时,可通过 robots 文件引导爬虫避开这些资源消耗点。例如:
User-agent: *
Disallow: /search?
Disallow: /user/profile
Disallow: /temp/
这种写法能显著降低服务器无效请求,提高抓取带宽的利用率。但需明确,robots.txt 仅是通行约定,并非安全屏障。若涉及敏感数据,应借助服务器端的访问控制或密码验证加以防护,切勿将安全防护寄托于此文件之上。
在实际配置中,看似简单的内容往往暗藏陷阱。避免以下问题,能让你的 robots 文件少走弯路。
robots 文件不仅用于限制访问,还能主动引导爬虫发现新内容。在文件中声明 Sitemap 地址,有助于爬虫更快地订阅与抓取站点地图。此操作不影响任何 Disallow 规则,属于良性信息补充。
通常做法是在文件末尾追加以下行:
Sitemap: https://www.example.com/sitemap_index.xml
这样做的优势在于:即便爬虫尚未从其他页面链接中发现内容更新,也能通过站点地图及时掌握新页面动态。建议在每次发布重要内容后,及时更新站点地图文件,并确保 robots.txt 中的 URL 链接始终有效。另外,若使用 CDN 或 HTTPS,务必使用完整的绝对路径地址,避免因协议不一致导致线路中断。
影响微乎其微。该文件本身是极小的文本文件,读取成本很低。真正的风险在于配置逻辑错误,比如误屏蔽了全站,会导致搜索引擎收录骤减。因此,更应关注规则是否正确反映意图,而非性能损耗。
最简单的方法是在浏览器地址栏直接输入域名下的 robots.txt 路径,检查返回内容与预期是否一致。同时,可使用谷歌搜索管理后台或百度搜索资源平台提供的抓取诊断工具,模拟爬虫查看规则执行结果。若发现规则冲突,优先确保 Disallow 的准确性。
强烈建议清理。改版后若保留了过时的路径规则,可能误伤新页面或阻碍重定向。例如,旧规则禁止 /old-dir/,但改版后重要内容迁移到该路径下,就会造成新页面无法收录。务必在改版后重新审视并更新整个 robots 文件,移除已失效的路径,同步更新站点地图。
robots.txt 的配置看似基础,却深刻影响着网站的搜索引擎表现。正确的做法是:清晰规划允许与禁止的边界,精确路径与拼写,并善用 Sitemap 指令辅助内容发现。在执行层面,建议每次修改后立即进行测试,确认无误后再宣布完成。只有把这份守则写对,爬虫才能高效地为你所用,而不是成为流量增长的阻碍。