知识库 / 阶段 1 · SEO 基础概念 / 搜索引擎优化(SEO) ↗ / 第 068 节
🤖 什么是 robots
🤖 什么是 robots.txt?#
robots.txt 是网站根目录下的一个纯文本文件,用于向搜索引擎爬虫(robots 或 spiders)声明抓取规则。
搜索引擎访问网站时,第一步通常会先读取这个文件,以确定哪些内容允许或禁止访问。
📍 文件路径固定:
https://www.example.com/robots.txt
📄 文件示例:
User-agent: *
Disallow: /admin/
Allow: /public/
Sitemap: https://www.example.com/sitemap.xml
🎯 一、robots.txt 的主要作用#
| 作用 | 说明 |
| 🚫 控制搜索引擎抓取范围 | 告诉爬虫哪些页面或目录不能抓取,例如后台管理页、隐私内容、测试页。 |
| 🧭 节省爬取预算(Crawl Budget) | 限制爬虫访问不重要或重复内容,把抓取资源集中在核心页面。 |
| 🧩 防止隐私或安全页面被曝光 | 防止内部目录、接口文件、开发版本出现在搜索结果中。 |
| 🔗 声明网站地图(Sitemap) | 在 robots.txt 文件中可以声明 sitemap 位置,方便搜索引擎发现站点结构。 |
🧱 二、robots.txt 的基本语法#
| 指令 | 含义 |
| User-agent | 指定规则适用的搜索引擎爬虫(如 Googlebot、Baiduspider) |
| Disallow | 禁止访问的目录或页面 |
| Allow | 允许访问的目录或页面(在禁止目录中可例外开放) |
| Sitemap | 指定网站地图(sitemap.xml)的路径 |
📘 示例1:允许全部爬取#
User-agent: *
Disallow:
含义:所有爬虫都可以抓取所有页面(默认行为)。
📘 示例2:禁止访问后台目录#
User-agent: *
Disallow: /admin/
含义:禁止所有爬虫抓取 /admin/ 目录。
📘 示例3:只禁止特定爬虫#
User-agent: Googlebot
Disallow: /private/
含义:只禁止 Google 的爬虫访问 /private/ 目录。
📘 示例4:禁止所有爬虫访问全站#
⚠️ 谨慎使用!
User-agent: *
Disallow: /
含义:禁止所有爬虫抓取任何页面(包括首页)。
常见于测试站点、内网或预发布环境。
📘 示例5:指定网站地图#
User-agent: *
Disallow:
Sitemap: https://www.example.com/sitemap.xml
含义:开放全站抓取,并声明 sitemap 地址。
🧩 三、robots.txt 的匹配规则(重点)#
| 规则 | 说明 | 示例 |
| 星号(*) | 通配符,代表任意字符 | Disallow: /tmp/* 禁止抓取 tmp 目录下所有内容 |
| 美元符号($) | 代表结尾匹配 | Disallow: /*.pdf$ 禁止抓取所有以 .pdf 结尾的文件 |
| 优先级 | 越具体的规则优先级越高 | Allow: /public/page.html 可覆盖上层 Disallow 规则 |
⚙️ 四、robots.txt 的常见用途#
| 用途 | 示例 | 说明 |
| 屏蔽后台管理页 | Disallow: /admin/ | 防止后台页面被抓取 |
| 屏蔽搜索结果页 | Disallow: /search/ | 避免重复或动态URL被收录 |
| 屏蔽测试文件 | Disallow: /test/ | 阻止临时文件被索引 |
| 指定Sitemap | Sitemap: https://example.com/sitemap.xml | 辅助索引优化 |
| 屏蔽接口或脚本文件 | Disallow: /*.php$ | 防止API或功能文件被抓取 |
⚠️ 五、robots.txt 的限制与误区#
| 误区 | 说明 |
| ❌ 不能防止页面被索引 | Robots 只是禁止“抓取”,不是禁止“出现在搜索结果”。(若页面有外链仍可能被索引) |
| ❌ 不等于保密机制 | 敏感页面应通过密码保护或 noindex 标签,而非仅靠 robots.txt。 |
| ❌ 错误屏蔽会导致整站掉收录 | 误写 Disallow: / 可能导致全站无法被搜索引擎访问。 |
| ❌ 区分大小写 | 文件路径大小写错误会导致规则失效。 |
🔍 六、如何验证 robots.txt 是否生效#
| 工具 | 功能 |
| Google Search Console → Robots.txt Tester | 检查Googlebot的抓取规则匹配情况 |
| Bing Webmaster Tools | 可模拟不同爬虫的访问情况 |
| 百度搜索资源平台 → 抓取诊断 | 测试Baiduspider能否访问特定页面 |
| 在线工具 | robots.txt Tester、TechnicalSEO Robots Simulator |
🧭 七、最佳实践(白帽SEO推荐)#
✅ 建议每个网站都具备 robots.txt 文件
✅ 明确区分“禁止抓取”与“禁止索引”的概念
✅ 在 robots.txt 中添加 sitemap 声明
✅ 对测试环境、后台目录加限制
✅ 定期审查 robots 文件内容是否与实际结构一致
✅ 使用 “Allow” 精确控制例外页面
✅ 八、总结一句话#
robots.txt 是网站的“抓取守门员”,控制搜索引擎访问行为,保护隐私、优化抓取效率、提升网站健康度。