🤖 robots.txt 生成器
可视化创建网站的爬虫访问规则
📜 规则列表
0 条规则+ 添加新规则
什么是 robots.txt 生成器?
robots.txt 生成器是一款帮助网站管理员快速生成标准 robots.txt 文件的在线工具。robots.txt 是网站根目录下的纯文本文件,遵循 Robot Exclusion Protocol(REP)标准,用于告知网络爬虫(如 Googlebot、Bingbot)哪些页面或目录可以抓取,哪些应该被禁止访问。正确配置 robots.txt 对 SEO 至关重要——它可以防止搜索引擎索引敏感目录(如 /admin、/api)、避免重复内容被收录、控制爬虫抓取频率以减轻服务器压力。一个配置不当的 robots.txt 可能导致重要页面被排除在搜索结果之外,严重影响网站流量。本工具提供可视化界面,通过勾选和填写表单即可生成符合标准的 robots.txt 内容,同时提供常用模板(WordPress、Shopify、Next.js 等)。
如何使用 robots.txt 生成器
- 步骤一:选择预设模板或自定义 — 根据网站类型选择预设模板(WordPress、React、静态站点等),或从零开始自定义规则。模板会自动包含该类型站点的最佳实践配置。
- 步骤二:配置爬取规则 — 添加 User-agent(指定爬虫名称,* 表示所有爬虫)、Disallow 规则(禁止访问的路径)、Allow 规则(在 Disallow 范围内特别允许的路径)。
- 步骤三:添加 Sitemap 并下载 — 填写 XML Sitemap 的完整 URL,帮助搜索引擎发现所有可索引的页面。预览生成结果后,下载 robots.txt 文件上传到网站根目录。
常见使用场景
场景一:防止搜索引擎索引开发环境
开发环境(staging.example.com)和测试页面不应出现在搜索结果中。通过 robots.txt 的 Disallow: / 规则禁止所有爬虫访问,避免用户通过搜索引擎找到未完成的页面。
场景二:控制爬虫抓取频率
对于小型服务器,搜索引擎爬虫的高频抓取可能造成负载压力。使用 Crawl-delay 指令设置爬虫的访问间隔(如 Crawl-delay: 10 表示每次请求间隔 10 秒),保护服务器资源。
场景三:屏蔽敏感 API 路径
网站的 API 端点(/api/*)、内部接口(/internal/*)不应被搜索引擎收录。配置 Disallow 规则将这些路径排除在索引之外,同时确保公开页面正常被抓取。
技术原理
robots.txt 的语法由 IETF RFC 9309 标准定义。每条规则由 User-agent、Disallow、Allow 指令组成。路径匹配支持通配符 *(匹配任意字符序列)和 $(表示行尾)。爬虫在抓取网站前会先请求根目录的 robots.txt,解析其中的规则后决定是否抓取特定 URL。注意:robots.txt 只是"请求"而非"强制",恶意爬虫可能无视这些规则。
# 标准 robots.txt 示例
User-agent: *
Disallow: /admin/
Disallow: /api/
Disallow: /search?q=
Allow: /api/public/
# 指定 Sitemap 位置
Sitemap: https://example.com/sitemap.xml
# 设置爬取延迟(部分爬虫支持)
Crawl-delay: 10
# 针对特定爬虫的规则
User-agent: Googlebot
Allow: /
Disallow: /private/
最佳实践与注意事项
- robots.txt 必须放在网站根目录(https://example.com/robots.txt),其他位置无效。
- 不要使用 robots.txt 屏蔽敏感信息——它只是君子协定,不能替代真正的访问控制(如认证和密码)。
- 被 robots.txt 屏蔽的页面如果仍被其他网站链接,搜索引擎可能仍然会索引该 URL(只是不抓取内容),此时应使用 noindex meta 标签。
- 每次修改 robots.txt 后使用 Google Search Console 的 robots.txt 测试工具验证配置。
常见问题
Q:robots.txt 中的 Disallow 和 noindex 有什么区别?
A>Disallow 告诉爬虫不要抓取该页面,但如果页面被外部链接引用,URL 仍可能出现在搜索结果中(只是没有摘要)。noindex meta 标签告诉搜索引擎"可以抓取但不要索引"。要彻底从搜索结果中移除页面,应使用 noindex 而非仅靠 robots.txt。
Q:多个 User-agent 规则会冲突吗?
A>爬虫会选择最匹配的 User-agent 组。例如 Googlebot 会优先使用 User-agent: Googlebot 的规则组,如果不存在则使用 User-agent: * 的规则。不同爬虫之间互不影响。规则冲突时(同时有 Allow 和 Disallow),选择更具体的那条规则。
Q:Crawl-delay 指令所有爬虫都支持吗?
A>不是。Google 官方不支持 Crawl-delay 指令(会忽略它),Bing 和 Yandex 支持。要控制 Googlebot 的抓取频率,应在 Google Search Console 中调整"抓取速率"设置,或使用服务器端返回 503 状态码配合 Retry-After 头。
Q:如何禁止所有爬虫但允许 Google?
A>使用多条规则组合:先 User-agent: * 配 Disallow: /(禁止所有),再 User-agent: Googlebot 配 Allow: /(允许 Google)。注意规则组的顺序不影响优先级,爬虫根据 User-agent 匹配度选择规则组。
Q:WordPress 站点的 robots.txt 应该怎么配置?
A>WordPress 默认的 robots.txt 已经包含基本规则。建议 Disallow 的路径包括:/wp-admin/(登录后台)、/wp-includes/(核心文件)、/*?s=(搜索结果页)、/*?p=(分页参数页)。保留对 /wp-content/ 的访问(CSS/JS/图片需要被加载)。WordPress 还会自动生成 sitemap 提交到 robots.txt。
Frequently Asked Questions
/private/ - 禁止访问私有目录
/*.php$ - 禁止访问所有PHP文件
/api/* - 禁止访问API接口
/checkout/ - 禁止访问结账页面
/cart/ - 禁止访问购物车