跳到主要内容
IM智引科技

研究 / SEO

robots.txt 常用规则模板与使用场景

robots.txt 规则要按场景写。本篇整理全站禁止/允许、目录和文件屏蔽、子目录放行、指定抓取器、图片控制、文件类型控制和用户代理合并模板。

智引科技增长实验室2026年5月10日6 分钟难度 入门

💡 核心摘要:robots.txt 规则应围绕明确场景编写:全站禁止、全站允许、目录禁止、文件禁止、只放行子目录、只允许某个抓取器、禁止某个抓取器、限制图片抓取、限制特定文件类型,以及把多个 user-agent 合并到一个规则组。写规则前先确认目标是“控制抓取”,而不是隐藏私密内容或删除索引。


一、先建立规则选择思路

robots.txt 的核心是告诉抓取工具哪些路径可以抓、哪些路径不应抓。它适合减少低价值页面抓取、控制重复路径、阻止资源型文件进入抓取队列,但不适合保护私密内容,也不适合直接从 Google 搜索结果中删除页面。

写规则前先回答三个问题:你要控制哪个抓取工具?要控制哪个 URL 范围?这个 URL 不被抓取后,是否仍可能因为外部链接被发现并进入索引?如果目标是隐私、安全或彻底不展示,应使用登录权限、删除页面、noindex 或移除工具,而不是 robots.txt。

💡 robots.txt 是抓取预算和访问边界工具,不是安全机制。

二、禁止抓取整个网站

这个规则会阻止大多数抓取工具抓取整个网站。它常用于临时测试站、未上线环境或明确不希望被抓取的公开主机。

User-agent: *
Disallow: /

要注意,Google 在某些情况下即使没有抓取页面内容,也仍可能根据外部链接把 URL 编入索引。并且 AdsBot 等部分广告相关抓取工具需要明确指定,不能完全依赖 User-agent: *

⚠️ 不要把这个规则误发到生产站。Disallow: / 是 robots.txt 里影响范围最大的规则之一。

三、允许抓取整个网站

下面的写法明确允许所有抓取工具访问整个网站。它在功能上等同于没有 robots.txt,或写 Allow: /

User-agent: *
Disallow:

这种规则适合希望保持文件存在、同时明确表达“没有禁止抓取路径”的网站。它也方便后续在同一个文件里追加 Sitemap 或新增局部规则。

💡 空的 Disallow 表示不禁止任何路径,不是禁止空路径。

四、禁止抓取某些目录

如果要阻止整个目录及其内容,在目录名后添加正斜杠。下面示例会阻止 /calendar//junk//books/fiction/contemporary/ 下的所有内容。

User-agent: *
Disallow: /calendar/
Disallow: /junk/
Disallow: /books/fiction/contemporary/

这类规则适合日历页、临时文件、低价值聚合目录、测试输出目录等。但不要用它隐藏私密内容,因为 robots.txt 文件本身公开可见,反而可能暴露敏感路径。

⚠️ 私密内容应该用身份验证、权限控制或服务器访问控制保护,而不是写进 robots.txt。

五、禁止抓取某个具体页面

如果只想阻止某个页面或文件,可以直接写完整路径。下面示例禁止抓取站点根目录下的 useless_file.html,以及 /junk/ 目录中的某个文件。

User-agent: *
Disallow: /useless_file.html
Disallow: /junk/other_useless_file.html

这适合少量明确的低价值文件。但如果需要屏蔽大量类似页面,不建议逐条列出。更好的方式是通过目录结构、参数治理或通配符规则统一控制。

💡 大量逐条规则会让 robots.txt 难维护,也可能接近 Google 的文件大小限制。

六、禁止全站但允许某个子目录

有些站点只希望开放一个公开目录,其余路径都不希望被抓取。可以先禁止全站,再用更具体的 Allow 放行子目录。

User-agent: *
Disallow: /
Allow: /public/

Google 会按更具体的路径规则判断,因此 /public/ 可以被抓取,而其他路径仍被禁止。这类规则适合文档镜像、有限公开资源或临时发布环境。

⚠️ 放行目录内的页面还需要页面本身返回可抓取内容。如果目录下资源依赖被禁止的 CSS、JS 或图片,页面理解可能受影响。

七、只允许某个抓取工具访问网站

如果只希望某个 Google 抓取工具访问网站,可以为它单独放行,再禁止其他抓取工具。下面示例只允许 Googlebot-News 抓取整个网站。

User-agent: Googlebot-News
Allow: /

User-agent: *
Disallow: /

这种配置适合非常明确的产品场景。但在生产使用前,必须确认目标抓取工具的准确 user-agent,并理解它和普通 Googlebot、图片抓取器、广告抓取器之间的区别。

💡 具体 user-agent 规则不会自动继承 User-agent: * 的规则。需要按目标抓取器单独设计。

八、禁止某个抓取工具,允许其他抓取工具

如果某个抓取器不必要或消耗资源,可以单独禁止它,同时允许其他抓取工具继续访问网站。

User-agent: Unnecessarybot
Disallow: /

User-agent: *
Allow: /

这类规则适合非核心抓取器、内部测试抓取器或第三方机器人。对于恶意流量,robots.txt 只能约束遵守协议的客户端;不遵守规则的机器人仍需要通过 WAF、限速、身份验证或 IP 策略处理。

⚠️ robots.txt 是协商规则,不是强制防火墙。

九、禁止全站但允许 Storebot-Google

Google 官方示例中还有一个特殊场景:禁止大多数抓取工具访问全站,但允许 Storebot-Google 访问内容。这样会阻止网页出现在 Google 搜索结果中,但 Storebot-Google 仍可分析页面,用于 Google 购物展示商品。

User-agent: *
Disallow: /

User-agent: Storebot-Google
Allow: /

这个规则只适合明确希望商品可用于购物相关展示、但网页本身不进入普通搜索抓取的场景。上线前要和广告、商品 Feed、Merchant Center、搜索团队确认影响范围。

💡 商品型站点的 robots.txt 改动会影响搜索和购物两个系统,不能只从自然搜索角度判断。

十、控制图片抓取

如果禁止 Googlebot-Image 抓取整个网站,Google 将无法抓取站点图片,图片和视频也无法被编入相关索引。

User-agent: Googlebot-Image
Disallow: /

如果只想禁止某张图片,可以写具体图片路径。

User-agent: Googlebot-Image
Disallow: /images/dogs.jpg

这类规则适合版权图片、临时图片、重复图片或不希望出现在 Google 图片和 Google 探索等位置的资源。但如果图片是产品页、文章页或结构化数据的重要组成部分,屏蔽图片可能降低页面展示质量。

⚠️ 如果 Google 无法抓取图片和视频,就无法把它们编入相关索引。

十一、禁止特定文件类型

robots.txt 支持 *$ 通配符,可以用来匹配特定文件后缀。下面示例禁止 Googlebot 抓取所有 .gif 文件。

User-agent: Googlebot
Disallow: /*.gif$

也可以禁止所有 .xls 文件。

User-agent: Googlebot
Disallow: /*.xls$

$ 表示 URL 结束,所以 /*.xls$ 不会匹配带参数的 cats.xls?personality=loki。如果你的文件 URL 经常带参数,就需要单独测试匹配效果。

💡 文件类型规则适合控制资源抓取,但要注意参数 URL、大小写和 CDN 路径差异。

十二、合并多个用户代理规则

如果多个抓取工具适用同一批规则,可以把多个 User-agent 写在同一个规则组里。这样比重复写多个规则组更简洁,也更不容易出现遗漏。

User-agent: Googlebot
User-agent: Storebot-Google
Allow: /cats
Disallow: /

这表示 GooglebotStorebot-Google 都适用同一组规则:只允许抓取 /cats,禁止其他路径。合并规则适合多个抓取器共享同一策略的场景。

⚠️ 合并前确认这些抓取器确实应共享规则。搜索、购物、广告、图片抓取器的业务影响可能不同。


📌 核心收获

  • 先选场景再写规则:全站、目录、文件、图片、文件类型和指定抓取器的写法不同。
  • robots.txt 不保护隐私:私密内容应使用身份验证,不应通过公开规则文件暴露路径。
  • Disallow: / 影响最大:上线前必须确认它没有误发到生产主站。
  • Allow 可放行子路径:在全站或目录禁止下,用更具体路径开放例外。
  • 通配符要测试*$ 对文件类型有用,但参数 URL 可能不按直觉匹配。

🚀 立刻行动

  1. 备份当前 robots.txt,并标出每条规则对应的业务目的:全站、目录、文件、图片、文件类型或指定抓取器。
  2. 检查是否存在 Disallow: /,确认它只出现在明确需要全站禁止的环境或抓取器规则中。
  3. 检查是否把私密路径写进 robots.txt;如果有,改用登录权限或服务器访问控制。
  4. 对所有带 *$ 的规则列出 5 个样本 URL,手动验证是否符合预期。
  5. 如果多个抓取器共享规则,考虑合并 User-agent 组;如果业务影响不同,则保持独立规则。

来源:实用的 robots.txt 规则 | 本文为知识提炼与重新表达

NEXT ACTION / 下一步

继续系列:Google robots.txt 管理抓取指南

把读到的方法变成一个小行动,完成后再回来迭代。

继续

RELATED / 相关推荐

接着读这些

按同一分类、系列与标签为你挑选。