robots.txt和sitemap,做错了影响收录

作者 协守外贸
2026-09-15

有个事挺常见的:外贸企业建了独立站,内容也上了,博客也写了,但就是在Google上搜不到。

去查GSC(Google Search Console),发现收录量少得可怜。再往下看,有些核心产品页根本没被收录。问建站公司,对方说“我们帮你提交过sitemap了啊”。

但问题往往不在sitemap,而在robots.txt。

说实话,很多外贸老板压根不知道robots.txt是什么。建站的时候,建站公司可能帮你设了,也可能用了某个模板默认配置——而默认配置有时候是拦掉一切的。

robots.txt是什么,为什么一条配置就能搞垮你的收录

robots.txt是放在网站根目录下的一个文本文件,用来告诉搜索引擎爬虫:哪些页面可以抓,哪些页面不要抓。

听起来很简单,但坑就在这。

我见过一个真实情况:有企业网站的robots.txt里写着这样一行——

User-agent: * Disallow: /

这行的意思是:对所有搜索引擎爬虫,禁止抓取整个网站。

可能是建站阶段为了防止测试环境被收录,写了这条规则,上线后忘了改。结果就是,Google的爬虫来了,看到这条规则,转身就走了。你的网站对Google来说,等于不存在。

怎么自查?在GSC的收录报告里,被robots.txt阻止的页面会显示“被robots.txt阻止”状态。如果你发现核心产品页出现在这个列表里,第一件事就是去查robots.txt。

robots.txt控制的是“爬取”,不是“索引”。 这两个是搜索引擎工作的不同阶段:先爬取(来你的网站抓内容),再索引(把抓到的内容放进数据库,供搜索时展示)。robots.txt管的是第一步——你不让爬,后面索引自然也没了。

有人可能会说:那我用noindex标签不就行了?

不一样。noindex是告诉搜索引擎“不要索引这个页面”,但爬虫还是会来抓。而robots.txt的Disallow是直接不让爬虫抓——连内容都读不到,搜索引擎根本不知道这个页面有什么,更别提索引了。

这里有个容易混淆的点:如果你在robots.txt里Disallow了一个页面,同时又想用noindex标签告诉Google不要索引它——这其实是矛盾的。因为Disallow了,爬虫根本进不来,读不到你的noindex标签。结果就是Google可能凭借外部链接的信息,还是把这个页面索引了,但因为没有抓到页面内容,索引的信息可能是错的或不完整的。

所以记住这个顺序:robots.txt是第一道门。门关错了,后面做得再好也白搭。

robots.txt怎么写才不出错

先说基本格式。一个正常的robots.txt大概长这样:

User-agent: * Allow: / Sitemap: https://www.example.com/sitemap.xml

意思是:允许所有搜索引擎爬虫抓取全站内容,并告诉它们sitemap在哪。

几个关键点:

1. 文件必须放在根目录。 也就是 https://www.example.com/robots.txt 这个位置。放在子目录里,搜索引擎不认。文件名必须全小写。

2. User-agent: * 表示对所有爬虫生效。 如果你想单独给某个爬虫设规则,比如Google的图片爬虫,可以单独写一段。但大多数外贸站,用 * 就够了。

3. Disallow留空或写/的区别。 Disallow: 后面什么都不写,意思是“不禁止任何页面”。Disallow: / 意思是“禁止抓取整个网站”。一个斜杠之差,效果天壤之别。

4. 需要禁止的页面。 有些页面确实不想被收录,比如后台管理页面、购物车页面、搜索结果页。可以这样写:

User-agent: * Disallow: /admin/ Disallow: /cart/ Disallow: /search/ Allow: /

这样既拦掉了功能性页面,又保证了内容页正常被抓取。

写完之后,别急着不管了。在GSC里可以测试robots.txt文件,模拟爬虫视角看看你的配置是否正确——如果某个重要页面显示“被robots.txt阻止”,那就得查一下是不是写错了规则。

AI时代的新问题:你的robots.txt可能把AI搜索引擎也拦了

这个是2025年之后才冒出来的新问题。

现在AI搜索引擎——比如ChatGPT的搜索功能、Perplexity——它们有自己的爬虫,user-agent和传统搜索引擎完全不同。比如GPTBot是OpenAI的爬虫,PerplexityBot是Perplexity的。

有些企业在robots.txt里写 User-agent: * 然后Disallow了某些内容,这个 * 会同时对传统爬虫和AI爬虫生效。还有些企业更直接——听说AI在抓自己网站数据,干脆把AI爬虫全拦了。

但这里要想清楚一件事:你拦了AI爬虫,意味着AI搜索引擎搜不到你。如果潜在客户用ChatGPT或Perplexity搜索产品,你的网站就不会出现在AI的回答里。

这不一定是对或错的选择。如果你的目标客户主要通过传统Google搜索找供应商,拦掉AI爬虫影响不大。但如果你的行业里,越来越多买家开始用AI搜索工具做前期调研,拦掉AI爬虫可能意味着错失这部分流量。

我的建议是:先别急着拦。 想清楚你的客户会不会通过AI搜索找你。如果你的行业买家偏传统(比如工业设备、重型机械),他们大概率还是用Google搜索,拦掉AI爬虫影响不大。但如果你的行业买家偏数字化(比如消费电子、园艺用品、家居装饰),他们可能已经在用AI工具做前期调研,拦掉AI爬虫可能意味着错失这部分流量。

sitemap:你以为提交了就万事大吉

说完robots.txt,再来说sitemap(站点地图)。

sitemap是一个列出你网站所有URL的文件,帮助搜索引擎发现和抓取你的页面。XML sitemap是给搜索引擎看的,HTML sitemap是给用户看的。大多数CMS(比如WordPress)可以通过插件自动生成。

很多外贸企业以为:建站公司帮我提交了sitemap,收录就搞定了。

没那么简单。

第一,sitemap的格式要对。 XML sitemap需要包含标准的标签结构——urlset、url、loc(页面地址)、lastmod(最后修改时间)等。如果格式有错,Google可能读不了,提交了也白提交。

第二,sitemap里的URL要和robots.txt不冲突。 如果你在robots.txt里Disallow了某些页面,又在sitemap里列了这些页面——Google会困惑:你到底让不让我抓?通常Google会以robots.txt为准,不抓取被Disallow的页面。所以提交sitemap之前,先确认robots.txt没有误拦这些页面。

第三,sitemap不是提交一次就完了。 网站会持续更新——发新博客、上新产品、下架旧产品。sitemap也需要跟着更新。如果你用的是WordPress的Yoast SEO或Rank Math插件,它们可以自动更新sitemap。但如果你的网站是定制的,可能需要手动更新或设置自动生成机制。

第四,在GSC里监控。 提交sitemap后,GSC会告诉你sitemap是否被成功读取,以及发现了多少URL。如果提交了100个URL,但GSC显示只发现了30个,那说明有70个页面可能存在问题——要么被robots.txt拦了,要么页面本身有问题。

如果你的网站页面很多,可以用sitemap索引文件——根据sitemaps.org协议,一个索引文件最多可以列出5万个sitemap条目。不过Google Search Console实际对每站可提交的索引文件数量有限制,大多数外贸站用不了这么多,但了解一下没坏处。

一个简单的检查清单

把上面的内容整理成一个可操作的检查清单:

  • [ ] 在浏览器里打开 https://你的域名/robots.txt,看看有没有这个文件,内容对不对
  • [ ] 确认没有 Disallow: / 这种拦掉全站的配置
  • [ ] 确认功能性页面(admin、cart等)单独Disallow,内容页Allow
  • [ ] 在GSC的robots.txt测试工具里模拟一下,确保核心页面没被拦
  • [ ] 确认sitemap.xml能正常打开,格式没有报错
  • [ ] 在GSC提交sitemap,检查发现URL数量是否和预期一致
  • [ ] 如果网站有持续更新,确认sitemap会自动更新
  • [ ] 检查robots.txt里是否误拦了AI爬虫(如GPTBot),根据客户搜索习惯决定是否放开

robots.txt和sitemap是搜索引擎认识你网站的第一道门。门开错了,你的内容写得再好、产品再有竞争力,Google和AI搜索引擎都看不到。这事儿不复杂,但得有人管。

联系我们