页面明明能打开,Sitemap也交了,GSC却提示“已被robots.txt屏蔽”。
这时候,先别急着重写文章。打开网站根目录下的 /robots.txt,看一眼有没有留下这两行:
User-agent: *
Disallow: /
这是全站屏蔽的演示,不是给正式站套用的模板。
如果测试站上线时把它一起带过去,遵守这组规则的爬虫就会被挡在门外。你用浏览器能正常访问,并不能证明Googlebot也被允许抓取。
上一篇讲的是Sitemap里该放哪些地址。这一篇往前检查一步:那些你希望Google读取的页面,究竟有没有被自己的规则拦住。
01
你想拦的是抓取、收录,还是陌生人的访问?
改文件之前,把目的说完整。
“我不希望搜索引擎反复抓这批无价值的筛选组合”,可以考虑robots.txt。“我不希望这个公开页面出现在搜索结果里”,通常要看noindex。至于客户资料、订单明细、内部文档,应该检查登录和访问权限,不能靠一条Disallow保密。
这三个目标看起来都像“别让别人看到”,实际要动的位置完全不同。
配图 01
少抓取、不收录和保密,分别检查不同机制
robots.txt控制爬虫能不能请求某些地址,不负责保证这些URL从搜索结果中消失。 即使页面内容被禁止抓取,Google仍可能通过其他页面上的链接知道这个URL,并把URL编入索引。Google的robots.txt说明明确区分了这两件事。
所以,“既有Disallow,又有noindex,双保险吧?”也未必。
如果Googlebot先被robots.txt挡住,就读不到页面里的noindex。对于本来就公开、只是希望退出搜索索引的页面,应让Google能够抓取并读取有效的noindex,再观察处理结果;有保密要求的资料则优先做好权限,不要为了让爬虫读标签而公开。noindex使用条件
02
先找对文件,别在另一个主机上改了半天
假设要检查的页面是:
https://shop.example.com/products/linen-shirt
它对应的文件是:
https://shop.example.com/robots.txt
不是主域名下的 https://example.com/robots.txt,也不是商品目录里的 /products/robots.txt。
robots.txt要放在对应站点的根目录,作用范围取决于协议、主机和端口。HTTPS站的规则不能直接当作HTTP站的规则;带www和不带www也不能因为看起来属于同一家网站,就假定共用一份。
这也是排查时应该从出问题的具体URL反推文件地址的原因。先把地址抄完整,再谈哪一行配错。
文件本身用UTF-8纯文本,不要用Word文档改个扩展名。上传后打开线上地址,确认拿到的是规则文本,而不是登录页、错误页或整段网站HTML。文件位置与创建方法
如果系统已经维护了默认文件,先读默认规则。尤其是Shopify:多数店铺可以使用默认robots.txt,确需修改时应理解 robots.txt.liquid 的生成方式,保留系统继续更新默认规则的能力。不要清空后换成一份来历不明的“SEO万能模板”。Shopify官方修改说明
03
先拿两个网址,读懂Allow和Disallow
下面只演示规则匹配。假设某站不希望爬虫抓取 /lab/ 下的实验页面,但其中 /lab/public/ 已经整理成公开资料:
User-agent: *
Disallow: /lab/
Allow: /lab/public/
第一行说明这组规则适用于哪些爬虫;第二行限制路径;第三行给其中一个更具体的路径放行。
拿两个地址对照,就不难理解:
/lab/draft:匹配禁止规则,不匹配允许例外,被这组规则禁止抓取。 /lab/public/guide:两条都匹配,但允许规则指向更具体的路径,因此允许抓取。
配图 02
同一个实验目录,公开子目录可由更具体的规则放行
关键不是Allow放在下面,而是哪条匹配规则更具体。
对Google来说,要按匹配路径的具体程度判断;同等具体程度发生冲突时,采用限制更少的规则。把两行调换位置,并不会把这个例子的结果反过来。
反过来,写一条宽泛的 Allow: /,也不能“冲掉”所有更具体的Disallow。Google规则优先级说明
没有匹配到禁止规则的地址,通常本来就允许抓取,不必给全站每个目录补一条Allow。空的 Disallow: 与 Disallow: / 更不是一回事:前者没有禁止路径,后者的斜杠覆盖范围非常大。
04
少一个斜杠,拦住的可能就是另一批页面
看这条:
Disallow: /lab
它不是在说“只禁止一个叫lab的文件夹”。按前缀匹配,它也可能匹配 /lab-notes。
如果你的本意是限制 /lab/ 目录及其下级,应该把末尾斜杠的含义想清楚。不过 /lab/ 又不会覆盖没有末尾斜杠的裸地址 /lab。两个URL是否都会存在、是否重定向,得看你的网站。
再记住三个容易漏掉的细节:
路径区分大小写。 /Lab/ 和 /lab/ 不能混着测。字段名不区分大小写,不代表路径也一样。
星号不是“文件夹”符号。 路径中的 * 可以匹配零个或多个字符;限制越宽,越需要拿不同类型的URL试一遍。
美元符号限制结尾。 比如 /*.pdf$ 匹配以小写 .pdf 结尾的地址,却不会匹配 /guide.pdf?download=1。后面多了参数,结尾就变了。REP标准的匹配与特殊字符规则
不要凭“这一行看着挺像”判断范围。至少准备一条应该被拦住的地址、一条相似但不该被拦住的地址。两边都测,才能发现误拦和漏拦。
05
给Googlebot单开一组,通用组不会自动跟过来
这一点比拼写错误更隐蔽。假设文件里有:
User-agent: *
Disallow: /private/
User-agent: Googlebot
Disallow: /lab/
容易出现的误读是:“第一组所有爬虫都要遵守,第二组再给Googlebot加一条。”
对Googlebot,这样理解不对。 它会选择匹配自己的具体组,不把通用星号组一起叠加。因此在这个例子里,/lab/a 被禁止,但 /private/a 不会因为星号组那条规则而被Googlebot禁止抓取。
配图 03
Googlebot专用组不会自动叠加星号组的限制
如果确实希望Googlebot同时避开这两个目录,就需要让适用它的规则覆盖这两条限制。不要靠把星号组挪到文件最后来修。
如果同一个User-agent重复写成多组,Google会合并这些组的规则;这又不同于“具体组继承星号组”。审核一份很长的文件时,先找爬虫组,再看组里的路径,比从第一行一路猜到最后一行可靠。Google爬虫分组规则
示例里的 /private/ 只是路径名。就算配对了,它也不因此成为受保护的私密目录。保密仍然要靠真正的访问控制。
06
有些屏蔽,看着在优化,实际上是在添堵
第一种:页面放开了,关键CSS和JS却封着。
你看到的是完整页面,Google渲染时可能拿不到必要资源。排查页面异常时,除了HTML地址,也要看页面依赖的关键脚本、样式和图片。并不是每个资源都必须开放,而是别让重要内容必须依赖的资源被误拦。Google对可抓取资源的要求
第二种:看到问号,就把所有参数URL一刀切。
筛选排序可能生成大量无价值组合,确实值得控制抓取。但参数也可能承载分页、语言或真正有独立价值的页面。先确认参数的用途,再决定哪些路径应限制。
Google对分面导航的建议也是分情况处理:不需要进入搜索的组合与需要被搜索发现的组合,不能照搬同一套规则。已有索引的页面要退出搜索,仍要单独考虑前面讲过的索引控制。
第三种:把noindex、crawl-delay直接塞给Google。
Google不支持在robots.txt中使用noindex指令;noindex应该通过页面meta或HTTP响应头表达。Google也不支持robots.txt中的crawl-delay,不能以为填一个数字就设置好了Googlebot的抓取间隔。其他爬虫的支持范围可能不同,需按对应文档核实。Google支持的robots.txt字段
如果服务器吃紧,先看真实请求、缓存和资源消耗,别往配置里加一行不生效的指令后就结束排查。
07
上线前后,各留一张检查清单
改配置并不复杂,难的是确认自己没有顺手影响其他页面。
上线前,先留住旧文件,再测有代表性的地址。
选首页、一个重要商品或服务页、一篇文章、一个明确不希望抓取的地址。如果存在Allow例外、带参数版本和大小写差异,也把它们加进样本。给每个样本提前写好“预计允许”或“预计禁止”。
用适合目标爬虫的解析工具测试规则。开发者可以使用Google开源robots.txt解析库。不要把某个普通正则测试器的结果当作Googlebot的判断。
上线后,先查线上文件,再查Google看到的版本。
浏览器打开目标主机的 /robots.txt,核对内容、响应状态和是否需要登录;如果经过CDN,也检查缓存是否仍在返回旧文件。文件能打开,只完成了线上部署检查。
再进入GSC的robots.txt报告,查看最近抓取时间、抓取状态和文件内容。修复了重要误拦或文件读取错误,可以请求重新抓取该文件。具体页面是否仍被限制,则用URL检查工具做可用性测试。报告里的历史索引信息与当前在线测试,不要混成同一个时间点。GSC robots.txt报告与测试方法
配图 04
线上文件、Google读取版本、具体页面测试,需要分别核对
找不到该报告时,也检查资源类型:它支持Domain资源,或不带子路径的根级URL前缀资源,不是任意子目录资源都有。
Google抓到新规则,并不保证马上重新抓取所有放开的URL,更不保证马上收录。关键变更之后,可以继续观察服务器日志、URL检查与索引报告的变化;不用为了“催更新”反复保存同一份文件。更新robots.txt的方法
还有一个常见混淆:robots.txt文件本身返回404,与商品页返回404,不是在报告同一件事。 前者通常意味着没有这个规则文件,Google按无robots抓取限制处理;5xx或网络故障则可能影响规则获取和抓取,不能简单当成“放行了”。先分清报错对象,再决定修文件还是修页面。
08
下次看到“被robots屏蔽”,先问这个问题
“这个URL,本来就应该被屏蔽吗?”
如果是符合预期的低价值组合,不必为了把报告里的数字清零而放开。如果是你希望获得搜索流量的商品、服务或文章,就沿着具体主机、爬虫组、路径规则去找原因。
记住这一点
一份配置的好坏,不在于写了多少行。拿出两个地址:一个重要页面,一个明确不需要抓取的页面。能说清它们分别匹配哪条规则,并且测试结果符合预期,这份文件才算真的读懂了。
资料口径(2026年9月核对):Google Search Central的robots.txt规则与noindex说明、GSC robots.txt报告、RFC 9309匹配规则及Shopify官方修改说明。具体边界对应的来源已附在正文相关段落。
下一篇预告 · 37
下一篇,我们继续讲结构化数据:页面里到底该标记什么,部署以后又怎么验证。
这里是跨境YOUNG,专注独立站SEO、GEO、AI搜索与跨境增长,分享能落地的策略、工具和实战判断。
SEO学习系列按完整路径持续更新,建议收藏系列,按顺序学习。

