核心前提:robots.txt 只是给爬虫的抓取协议,≠ 控制网页是否索引。它管「要不要爬」,不管「搜不搜得到」;禁止抓取不等于从搜索结果删除页面,删除索引要用
noindex、站长平台删除。robots.txt 写错会直接造成页面不被收录、流量损失。
一、robots.txt 对 SEO 能做什么
✅ 可以做:
阻止爬虫抓取无价值页面,节省爬虫配额(抓取预算 Crawl Budget),让蜘蛛把资源用在高质量页面。
屏蔽后台、接口、重复页、测试页,避免无效页面消耗抓取量。
通过
Sitemap:指令主动提交站点地图,帮助爬虫发现页面。针对不同搜索引擎爬虫做差异化规则。
❌ 不能做(高频踩坑)
不能禁止索引页面:
Disallow:/xxx只是不让爬虫访问页面,如果外部有外链,页面 URL 依旧可能出现在搜索结果。想要不展示,页面头部加<meta name="robots" content="noindex">。不能阻止图片、视频被索引(图片有独立爬虫)。
不是安全工具,不能保护隐私、后台,恶意爬虫无视。
二、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: /
关键指令说明
User-agent: *:全部搜索引擎蜘蛛Disallow:空值:允许全部抓取;Disallow: /全站禁止抓取(网站上线前测试用,上线千万不要写)Allow::在禁止目录中放行部分子目录,优先级高于 DisallowSitemap::可以写多行,提交多个站点地图,写在任意位置都生效,建议放文件末尾
三、SEO 优化核心策略:用好抓取预算 Crawl Budget
搜索引擎分配给每个网站有固定抓取量。如果爬虫大量爬取后台、搜索页、重复分页、临时页面,会导致重要文章、产品页来不及爬,造成收录慢、收录少。
建议屏蔽哪些页面(写入 Disallow)
管理后台、登录注册、用户中心
/admin/user站内搜索结果页
/search?q=xxx(极易生成海量垃圾动态 URL)测试页面、临时页面、备份目录
/temp/bak打印版页面、重复的移动端镜像旧版本
接口、api 目录,不需要搜索引擎抓取接口返回 JSON
⚠️不要随意屏蔽这些(会严重伤害 SEO)
不要屏蔽 CSS、JS、图片
现代爬虫渲染页面依赖 css/js,
Disallow: /static/会导致搜索引擎无法渲染页面,排名暴跌。
不要屏蔽产品列表、文章列表分页;分页重复内容优先 canonical 标签,而不是 robots 禁止抓取。
不要屏蔽 sitemap.xml 本身,爬虫需要访问站点地图。
误区:很多新手把
/static/、/js/禁止,这是经典 SEO 事故。
四、robots.txt 和其他 SEO 标签配合(组合才生效)
robots.txt 只控制抓取,索引控制交给 meta robots 标签:
canonical 规范化标签:处理重复页面,告诉爬虫哪个是原版,不要靠 robots 屏蔽重复页。
五、上线校验步骤,防止改错导致收录灾难
文件必须放在域名根目录,文件名小写
robots.txt;地址域名/robots.txt不要写语法错误,空格、大小写敏感;
Disallow: /admin和Disallow: /admin/含义不同/admin匹配/admin、/adminxxx/admin/只匹配 admin 目录下内容,推荐目录末尾加斜杠
使用站长工具校验:
百度搜索资源平台:robots 工具检测
Google Search Console:robots.txt 测试工具,模拟各个爬虫查看哪些 URL 被禁止
修改 robots.txt 后,在站长平台提交更新,通知搜索引擎重新读取文件。
上线前先在测试域名验证,千万不要生产环境误写
Disallow: /,会直接网站几乎全部不收录。
六、常见踩坑总结
子域名独立 robots.txt:
a.domain.com需要自己根目录 robots.txt,不会继承主站规则。http 和 https 是两个站点,分别生效,迁移全站 https 后记得更新 https 域名的 robots.txt。
robots.txt 有缓存,修改后搜索引擎不会立刻生效,需要等待爬虫重新抓取文件,可在站长平台触发刷新。
不要大量写通配符
Disallow: /*?*,很多网站筛选、排序参数是有价值页面,会直接误伤大量有效页面。
七、什么时候不要用 robots.txt
小网站(页面几百以内)抓取预算充足,不需要大量屏蔽,直接保留
User-agent:* Disallow:(全部允许),加上 Sitemap 即可,过度屏蔽反而会出问题。
本文原创作者:易君召,详见:https://www.yijunzhao.cn/authors/yijunzhao,转载请注明出处。
原文链接
欢迎访问 小易撩挨踢