知识库 / 阶段 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 是网站的“抓取守门员”,控制搜索引擎访问行为,保护隐私、优化抓取效率、提升网站健康度。