Sitemap这个文件最有意思的地方在于:它列的是你希望Google看到的网址,可你在Search Console里点了Submit,也只是告诉Google文件放在哪,文件本身并没有上传过去。提交只是提示,不保证Google会下载它,也不保证会用它去抓站点里的网址。
对出海做英文站的人来说,这件事的分量在这儿:sitemap是少数几分钟能做完、做完基本不用管的动作,但它决定不了收录,更决定不了排名。站点能不能被抓、被抓了会不会被索引,是连在一起的一串活,整体怎么做可以先看谷歌搜索引擎优化这一篇。新站先别急着提交,先把能被抓到的页面做对。
- 是什么:一个文件,列出页面、视频和其他文件,以及它们之间的关系
- 官方怎么说:提交只是提示,不保证下载,也不保证用于抓取
- 怎么做:在Search Console的Sitemaps报告粘贴网址点Submit,或者在robots.txt里写一行
- 上限多少:单个sitemap是50MB(未压缩)或50,000个网址,页面进搜索结果不花钱
- 常见误区:提交不等于收录,robots.txt不是把网页挡出Google的手段
这篇把定义、格式、跟robots.txt的分工、GSC提交的五步、上限数字和报错排查一次讲完,能照着做的部分直接照做。
本文目录
Sitemap是什么文件:XML站点地图里到底写了什么
Sitemap是什么意思,一句话说得清:它把你站点上的页面、视频和其他文件列出来,还写清它们之间的关系。这句话里有两处容易被跳过去。文件放在你自己的站点上,不是上传给Google的;它列的是网址,不是页面正文。

再往下一层,是它带的信息。sitemap告诉搜索引擎你认为站点里哪些页面和文件重要,还能带上这些文件的信息,比如页面最后更新时间,以及页面有没有其他语言版本。视频、图片、新闻这几类内容,也能通过sitemap单独提供信息。Search Console的帮助页说得更直白:站点上的一个文件,告诉Google站点上哪些页面是我们应该知道的。
官方定义:给搜索引擎看的页面清单
官方文档写,sitemap是一个文件,用来提供站点页面、视频和其他文件的信息,以及它们之间的关系。「关系」这两个字别跳过:同一篇文章的中文版和英文版、同一个产品的图片和详情页,这种对应关系也能写进去,搜索引擎读到之后处理起来省事。
作用最后落在一个词上:发现。sitemap帮搜索引擎发现你站点上的网址,但不保证里面的条目都会被抓取和索引。这两件事分得很开,前者是它干的活,后者是Google的决定。把它当成收录开关,后面每一步判断都会歪。
XML、文本两种格式各适合谁
Google支持sitemaps protocol定义的格式,每种格式各有长短,Google没有偏好,选适合你站点和建站方式的那种就行。别在格式上纠结,能生成、能访问、内容对,就够了。
XML sitemap是各格式里最通用的,可扩展,能带图片、视频、新闻内容的信息,也能带页面的本地化版本,做多语言站最实用。文本sitemap是最简单的格式,只能列出HTML和其他可索引页面的网址,除了网址不要放别的东西。站点只有几十个静态页、又不想碰XML,文本够用;有视频、多语言、图片这些内容,就用XML。
两种格式都要守的规矩:文件必须用UTF-8编码,里面的网址要用完整的绝对地址,Google会严格按你列的网址去抓,多一个斜杠少一个斜杠它都照抓。
什么站需要sitemap、什么站不需要
站点页面之间的链接做得好,Google通常能发现大部分页面。链接做得好指的是,你认为重要的页面,都能通过导航或者页面上放的链接点进去。这种情况sitemap是加分的,但不算必需品。
需要的情况有几种:站点大,大站很难保证每个页面都至少被另一个页面链到;站点新,外部还没有什么链接指向它;站点里有大量富媒体内容,或者出现在Google News里。不需要的情况也对得上:站点小、内部链接全面,Googlebot从首页顺着链接能走完所有重要页面,也没有多少媒体文件或新闻页。
判断完要不要,接着是怎么生成。用WordPress、Wix、Blogger这类CMS时,CMS很可能已经生成好sitemap提供给搜索引擎,你什么都不用做。网址只有几十个以内,可以手动创建;超过几十个,就要自动生成,最好的方式是让网站软件自己生成。这块的具体做法看网站地图sitemap生成。sitemap里网址的顺序对Google不重要,不用花时间排。
还有一件相关的事:sitemap里网址长什么样,取决于你的网址结构。层级乱、参数多、同一个页面好几个地址,列出来也是一团乱,抓取和去重都更费劲。这块的基础在网站URL结构。
Sitemap和robots.txt有什么区别:一个指路,一个管门
两者各管什么
robots.txt文件告诉搜索引擎爬虫,可以访问站点上哪些网址。它主要用来避免请求过多把站点压垮,不是把网页挡出Google的机制。sitemap干的是另一件事:把你想让搜索引擎知道的网址列出来,相当于给一张地图。一个管门开多大,一个负责指路。
位置也不一样。官方推荐把sitemap放在站点根目录;robots.txt必须上传到站点根目录,文件名就叫robots.txt。放在根上,作用范围覆盖整个站点。
想把网页挡出Google,该用noindex不是robots.txt
这是最容易搞错的一处。用robots.txt屏蔽Googlebot会阻止抓取,但页面的网址仍然可能出现在搜索结果里,只是那条结果没有描述。页面被robots.txt禁止、又被别的站点链接,它照样可能被索引。
要把网页挡出Google,做法是三种:给服务器上的文件加密码保护,用noindex meta标签或noindex响应头阻止索引,或者把页面彻底删掉。用noindex的时候要允许Google抓取那个网址,不然它读不到noindex,等于没写。robots.txt里的指令也没法强制爬虫遵守,靠的是爬虫自己守规矩。
robots.txt里也能写Sitemap行
robots.txt里可以加一行Sitemap,写清sitemap的路径,位置放在文件里任意地方都行,Google下次抓robots.txt的时候会发现它。可以写多行,数量没有上限。手里有好几个sitemap、想在一个地方统一交代,用这个写法省事。
改robots.txt的流程是:把站点上的robots.txt下载一份,改完再传回站点根目录,保存时用UTF-8,语法要对。Google爬虫每24小时更新一次robots.txt的缓存,想更快生效,可以用robots.txt报告里的Request a recrawl功能。
Sitemap怎么提交到Google Search Console:5步走完
动手前先弄清一件事:所谓提交sitemap,意思是告诉Google这个文件在站点什么位置,你并不能真的把文件上传给Google。想明白这点,后面几步就顺。GSC的界面和权限基础看GSC新手入门完整指南。
- 先确认sitemap存在。用CMS的先在站点上找到sitemap的地址,几十个网址以内可以手建,超过就让网站软件自动生成。确认办法很直接:在浏览器里把这个网址打开,看能不能看到一串网址。
- 用网址检查跑一次实时测试。把sitemap的网址填进网址检查工具,点Live test,确认Googlebot能访问到这个文件。抓不到的文件,提交了也是白提。
- 在Sitemaps报告里提交。把上一步测试过的网址粘贴进Add a new sitemap框,点Submit。这一步能看到Googlebot什么时候访问了sitemap,以及有没有处理错误。用这个报告提交需要对资源有owner权限,没有owner权限,就改在robots.txt里列出sitemap。
- 提交完回报告看状态行。状态有Success、Has errors、Couldn't fetch三种,Success表示sitemap加载和处理都成功,里面的网址会进入抓取队列。不是Success,就点那一行看失败详情,对着报错逐条改。
- 修好之后重新提交。抓取失败,Google会重试几天,文件还是不可用或者有关键错误就停下来,停下来不会自己恢复。把问题修掉,再发一次新的提交请求。
提交成功之后,sitemap本身应该会被立即抓取,但抓取里面列的网址要花时间,而且不是所有网址都会被抓住,取决于站点大小、活跃程度、流量这些因素。抓取成功过的sitemap,Google会定期重新抓,节奏跟常规的站点抓取是分开的。
数字和限制:sitemap单文件多大、多少网址要拆
数字不多,每一个都直接决定你怎么做。所有格式都一样:单个sitemap上限是50MB(未压缩)或50,000个网址,哪个先到算哪个。超了必须拆成多个sitemap,拆完可以建一个sitemap index文件,只把索引文件提交给Google。
| 项目 | 数值 |
|---|---|
| 单个sitemap上限 | 50MB(未压缩)或50,000个网址 |
| 超过上限怎么办 | 拆成多个sitemap,可选建sitemap index,只提交索引文件 |
| 约多少页以下可能不需要sitemap | 约500页或更少 |
| Sitemaps报告最多显示的提交请求 | 1,000条 |
小站不用为sitemap操心,大站要提前想好怎么拆,sitemap多的站要盯着报告显示条数这个天花板。
50,000个网址这个数,做英文站的人大多用不到,问题常出在50MB上:每个页面都带图、带视频、带多语言版本,网址数没到线,体积先到线。压缩过的sitemap Google能读,但大小上限按未压缩的算。
最后一行是Search Console的限制:Sitemaps报告最多显示1,000条提交请求,提交更多也能提,但报告里只显示1,000条,而且不按提交顺序排。站多、sitemap多的人要记这个数,不然会以为提交丢了。
还有一个数跟钱有关:让页面进搜索结果不花钱。这句官方写得很直白,谁跟你说要交钱才能被收录,都是想从你口袋里掏钱。
Sitemap提交后不收录、报Couldn't fetch,怎么一步步排查
三个容易搞错的地方:提交、抓取、索引
提交是通知,抓取是访问,索引是放进库,三件事各走各的。状态显示Success,只能说明文件被成功读取、里面的网址进了抓取队列,队列里的网址会不会真被抓、抓了会不会被索引,另外算。
被索引了也不保证会出现某个人搜的结果里,搜索结果按每个人的历史、位置这些条件定制。页面满足最低技术要求,只代表有资格被索引,索引本身并不保证。
也别指望站点每个网址都被索引。有些网址是重复的,有些本身没多少有用信息,关键页面被索引就够了。官方对覆盖率的说法是,只该期待规范页面被索引。
报Couldn't fetch,按这个顺序查
- 先看robots.txt是不是把sitemap屏蔽了。Google抓sitemap的时候遵守robots.txt,有阻止规则就去掉。顺手看一眼站点有没有未解决的人工处置,有的话sitemap不会被读取,要先在manual actions报告里处理,修完再发一次sitemap。
- 再看网址对不对。sitemap地址填错会报HTTP 404,在浏览器里打开这个网址就能确认文件在不在。
- 然后看文件本身。没压缩时超过50MB会报文件大小错误,得拆成几个小的,再列进sitemap index提交;压缩版报解压错误,重新压缩、上传、重新提交;报Empty sitemap,说明文件里一个网址都没有。
- 最后看网址的写法。重定向太多会报URLs not followed,把sitemap里的重定向网址换成实际要抓的那个地址,别用JavaScript或meta-refresh做跳转。用了相对链接的换成完整绝对地址。sitemap里放了比文件层级更高或者不同域名的网址,会报URL not allowed。
想一次看清卡在哪,去Sitemaps报告的详情页把sitemap网址复制出来,粘进网址检查工具,点Live test,展开Page availability看原因。要看两个值:Crawl allowed?是Yes,Page fetch是Successful。
报告里看不到自己提交的sitemap
两个原因最常见。一个是它属于另一个资源:http和https、带www和不带www,在Search Console里是不同的资源,sitemap跟着资源走,一个资源里提交的,在另一个资源里看不到。另一个是通过robots.txt引用或别的途径被发现的sitemap不会显示,这个报告只显示通过报告本身或者API提交的。
sitemap这一层修完,站点层面该看的还有一批:抓取、索引、结构化数据这些基础项,对着技术SEO自查清单过一遍;页面之间的链接怎么排,看站内SEO优化清单;sitemap里列着一堆已经404的地址,先按死链对SEO影响把死链清掉再提交,比反复提交有用得多。
用AI整理sitemap和排查报错:哪些能交出去,哪些必须自己点
sitemap这件事里,AI能干的是纸面活:排格式、挑毛病、把报错翻成排查顺序。它干不了的是登录后台点按钮,也看不到你账号里的真实状态。这条线分清楚,用起来才顺。
- 把站点网址清单整理成sitemap的XML结构草稿,按官方示例的urlset、url、loc、lastmod字段排好。
- 检查sitemap里有没有相对网址、重定向网址、跨域名网址,逐条标出来让人去改。
- 把Search Console的报错原文贴给它,让它对照官方错误说明给出排查顺序。
- 起草提交后的检查清单,按Success、Has errors、Couldn't fetch三种状态分别列下一步动作。
三条能直接照抄的提示词,是本文给的示例,不是官方模板。
「下面是我的网址清单,请按Google sitemap的XML格式生成草稿,只保留loc和lastmod两个字段,网址必须是完整绝对地址,输出后逐条标出哪些不是绝对地址。」
「这是我的sitemap片段,请找出相对网址、重定向网址、与sitemap文件不同域名或更高层级的网址,逐条列出并说明为什么会被报URL not allowed或URLs not followed。」
「这是Search Console Sitemaps报告里的报错原文,请对照Google官方sitemap错误说明,按先查robots.txt、再查网址是否存在、再查文件大小和压缩的顺序给我排查步骤。」
它替不了的三件事,得你自己动手:
- 在Search Console的Sitemaps报告里,把测试过的sitemap网址粘贴进Add a new sitemap框,点Submit。
- 在网址检查工具里对sitemap网址跑一次Live test,看Page availability里Crawl allowed?是不是Yes、Page fetch是不是Successful,按这个结果决定直接提交还是先修。
- 提交后回Sitemaps报告看状态行,是Success就定期回看,是Has errors或Couldn't fetch就点进详情页按报错逐条修。
提交不是终点。站点上线以后,哪几篇该改、改什么、先改哪篇,猎者出海的AI Agent会每周按数据给出一张单子,照着做比凭感觉改省事。
相关文章:想从站点整体看收录和抓取上的问题,可以看SEO诊断。
常见问题
sitemap提交后多久会被抓取?
文件本身提交后应该很快被抓取。里面列的网址什么时候被抓、能抓多少,看站点大小、更新频率和流量,没有一张固定的时间表。把它当成排队,不排队才是异常。
sitemap提交后多久会被索引?
新建的站点或者新页面,Google开始抓取和索引大概要一周左右。新加的内容过几天才被索引是正常的,想缩短这个延迟可以请求编入索引。sitemap负责被看见,索引是后面那一步。
用WordPress或Wix还要自己做sitemap吗?
不用。WordPress、Wix、Blogger这类CMS很可能已经把sitemap生成好提供给搜索引擎了。用Squarespace、Wix这类托管服务,sitemap可能由它们替你管,你既不用自己做,也不用去动那个报告。
sitemap对排名有影响吗?
它干的事是让搜索引擎发现网址,收录和排名是后面两步的事。花在sitemap上的时间够了就停,多出来的时间放到页面内容和内链上。
页面没被索引是不是出问题了?
不一定,有些页面不索引是对的。被robots.txt或noindex挡住的、跟别的页面重复的、本身不适合索引的页面,不索引没问题。你要盯的是关键页面,先确认首页被索引。
删除sitemap会让Google忘掉这些网址吗?
不会。删掉只是把它从Sitemaps报告里移除,Google不会忘记这个sitemap,也不会忘记里面列过的网址。真要让它停止访问这些网址,得用robots.txt规则。
sitemap这个文件,做对一次能省后面很多来回:位置放对、网址用绝对地址、编码用UTF-8、状态看到Success,剩下的交给站点本身的内容。它是张地图,不是油门。

发表评论