Robots.txt 生成器
为不同爬虫设置 allow 和 disallow 规则,可选择添加抓取延迟和站点地图引用,生成 robots.txt 文件。
规则
robots.txt
user-agent 填 * 可以让规则应用于所有爬虫,也可以填写具体的爬虫名称,例如
Googlebot。Disallow 会阻止某个路径被抓取,Allow 则明确允许某个路径(适合在被禁止的
文件夹中开放个别例外)。
工作原理
生成器会按 user-agent 对你的规则分组,所以你在三行中分别为 Googlebot 写的三条规则会被合并到同一个 User-agent: Googlebot 标题下,各组之间用一个空行分隔,符合解析器的预期。路径为空的规则会被跳过,每个值在写入前都会去除换行符,因此在字段中粘贴异常内容也无法注入独立的额外指令。删除所有规则后,输出会回退到 User-agent: * 加一个空的 Disallow:,这是表示“不禁止任何内容”的有效写法。
关于 robots.txt 有两点容易让人困惑。第一,Crawl-delay 被保留在这个工具中是因为 Bing 和 Yandex 会遵守它,但自从 Google 在 2019 年正式弃用不受支持的指令以来,Googlebot 完全忽略它;对 Google 而言,你需要通过 Search Console 管理抓取速率。第二,也更重要:Disallow 并不会把页面从搜索结果中移除,它只会阻止抓取。被屏蔽的网址仍可能因为其他网站的链接而被收录,只是不带摘要展示。如果你想让页面彻底不出现在索引中,应该反其道而行:允许抓取,并在该页面上添加 noindex 元标签。
文件完全在本页面的 JavaScript 中随你输入实时组装。你的路径、机器人名称和站点地图网址都不会被发送到任何地方,你可以在开发者工具的网络面板中确认这一点。
常见问题
robots.txt 真的能阻止 Google 收录页面吗?
它阻止的是抓取,而不一定是收录。如果有其他网站链接到某个被禁止抓取的网址,它仍然可能出现在搜索结果中(只是没有描述文字)。如果要彻底不让页面出现在搜索结果中,应改用 noindex meta 标签,而这需要页面本身是可以被抓取的。
robots.txt 应该放在哪里?
必须放在域名根目录,也就是 https://example.com/robots.txt,不能放在其他位置。爬虫不会去子文件夹中查找它。
空的 Disallow 是什么意思?
Disallow: 后面什么都不写,表示“禁止什么都不禁止”,也就是允许该 user-agent 抓取所有内容。这也是本工具默认从 Allow: / 开始的原因。