英文全称与常见别名
- 英文全称:robots.txt(Robots Exclusion Protocol,机器人排除协议)
- 文件位置:必须放在网站根目录,如
https://yoursite.com/robots.txt - 常见中文说法:爬虫规则文件、搜索引擎抓取规则、机器人排除文件
- 常见关联词:Disallow(禁止抓取)、Allow(允许抓取)、User-agent(指定爬虫)、Crawl-delay(抓取延迟)、Sitemap(站点地图位置声明)
- 协议制定方:1994 年由 Martijn Koster 提出,现为非正式互联网惯例;Google、Bing、百度等主流搜索引擎均遵守
robots.txt 核心指令
一个典型的独立站 robots.txt 文件包含以下指令:
# 指定适用对象(Googlebot = Google 爬虫) User-agent: Googlebot # 允许抓取产品页和文章页 Allow: /products/ Allow: /articles/ # 禁止抓取后台、内部搜索、购物车 Disallow: /admin/ Disallow: /search? Disallow: /cart/ Disallow: /checkout/ # 所有爬虫的通用规则 User-agent: * # 禁止抓取后台和临时页面 Disallow: /admin/ Disallow: /tmp/ # 声明 sitemap 位置 Sitemap: https://yoursite.com/sitemap.xml
| 指令 | 作用 | 独立站典型用法 |
|---|---|---|
User-agent | 指定规则适用的爬虫名称 | Googlebot(Google)、Bingbot(Bing)、*(所有爬虫) |
Disallow | 禁止抓取指定路径 | /admin/、/search?、/cart/、/checkout/ |
Allow | 允许抓取指定路径(覆盖 Disallow) | /products/、/collections/ |
Sitemap | 声明站点地图文件的位置 | https://yoursite.com/sitemap.xml |
Crawl-delay | 建议爬虫抓取间隔(秒) | 仅 Bing、Yandex 支持;Google 不遵守 |
独立站场景:为什么需要 robots.txt
独立站和平台店铺不同,你拥有完整的服务器和目录控制权。以下是独立站必须配置 robots.txt 的 4 个核心场景:
| 场景 | 原因 | 对应 Disallow 规则 |
|---|---|---|
| 保护后台页面 | 管理后台、登录页面被收录后,用户搜索时可看到,既不美观也不安全 | Disallow: /admin/ |
| 节省抓取预算 | 搜索引擎对每个站点有抓取上限(Crawl Budget),不要浪费在低价值页面 | 禁止内部搜索页、分页参数页等 |
| 避免重复内容 | 同一产品多种排序/筛选产生大量相似 URL,容易被判定为重复内容 | Disallow: /search?、Disallow: /*?sort= |
| 声明 Sitemap 位置 | 在 robots.txt 中声明 Sitemap URL,搜索引擎可以自动找到并抓取 | Sitemap: https://yoursite.com/sitemap.xml |
实际例子
假设你经营一个 Shopify 独立站 sellingproducts.com,下面是推荐的 robots.txt 配置思路:
- 必须 Disallow:
/admin/(后台)、/cart/(购物车)、/checkout/(结账流程)、/search?(内部搜索页)、/account/(用户账户页)——这些页面被收录毫无价值 - 必须 Allow:
/products/、/collections/、/blogs/——这些是核心内容页面,要确保搜索引擎能抓取 - 声明 Sitemap:
Sitemap: https://sellingproducts.com/sitemap.xml——与 Sitemap 文件配合使用 - Shopify 自动生成:Shopify 会自动生成默认 robots.txt,但你可以在后台自定义规则覆盖默认配置
robots.txt 与 Sitemap 的关系
robots.txt 和 Sitemap 是独立站 SEO 的两个基础文件,它们分工明确:
| 文件 | 核心作用 | 类比 |
|---|---|---|
| robots.txt | 告诉爬虫「哪些页面不要抓取」 | 门口的「访客须知」 |
| Sitemap.xml | 告诉爬虫「哪些页面要优先抓取」 | 递给访客的「参观路线图」 |
最佳实践:在 robots.txt 中声明 Sitemap 位置,搜索引擎在读取 robots.txt 时会自动发现你的站点地图,形成「排除低价值 + 推荐高价值」的闭环。
3 个新手误区
⚠️ 误区一:以为 robots.txt 能阻止页面被收录
robots.txt 只是建议而非强制。遵守规则的搜索引擎(Google、Bing)会主动绕开,但恶意爬虫完全无视。如果你有真正敏感的内容(客户数据、后台接口),应该用服务器认证(HTTP Auth)或 IP 限制来保护,而非仅靠 robots.txt。
⚠️ 误区二:Disallow 所有页面来「防止被爬」
有些新手在 robots.txt 中写 Disallow: /(禁止抓取整个网站),以为这样可以「隐藏」网站。结果搜索引擎真的不抓取了——你的网站从搜索结果中消失。如果你希望某个页面不被收录但仍允许爬虫发现链接,应使用 noindex meta 标签而非 Disallow。
⚠️ 误区三:写错路径格式
robots.txt 的路径是相对根目录的路径,不要写完整 URL。正确:Disallow: /admin/;错误:Disallow: https://yoursite.com/admin/。另外路径区分大小写,/Admin/ 和 /admin/ 是不同的。