Robots.txt文件配置指南:语法规则与实战注意事项

📍 WDQWDWQD987AAAAA:216.73.217.20
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /1951569fafd6.html
📄

Robots.txt是放置在网站根目录下的文本文件,用来告诉搜索引擎爬虫哪些页面可以访问、哪些应该跳过。设置得当,既能避免后台等敏感页面被收录,又能让爬虫的抓取资源集中在关键内容上;但如果写错了,轻则新发布的内容迟迟不被收录,重则可能导致整个网站在搜索结果中消失。下面梳理文件写法、实用配置和常见错误,并提供可以参考的配置方案。

1. 文件位置与基本语法

文件必须命名为robots.txt(小写),放在域名根目录,例如https://example.com/robots.txt。内容为纯文本,每条规则格式为“字段名: 值”,使用英文冒号和空格分隔。

主要字段包括User-agent、Disallow、Allow和Sitemap。User-agent指定规则适用的爬虫,星号表示所有爬虫。最简单的放行配置:

User-agent: *
Disallow:

这表示允许所有爬虫抓取全部内容。需要注意:字段名区分大小写,路径必须以斜杠/开头,文件建议使用UTF-8编码且不带BOM,否则部分爬虫可能解析失败。注释用井号#,但不同爬虫对注释支持程度不同,核心规则不依赖注释最稳妥。

2. 常见业务场景的配置写法

开始配置前,先梳理站点目录结构和抓取需求,确定哪些路径需要屏蔽、哪些必须优先开放。以下是典型场景的参考写法。

建议每组规则空行分隔,便于后期维护和阅读。

3. 高频失误与避坑办法

以下错误常见于日常维护,影响容易忽略。

  1. 路径忘记加斜杠:比如Disallow: admin会同时拦截/admin、/superadmin、/admindata等所有包含admin的路径,造成误伤。应写为Disallow: /admin/,精确匹配目录。路径前后统一加斜杠即可。
  2. 爬虫名称拼错:百度蜘蛛官方名称Baiduspider,谷歌为Googlebot,大小写必须与官方一致,否则规则不生效。可以通过爬虫UA工具核对名称。
  3. 根目录位置错误:robots.txt只认域名根目录,放在子目录或改名为R0BOTS.TXT都不会生效。上线后通过访问/robots.txt验证内容是否正常返回。
  4. 与sitemap冲突:robots.txt屏蔽了某些URL,但sitemap仍包含它们,会造成抓取信号矛盾。屏蔽路径时同步从sitemap移除对应URL。

4. 配置示例与测试方法

一个兼顾内容抓取和敏感区域保护的示例:

User-agent: *
Disallow: /admin/
Disallow: /includes/
Allow: /public/
Sitemap: https://example.com/sitemap.xml

配置完成后,可以通过以下方法验证:

5. 常见问题

5.1 robots.txt修改后多久生效

搜索引擎会定期重新抓取robots.txt,通常几分钟到几小时不等。可以通过搜索引擎的抓取工具主动请求重新抓取,加快生效速度。

5.2 可以只屏蔽谷歌而不屏蔽百度吗

可以。分别设置User-agent: Googlebot和User-agent: Baiduspider对应的规则;注意用户代理名称需严格拼写,否则不生效。

5.3 robots.txt是否够阻止页面被收录

不一定。robots.txt只是抓取层面的约束,不保证绝对不收录;其他网站若引用该页面或存在外链,仍可能被间接展示。若需彻底隐藏,建议结合noindex标记或登录验证机制。

6. 结语

配置文件时,先明确哪些目录需要保护、哪些需要优先抓取,再按场景逐步添加规则。避免路径缺斜杠、爬虫名拼错等细节问题,配置后务必测试并关注服务器日志。定期复查文件内容和抓取情况,确保规则与站点结构同步调整。

图1 图2

nginx