易君召
发布于 2026-08-09 / 作者:易君召 / 2 阅读
0

如何利用 robots.txt 文件来优化网站的 SEO

核心前提:robots.txt 只是给爬虫的抓取协议,≠ 控制网页是否索引。它管「要不要爬」,不管「搜不搜得到」;禁止抓取不等于从搜索结果删除页面,删除索引要用 noindex、站长平台删除。

robots.txt 写错会直接造成页面不被收录、流量损失。

一、robots.txt 对 SEO 能做什么

✅ 可以做:

  1. 阻止爬虫抓取无价值页面,节省爬虫配额(抓取预算 Crawl Budget),让蜘蛛把资源用在高质量页面。

  2. 屏蔽后台、接口、重复页、测试页,避免无效页面消耗抓取量。

  3. 通过 Sitemap: 指令主动提交站点地图,帮助爬虫发现页面。

  4. 针对不同搜索引擎爬虫做差异化规则。

不能做(高频踩坑)

  1. 不能禁止索引页面:Disallow:/xxx 只是不让爬虫访问页面,如果外部有外链,页面 URL 依旧可能出现在搜索结果。想要不展示,页面头部加 <meta name="robots" content="noindex">

  2. 不能阻止图片、视频被索引(图片有独立爬虫)。

  3. 不是安全工具,不能保护隐私、后台,恶意爬虫无视。

二、SEO 最佳实践配置示例

# 对所有爬虫生效
User-agent: *

# 1. 禁止抓取无SEO价值路径,节省抓取预算
Disallow: /admin/          # 后台管理
Disallow: /login/
Disallow: /register/
Disallow: /search/         # 站内搜索结果页,大量重复内容,容易产生垃圾页面
Disallow: /tag/*?page=     # 标签分页,防止重复内容泛滥
Disallow: /*.pdf$           # 如果不需要pdf被收录,禁止;需要收录就不要写
Disallow: /*?*              # 谨慎!禁止全部带参数URL,动态站慎用,会误伤筛选页

# 2. 允许抓取核心内容,Disallow为空代表全部放行,不写默认允许
Allow: /

# 3. 提交sitemap,搜索引擎优先读取,提升发现新页面效率
Sitemap: shturl.cc/wKxYijC5NhZaH7NjtdJUgXr6

# 针对百度爬虫单独规则(可选)
User-agent: Baiduspider
Allow: /
Disallow: /temp/

# 禁止某个爬虫完全不要访问网站(极少用)
# User-agent: BadBot
# Disallow: /

关键指令说明

  1. User-agent: *:全部搜索引擎蜘蛛

  2. Disallow: 空值:允许全部抓取;Disallow: / 全站禁止抓取(网站上线前测试用,上线千万不要写)

  3. Allow::在禁止目录中放行部分子目录,优先级高于 Disallow

  4. Sitemap::可以写多行,提交多个站点地图,写在任意位置都生效,建议放文件末尾

三、SEO 优化核心策略:用好抓取预算 Crawl Budget

搜索引擎分配给每个网站有固定抓取量。如果爬虫大量爬取后台、搜索页、重复分页、临时页面,会导致重要文章、产品页来不及爬,造成收录慢、收录少

建议屏蔽哪些页面(写入 Disallow)

  1. 管理后台、登录注册、用户中心 /admin /user

  2. 站内搜索结果页 /search?q=xxx(极易生成海量垃圾动态 URL)

  3. 测试页面、临时页面、备份目录 /temp /bak

  4. 打印版页面、重复的移动端镜像旧版本

  5. 接口、api 目录,不需要搜索引擎抓取接口返回 JSON

⚠️不要随意屏蔽这些(会严重伤害 SEO)

  1. 不要屏蔽 CSS、JS、图片

现代爬虫渲染页面依赖 css/js,Disallow: /static/ 会导致搜索引擎无法渲染页面,排名暴跌。

  1. 不要屏蔽产品列表、文章列表分页;分页重复内容优先 canonical 标签,而不是 robots 禁止抓取。

  2. 不要屏蔽 sitemap.xml 本身,爬虫需要访问站点地图。

误区:很多新手把 /static//js/ 禁止,这是经典 SEO 事故。

四、robots.txt 和其他 SEO 标签配合(组合才生效)

robots.txt 只控制抓取,索引控制交给 meta robots 标签:

需求

正确方案

错误方案

不让爬虫爬这个 URL

Disallow: /xxx/

写 noindex,但是爬虫还会尝试访问

页面不要出现在搜索结果,但允许爬虫访问

页面加 <meta name="robots" content="noindex,follow">

只写 Disallow,URL 仍可能被索引

既不让爬,也不要出现在搜索结果

Disallow: /xxx/ + 页面 noindex

仅 Disallow

禁止图片索引

<meta name="robots" content="noimageindex">

robots.txt 无法完全屏蔽图片收录

canonical 规范化标签:处理重复页面,告诉爬虫哪个是原版,不要靠 robots 屏蔽重复页。

五、上线校验步骤,防止改错导致收录灾难

  1. 文件必须放在域名根目录,文件名小写 robots.txt;地址 域名/robots.txt

  2. 不要写语法错误,空格、大小写敏感;Disallow: /adminDisallow: /admin/ 含义不同

    • /admin 匹配 /admin/adminxxx

    • /admin/ 只匹配 admin 目录下内容,推荐目录末尾加斜杠

  3. 使用站长工具校验:

    • 百度搜索资源平台:robots 工具检测

    • Google Search Console:robots.txt 测试工具,模拟各个爬虫查看哪些 URL 被禁止

  4. 修改 robots.txt 后,在站长平台提交更新,通知搜索引擎重新读取文件。

  5. 上线前先在测试域名验证,千万不要生产环境误写 Disallow: /,会直接网站几乎全部不收录。

六、常见踩坑总结

  1. 子域名独立 robots.txt:a.domain.com 需要自己根目录 robots.txt,不会继承主站规则。

  2. http 和 https 是两个站点,分别生效,迁移全站 https 后记得更新 https 域名的 robots.txt。

  3. robots.txt 有缓存,修改后搜索引擎不会立刻生效,需要等待爬虫重新抓取文件,可在站长平台触发刷新。

  4. 不要大量写通配符 Disallow: /*?*,很多网站筛选、排序参数是有价值页面,会直接误伤大量有效页面。

七、什么时候不要用 robots.txt

  • 小网站(页面几百以内)抓取预算充足,不需要大量屏蔽,直接保留 User-agent:* Disallow:(全部允许),加上 Sitemap 即可,过度屏蔽反而会出问题。


本文原创作者:易君召,详见:https://www.yijunzhao.cn/authors/yijunzhao,转载请注明出处。

原文链接 https://www.yijunzhao.cn/archives/robots-txt-seo-optimization-guide

欢迎访问 小易撩挨踢

https://www.yijunzhao.cn/