robots txt怎么写:怎样形成可复用检查清单

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

robots txt怎么写:怎样形成可复用检查清单

把 robots.txt 的写法变成可复用检查清单,核心是先确定“要允许什么、要屏蔽什么、用什么路径匹配”,再把每条规则写成可验证的检查项。不要只凭记忆写几行 Disallow,而应把每次改动都按同一套顺序核对:文件位置、语法、路径匹配、抓取限制与索引移除的区别、验证结果。这样换一个站点或隔一段时间再写,也能按清单逐项执行,而不必重新摸索。

先区分两种处理方案:全站统一规则与分目录规则

写 robots.txt 前先比较两种常见处理方案,再决定用哪一种。

判断依据不是“哪种更高级”,而是“改动频率和误伤成本”。如果每次上新栏目都要改规则,分目录方案更合适;如果只是屏蔽少数固定路径,全站统一规则更省事。无论选哪种,都要记住:robots.txt 的抓取限制不等于可靠的索引移除。被屏蔽抓取的页面仍可能因外部链接出现在搜索结果中,需要移除索引时应使用其他机制,而不是只改 robots.txt。

可复用检查清单:从文件位置到语法逐项核对

下面这份清单可以直接复制到自己的发布流程里,每次修改 robots.txt 后按顺序执行。

  1. 确认文件位置与名称:文件应放在站点根目录,命名为 robots.txt,且能通过根路径直接访问。子目录下的同名文件不会被当作全站规则使用。
  2. 确认可访问状态:用浏览器或命令行请求该地址,返回状态应为 200。若返回 404,抓取工具会按“无限制”处理;若返回 5xx,不同抓取工具的临时处理方式可能不同,必须分别核查。
  3. 检查语法行:每条规则由字段名、冒号和值组成。字段名常见的有 User-agent、Disallow、Allow、Sitemap。字段名大小写不敏感,但路径值大小写敏感,写错大小写会导致匹配失败。
  4. 检查 User-agent 分组:每个分组以 User-agent 开头,后面跟该组的规则。多个分组之间用空行分隔。不要把一条规则写在两个分组之间而不加空行,否则可能被归入错误的组。
  5. 检查路径匹配:Disallow: / 表示屏蔽整站;Disallow: 留空表示允许全部;Disallow: /private/ 表示屏蔽该目录。注意路径是前缀匹配,不是完整 URL 匹配,写得太短会误伤。
  6. 检查 Allow 与 Disallow 的优先级:当同一路径同时被 Allow 和 Disallow 命中时,不同抓取工具的判定规则可能不同,最稳妥的做法是避免写出互相矛盾的规则,而不是依赖某一种优先级。
  7. 检查 Sitemap 行:Sitemap 应写完整 URL,包括协议和域名。它只是提示抓取工具站点地图的位置,不保证收录,也不能替代页面本身的可抓取性。
  8. 检查注释与空行:以 # 开头的行是注释。注释不要写在字段名和冒号之间,否则会破坏该行语法。
  9. 检查是否误屏蔽资源:确认没有把 CSS、JavaScript、图片目录整体屏蔽,否则抓取工具可能无法正确理解页面内容。
  10. 检查验证结果:修改后重新请求文件,确认返回内容与预期一致;再用抓取工具的测试功能或日志观察目标路径是否仍被请求。不同搜索引擎对 robots.txt 的支持细节须分别核查,不能用一个平台的结果推断所有平台。

一个短例子:假设要屏蔽搜索页和后台目录

假设站点有 /search/ 和 /admin/ 两个目录需要屏蔽,同时希望公开站点地图。可以写成:

User-agent: *<br>Disallow: /search/<br>Disallow: /admin/<br><br>Sitemap: https://example.com/sitemap.xml

这个例子的适用条件是:这两个目录确实不需要被抓取,且没有其他规则需要区分不同抓取工具。检查结果是:请求 /search/ 和 /admin/ 下的路径应被限制,而其他路径不受影响。如果后来发现某个后台页面需要被特定工具访问,就不能继续用这一条统一规则,而要拆分成多个 User-agent 分组分别处理。

验收信号:怎么判断清单执行到位

执行完清单后,至少确认以下信号:文件能通过根路径访问且返回 200;语法没有把字段名、冒号和值写错;目标路径的匹配结果与预期一致;没有把需要抓取的资源误屏蔽;站点地图地址完整可访问。若其中任何一项无法确认,就不要急着发布,先回到对应检查项重新核对。需要特别注意的是,HTTPS 只代表传输层加密,不保证站点没有漏洞,也不保证排名;robots.txt 只表达抓取偏好,不保证页面一定不被索引。

下一步建议:把你当前站点的 robots.txt 复制出来,对照上面的十项清单逐条打勾,把不符合的项改成可验证的写法,然后再发布并重新请求一次文件确认结果。

图1 图2

nginx