极简工具箱

免费在线工具 · 本地计算 · 无需上传

robots.txt 怎么写:Disallow 写错整站不被收录

`Disallow: /` 想屏蔽一个目录,结果整站从搜索里消失——robots.txt 的语法很简单,写错一个字符的代价却很大。

广告位(百度联盟)

一、基本语法

User-agent: *
Disallow: /admin/
Allow: /admin/public/
Sitemap: https://www.it586.cn/sitemap.xml

规则按「最长匹配优先」生效:/admin/ 禁止、/admin/public/ 允许,则后者可被抓取。

二、最常见的三个错误

1. Disallow: / 屏蔽全站

这是最致命的:想屏蔽某个目录,写成了根路径。上线前一定用浏览器访问 https://站点/robots.txt 核对一遍。

2. Disallow 当成「收录控制」

robots.txt 只阻止抓取,不阻止收录。如果外链指向了被 Disallow 的页面,搜索引擎无法抓取内容,仍可能凭标题和链接把它收录,显示为「无描述」的结果。要阻止收录,正确做法是:

3. Disallow 与 noindex 同时用

两者一起用会互相抵消:爬虫无法抓取页面,就看不到 noindex,页面可能一直留在索引里。要 noindex 就不要 Disallow。

三、通配符与结尾

User-agent: *
Disallow: /*?*          # 禁止所有带查询参数的 URL
Disallow: /*.pdf$       # 禁止所有 pdf($ 表示结尾)
Disallow: /search       # 同时匹配 /search 和 /searchxxx
Disallow: /search/      # 只匹配 /search/ 开头

想屏蔽带参数的 URL(如分页、筛选)时,Disallow: /*?* 很有效,但也会屏蔽掉所有有意义的参数页,要确认没有重要内容依赖参数。

四、多爬虫与优先级

User-agent: *
Disallow: /tmp/

User-agent: Baiduspider
Allow: /
Disallow: /tmp/

User-agent: Googlebot
Crawl-delay: 1
Disallow: /private/

五、Sitemap 声明

Sitemap: https://www.it586.cn/sitemap.xml

放在文件任意位置都行,但建议放最后。多个 sitemap 可以写多行。这条声明能帮爬虫更快发现站点地图,比在后台提交多一层保障。

六、robots.txt 的正确用法

适合:

不适合:

安全提醒:任何靠「爬虫不会来」的思路都是错的。后台路径写进 robots.txt 反而暴露了位置,正确做法是加认证。

七、检查清单

  1. 访问 https://域名/robots.txt 能正常返回 200,内容是纯文本。
  2. 没有 Disallow: / 这种全站屏蔽(除非确实要下线)。
  3. Sitemap 是完整 URL,且能访问。
  4. 重要目录没有被误屏蔽。
  5. 没有同时用 Disallow 和 noindex。
  6. 规则改动后,在站长平台用「robots 测试工具」验证。

需要生成或校验规则时,用 robots.txt 生成器;站点地图用 sitemap 生成器。

小结

Disallow: / 会屏蔽全站,上线前必看;robots 只阻止抓取不阻止收录;要 noindex 就别 Disallow;末尾斜杠与通配符影响匹配范围;别忘了写 Sitemap。

本文相关工具(本地计算,无需上传)

更多使用教程