一、robots.txt 到底是什么:管抓取,不管收录
按 Google 搜索中心对 Robots Exclusion Protocol(RFC 9309)的说明,robots.txt 是放在站点根目录的一个纯文本文件。Google 的自动爬虫在抓取站点前会先取这个文件,读取其中"哪些路径可以抓、哪些不要抓"的规则。它不是给访客看的页面,也不是后台配置面板。
Google 支持四个字段:
user-agent:这组规则对哪个爬虫生效,* 表示所有爬虫。
disallow:不允许抓取的路径。
allow:在 disallow 之上放行特定路径。
sitemap:站点地图的完整绝对地址。
官方明确说明 crawl-delay 等其他字段不被支持;把 noindex 写进 robots.txt 同样没有效力。文件默认不设任何抓取限制——不写规则,就等于允许抓取。
更关键的是三个"不管":
不管收录。 Google 官方写明:被禁止抓取的页面,其内容无法被编入索引,但网址仍可能因为外部链接等信息被索引并出现在搜索结果里,只是不显示摘要。想让页面退出结果,要用 noindex 元标记或 X-Robots-Tag 响应头,且该页面必须允许抓取,否则爬虫根本看不到这个标记。
不管权限。 它不是防火墙、不是登录验证,也拦不住不守规矩的爬虫;把后台地址写进 disallow,只是"请求守规矩的搜索引擎别抓",地址照样能被访问。
不管排名。 它直接影响的是抓取范围,不是排序。屏蔽掉一批参数页,也不会让省下来的抓取自动转给产品页。
把几个常被混在一起的东西分开看,边界会更清楚:
手段 | 管什么 | 典型用途 |
robots.txt 的 disallow | 是否允许抓取(按路径、按爬虫) | 购物车、结算、站内搜索、无限筛选组合等"不必抓"的地址 |
noindex 元标记 / X-Robots-Tag | 是否允许编入索引(针对单个页面或响应) | 需要能被抓取、但不该出现在搜索结果里的薄页面 |
canonical | 多个重复网址里以哪个为准 | 参数变体、近似的多语言页、同款产品的不同 URL |
XML 站点地图 | 主动列出希望被发现的网址 | 新站、多语言、内链薄弱、产品频繁上下架 |
密码保护 / 服务器权限 | 真正的访问控制 | 暂存环境、后台、客户专属内容 |
一句话:robots.txt 是"抓取侧的交通指示",不是"收录侧的开关"。
二、对外贸独立站,它真正起作用的四件事
1. 把抓取留给能带来询盘的页面
独立站程序会自动生成大量对客户毫无价值的地址:购物车、结算、账户与订单页、站内搜索结果、按颜色尺码价格组合出的筛选页、排序参数、会话 ID,以及各类跟踪参数。这些地址可能无穷无尽,内容却彼此重复。用 disallow 把它们挡住,抓取才更多落在产品页、分类页、解决方案与文章上。页面量不大的站点通常不必写复杂规则,平台默认文件往往已经够用。
2. 减少重复 URL 带来的干扰
多语言切换参数、货币切换参数、同一产品的不同变体地址,容易让内容分散到多个网址上。robots.txt 可以挡住明显无价值的参数组合,但要注意:它不能替代 canonical,也不等于合并权重;真正需要归一化的重复页,仍要用 canonical 或 301 处理。
3. 给站点地图指路,承接"发现"这一环
在文件里加一行 Sitemap: 加完整绝对地址,等于告诉主流搜索引擎"清单在这里",Google、Bing 等都支持这个字段。它与在 Search Console 里正式提交站点地图不冲突,建议两件都做。注意值必须是带协议与主机名的完整地址,只写路径不生效。
4. 对不同爬虫分别表态
可以按 user-agent 单独给 Googlebot、图片爬虫或广告审核爬虫写规则,也可以就 AI 爬虫明确"允许或不允许",并把这个决定记进文档。有个容易踩的坑:Google 会采用与爬虫匹配的那组规则,一旦写了 User-agent: Googlebot 组,Googlebot 就不再读 User-agent: * 组里的规则,需要的规则要在该组里重写一遍。另外,robots.txt 属于自愿遵守的约定,对不守规矩的抓取没有强制力。
下面是一份偏保守的示例,适用于"以产品页与内容页获客"的外贸独立站。它只挡明显无价值的路径,不碰 CSS、JS 与图片:
User-agent: * |
示例里的路径要按自己站点的真实 URL 规则替换;带通配符的写法先小范围测试再上线。多语言站点还要检查各语言版本的对应目录(例如德语站的 Warenkorb 路径)是否被同一套逻辑覆盖。
三、规则的生效范围与技术底线
写错位置或返回错状态码,比规则写错更麻烦。以下是核对时该逐项确认的几条:
位置与范围:文件必须在主机的根目录(如 https://www.example.com/robots.txt),子目录里的文件不被读取;规则只对所在的主机、协议与端口生效。www 与裸域、http 与 https、语言子域、CDN 或图片资源域名,各自要有自己的文件。
大小写:字段名与 user-agent 的值不区分大小写,但路径值区分大小写;Disallow: /Cart 挡不住 /cart。
匹配规则:路径值以 / 开头表示从根目录起匹配,支持通配符 *(任意字符)与 $(网址结尾)。多条规则命中时以长、具体的一条为准;同等具体时 Google 采用较宽松的 allow。
文件规格:纯文本、UTF-8 编码,用记事本或代码编辑器保存,别用文字处理软件(容易带入弯引号等不兼容字符)。Google 当前强制的大小上限是 500 KiB,超出部分会被忽略;用 # 写注释说明每条自定义规则的原因,便于日后维护。
返回状态:文件本身的 HTTP 状态码会改变 Google 的处理方式:
返回状态 | Google 的处理 |
2xx 成功 | 按文件内容解析并执行规则 |
3xx 重定向 | 跟随至少 5 跳后仍取不到,按 404 处理 |
4xx(429 除外) | 视为"没有 robots.txt",即没有任何抓取限制 |
5xx 服务器错误 | 前 12 小时暂停抓取本站并持续重试;之后长 30 天沿用后一次成功的缓存副本;无缓存可用时视为无限制 |
后一行值得多看一眼:robots.txt 返回 5xx 不只是"规则没生效"这么轻,Google 会先停抓一段时间。防火墙或安全插件若对 /robots.txt 返回 403 或 5xx,等于把整站的抓取策略交给运气。
Google 一般多缓存 robots.txt 一天左右,但缓存更新之后,抓取与索引的处理仍需要时间,官方明确表示无法给出准确时限。改动后反复重传同一个文件没有意义,看报告趋势更实在。
四、外贸独立站容易踩的七个坑
坑 | 后果 | 正确做法 |
暂存环境的 Disallow: / 被带到正式站 | 全站停止抓取,新站长期无收录 | 上线或迁移后时间直接访问正式域名的 /robots.txt 比对 |
屏蔽 CSS、JS 或图片目录 | Google 无法正常渲染与评估页面;Shopify 的资源走 CDN,误挡尤其常见 | 只挡确实不参与渲染的路径,必要时用 allow 放行资源目录 |
用 disallow 想"删掉"页面,同时页面里写着 noindex | 爬虫被挡在门外,看不到 noindex,网址可能一直留在索引里 | 二选一:管抓取用 disallow,管索引用 noindex 且保持可抓取 |
挡住 Google Ads 或社媒投放的落地页 | 广告审核异常、客户点进去体验受影响 | 投放 URL 清单与 robots 规则交叉核对,上线后逐条回归测试 |
只给主站写规则,漏掉多语言目录或子域 | /cart/ 的规则管不到 /de/warenkorb/;语言子域完全不受主文件约束 | 按语言与主机分别列出路径,逐个核对 |
短前缀与大小写误伤 | Disallow: /t 连 /th/ 一起挡掉;大写路径挡不住小写 | 路径写足长度、避免歧义,上线前用真实 URL 逐条测试 |
把 crawl-delay、noindex 写进文件,或当防抄袭手段 | 指令无效;规则公开可读,也拦不住不遵守约定的抓取 | 只使用 Google 支持的四个字段;访问控制交给服务器权限 |
还有两类"隐性事故"值得单独记一笔:主题升级或程序发布时把自定义 robots.txt 覆盖回默认文件;以及 CDN 边缘节点缓存着旧版本,源站改了、海外节点拿到的还是旧规则。两者都会让排查变成"明明改了却没生效"。
五、怎么核对与验证:一份可执行清单
直接看文件:在浏览器里访问 /robots.txt,确认返回 200、内容就是预期版本;换海外节点、换 www 与裸域、换各语言子域分别看一遍。这一步能挡掉大半问题。
看 Search Console:设置里的 robots.txt 报告能看到 Google 近抓取的版本、抓取时间与无法解析的行;网址检查工具会直接告诉某条 URL 是否被允许抓取、是哪条规则挡的;网页索引报告里的"被 robots.txt 屏蔽"分类适合整批排查。
跑一次对照抓取:用遵守 robots.txt 的爬虫工具爬一遍,把实际抓到的 URL 与"希望被抓取的清单"对比,重点看产品页、分类页与各语言版本有没有被误挡。
核对投放与站外入口:把广告后台、社媒资料、邮件签名、二维码物料里的落地页逐条列出,确认没有被任何规则命中。
改动规范:改前备份原文件,一次只改一组规则,用 # 注明原因与日期;改完清一次 CDN 缓存、复测代表性 URL,并在 Search Console 留存报告状态。
别急着下结论:缓存更新与重新抓取都需要时间,观察报告里的趋势;如果页面能抓却仍不收录,问题多半在内容质量、canonical 或内链,不在 robots.txt。
六、企盛独立站:把 robots.txt 放进上线验收
企盛独立站专注为全国出海外贸企业提供独立站设计制作服务。在我们这里,robots.txt 不是"上线前顺手放一个文件",而是明确写进验收清单的一项:先按业务列出哪些 URL 必须可抓(产品、分类、内容、各语言版本、广告落地页),再确认哪些应该挡(购物车、结算、账户、站内搜索、无价值的筛选参数);随后逐个主机与语言子域检查文件返回 200、内容一致,CSS、JS 与图片资源保持可抓,Sitemap 行指向正确的索引文件,并在 Search Console 留存抓取状态。暂存环境到正式环境的切换,会专门做一次比对,防止 Disallow: / 跟着上线。
处理已经出问题的站点时,我们也不会一上来就改文件,而是先出一份能核对的诊断清单:问题在规则本身、生效的主机与协议、服务器与 WAF 返回码、CDN 缓存,还是页面内容与内链;改动前完整备份、分批上线,改完用海外节点和真机复测代表性 URL,并交付写清每条规则用途的说明、源码与后台配置。报价与周期提前说清、案例与复测结果可查、上线后有明确的响应人。专业与值得信任不靠一句"高端定制",而靠每个环节都能被验证——这也是不少外贸企业把独立站长期交给企盛独立站的原因。
如果你的站点出现产品页搜不到、广告落地页被提示屏蔽,或改了规则迟迟不生效,可以把域名、使用的建站程序、语言版本,或一张 Search Console 的 robots.txt 报告截图发过来,线上获取一次核对建议;也欢迎咨询独立站设计制作方案,咨询电话 18041156880。
七、常见问题(FAQ)
Q:robots.txt 能阻止页面出现在 Google 搜索结果里吗?
A:不能保证。它只阻止抓取;被禁止抓取的网址仍可能因外部链接被索引并显示,只是没有摘要。要让页面退出索引,用 noindex 元标记或 X-Robots-Tag,并确保该页面没有被 robots.txt 挡住,必要时配合 Search Console 的移除工具作应急。
Q:为什么写了 Disallow,网址还在搜索结果里?
A:这是正常现象,原因同上。另外 Google 一般会缓存 robots.txt 一段时间,改动后抓取与索引的处理也需要时间,官方无法给出准确时限。先用网址检查工具确认当前规则是否已生效,再决定用哪种方式处理。
Q:外贸独立站的 robots.txt 应该屏蔽哪些目录?
A:通常是购物车、结算、账户与订单、站内搜索结果、无价值的筛选与排序参数、会话 ID 这类程序自动生成的地址。产品页、分类页、文章与各语言版本必须保持可抓,CSS、JS 与图片资源也不要挡。具体路径按自己站点的 URL 规则来,不要照抄别家文件。
Q:多语言站点要在每个语言目录都放一个 robots.txt 吗?
A:不用按目录放,文件只在主机根目录生效。但如果不同语言版本用了不同的子域或主机,每个主机都需要自己的文件;同一主机下用目录区分语言时,要在同一份文件里把各语言对应的路径都写全,别只写英文路径。
Q:Shopify 等平台自动生成 robots.txt,还需要管吗?
A:要看。平台默认文件一般已挡住购物车、结算、账户、站内搜索与排序参数,够用就不必改;若筛选插件生成了大量可抓 URL,可通过主题模板补充规则,并保留平台默认规则。改动后一定回到线上文件读一遍,确认没有拼写错误或多出一条 Disallow: /。
robots.txt 对外贸独立站的作用,是划清"哪些地址不必让搜索引擎来抓",把抓取用在能带来询盘的产品页与内容页上,并顺手给站点地图指路;它不负责收录,不负责排名,更不是访问控制。真正决定成败的,往往是几个朴素动作——文件放在正确的主机根目录、返回 200、不挡 CSS 与 JS、不误伤投放落地页与各语言版本、暂存环境的规则不带到正式站,以及改完在 Search Console 核对一次。
需要一份针对你站点的 robots.txt 核对建议?欢迎线上咨询企盛独立站,咨询电话:18041156880。