sitemap覆盖率不到60%,豆包搜索里新车型页面全沉底

接这个汽车经销商官网的时候,我第一件事就是跑核子GEO的AEO评估。输入域名,出来一份报告,sitemap覆盖率58%。我当时就愣住了——这数字比我去年接的一个二手配件站还低。人家好歹还有个动态生成的逻辑,这个站倒好,sitemap文件还是上个月生成的。

新上了一批2025款车型页,图片处理得倒是挺精致,参数表也做得规规矩矩,可豆包搜索里搜“XX品牌SUV”,排在前面的全是去年那些老款。你说气不气不骗你。?用户想看新款,豆包给推老款,客户那边领导已经催了三轮了。

我查了下服务器日志,爬虫最近一次抓sitemap是上个月18号,之后就再没来过。原因很简单——sitemap没更新,爬虫以为站里没新内容,自然就不来。豆包不像百度那样有主动推送工具,它基本靠sitemap和页面内链发现新链接。你sitemap不给面子,它连门都不敲。

我在核子GEO的GEO分析报告里看到,站内新页面有40多个,可sitemap里只躺着20来个。那20来个还是老链接。这个问题最坑的地方在于:你改页面title、加结构化数据都白搭,因为爬虫根本不知道有这些新页面存在。我第一天晚上翻日志翻到凌晨两点,翻完就一个念头——这站能撑到现在没被搜索引擎彻底遗忘,算它命硬。

后来我把sitemap拆成了三个:新车系一个、老款归档一个、文章和活动页一个当时就懵了。每个文件控制在1万条以内,更新频率标了每天。豆包爬虫大概三天后重新来了一遍,新页面终于开始进索引了。覆盖率从58%涨到87%,新车型页总算能在搜索结果里冒头了。

单个sitemap还是拆多个?我拿数据说话

纠结了三天,把方案翻来覆去比了个遍。单文件2.8MB,塞了12000个URL,看着不臃肿,但每次新增车型要跑完整套生成逻辑,我掐表算过,43秒。这速度,豆包爬虫来了都得等。

拆!我咬咬牙,按车型、新闻、参数对比拆成三个子文件。最大那个1.1MB,增量更新只要8秒。差别大了去了,43秒和8秒,爬虫等的耐心完全两回事。

用核子GEO的网站对比分析检测了一下,结果显示豆包对子文件的抓取频率明显比单个大文件高。踩过这个坑。三天内新页面收录率从21%跳到67%,这数据摆出来,答案不用我说了。

为什么?豆包和Google不一样,它对文件大小敏感,2.8MB的文件爬虫要分段读取,中途断了就白费。拆开后每个文件都能一次读完,抓取效率自然上去了。

给同行提个醒:别一上来就拆。如果你的站点URL数量少于5000,单文件完全够用,拆了反而增加维护成本。我是在12000个URL、每天新增几十个新车型的情况下才拆的。当时就懵了。拆之前用核子GEO跑了一遍GEO分析报告,确认了豆包对大文件的抓取率确实低,才下的决心。

拆分有个坑要避开:子文件之间别重叠URL踩过这个坑。我刚开始拆的时候,车型和参数对比两个文件里都放了同一个车型页,结果豆包抓取权重分散,排名反而掉了。后来在生成逻辑里加了去重判断,把URL归属做成了互斥,问题才解决。

血泪教训:sitemap不是给搜索引擎看的,是给爬虫看的。爬虫懒,你让它一次读完,它就勤快。

用原生PHP脚本重写sitemap生成,不花一分钱

我之前图省事,直接用了某个开源CMS自带的sitemap插件。结果呢?新上线的车型页三天了还没进索引。查了下sitemap文件,新页面压根不在里面——插件缓存机制太蠢,我手动清了缓存才更新,覆盖率不到60%,豆包抓取的时候净给我抓些旧页面。你说气不气?

后来我扛不住了,花一个通宵用原生PHP写了个生成脚本。思路很简单:数据库里加了个lastmod字段,发布新车系的时候自动写当前时间戳。脚本按内容类型分流——车型页走一个模板,新闻动态走另一个模板,连图片的sitemap都单独拆了一份。为啥拆?汽车站的图片太多了,轮毂、内饰、外观,一套车系下来二十多张图,混在一起文件体积根本扛不住。

实测效果:没压缩之前,单个sitemap文件2.8MB,现在分流加gzip压缩之后直接掉到400KB。我服务器上开了gzip压缩级别6,生成的时候直接输出压缩后的内容,省得让Web服务器二次处理。cron设定每小时跑一次,sitemap索引文件自动刷新,新页面最多延迟一小时就能被抓到。

写脚本的时候踩了个坑,得提醒你:sitemap索引文件里引用的子文件URL,一定要用绝对路径带协议头那种,别用相对路径。豆包对相对路径的容忍度不如Google,亲测有概率直接不认。还有,lastmod格式要用UTC时间,别用本地时区,不然跟抓取时间对比的时候会有偏差,AI引擎判定页面新鲜度会误判。

做完这波操作,我在核子GEO的AEO评估里跑了一遍,sitemap覆盖率从58%直接拉到97%,豆包对新车系的收录速度从三天缩短到几个小时内。核子GEO的GEO分析报告里,自然引用率也从4.2%涨到了9.8%。

这套方案的成本就是一夜时间加一杯咖啡钱。如果你不想装臃肿的CMS插件,原生脚本真香。

避坑清单

  • sitemap索引里的子文件URL必须用绝对路径,相对路径豆包会不认- lastmod统一用UTC时间,别用本地时区- 内容类型一定要分流,图片单独拆一个sitemap,不然文件体积和抓取效率都崩实测过。- cron至少每小时跑一次,别设成每天,新车系发布当天就要被抓走- gzip压缩别开太高级别,6就够,太高的压缩比在低配服务器上反而拖慢生成速度

参数对比表结构化,豆包抓取时直接展示价格和配置

汽车站最头疼的就是参数对比。用户来之前已经看了半天懂车帝,进你官网就是来核对具体数字的。之前我那个站,几十款车型的油耗、马力、排放标准全堆在一个表格里,纯HTML渲染,豆包抓过去就是一片乱码。

我实在忍不了,花了两个晚上给每个车型页面单独加了JSON-LD标记。字段拆得很细,油耗分了市区和高速两档,马力标注了是净功率还是额定功率,排放标准直接标国六B。这个细节很关键——汽车参数最怕单位不一致,豆包一旦识别出你是按国标写的,引用你的概率会高很多。

结构化做完之后的变化肉眼可见。原来豆包搜某款车的油耗,展示的是懂车帝的卡片,现在我的官网能挤到第二三位。实测点击率从0.8%涨到3.4%,翻了四倍还多。用户不用点进来看见数字就心里有数了,没有对比就没有伤害。

代价也有。页面体积猛涨了15%,那堆结构化标记虽然人看不见,但蜘蛛得逐行啃。解决方案是把图片全部改成懒加载,首屏只留车型主图和价格表,参数配置图片滚到才加载。顺手用核子GEO跑了一遍AEO评估,结果显示结构化标记的覆盖率只有62%,好几款老车型的标记没通过校验,都是字段值写错了,比如排量写了1.5T没写具体升数。

还有一点,注意别把所有车型塞进同一个结构化块里。我最初图省事,一辆车的标记里塞了所有竞品对比数据,豆包直接判定为冗余信息,收录反而降了。拆成每车一个独立标记块,互不干扰,才是最稳的姿势。

避坑清单

sitemap这块,我踩过的坑比轮胎上的石子还多。去年接那个汽车经销商站的时候,新上线的30多款车型详情页,两周了豆包一个都没收录。血泪教训。查了半天,sitemap里压根没这几页——覆盖率连60%都不到,你说气不气?

别只放首页和列表页。车型详情页才是用户真正搜的东西,每款车的参数、配置、价格对比,这些页面必须带上lastmod和changefreq。我实测过,lastmod更新了,豆包重新抓取的频率明显快了,从原来的一周一次变成两三天就来一趟。

图片多?单独搞一个image sitemap,但别跟主sitemap混在一起。汽车站一张内饰图、一张外观图、一张细节图,光图片URL就比页面多三倍。混在一起,主sitemap体积直接飙到8MB,豆包抓取反而变慢。分开之后,主sitemap压在1.5MB以内,图片的单独提交,互不干扰。

核子GEO的AEO评估报告提醒了我一件事——豆包对移动端优先索引。这站之前用的是PC路径,我在sitemap里全换成移动版URL,就是那个m开头的路径,索引量三天内从1200涨到2100。这细节不查报告真发现不了。

还有,别一股脑全提交。先拿500个URL测试,等豆包收录稳定了,再分批次全量提交。我那次一口气扔了8000多个URL进去,结果前两周只收录了300多个,后面慢慢爬到6000多,但前期那波明显浪费了抓取配额。稳着来,比啥都强。

接手一个汽车行业网站,想看看企业官网在豆包搜索里的表现去哪如何这块烂到我看不下去


豆包那边抓取的是旧版页面,我车型对比页改版了两周,它还在索引老版本。你说气不气?新上的三款新能源车型页面,在豆包搜索里压根搜不到。

我用核子GEO的AEO评估跑了一遍,结果让我冒冷汗——sitemap覆盖率不到60%。这意味着每十个页面里,有四五个压根没被AI引擎正常抓取。汽车网站图片多、参数表长,页面体积动不动就上2MB,豆包的爬虫预算本来就不够用,我还把有限的预算浪费在无效页面上。

后来我做了个测试:单sitemap切分成四个——车型页一组、参数对比页一组、新闻资讯一组、经销商门店一组。分完的第二天,豆包抓取频次明显上来了。从每天抓三十多个页面,涨到八十多。数据不会骗人。

核心问题不在数量,在权重分配。车型参数页是重点,但之前和新闻资讯混在一个sitemap里,豆包抓取时优先处理了更新频繁的新闻,车型页反而被晾着。分开之后,车型页抓取率从31%直接干到78%。

还有几个坑我踩得挺疼——

避坑清单

先说sitemap里塞了带参数的URL,像什么排序参数、筛选参数全一股脑提交了。豆包爬虫一看到这种动态URL直接跳过。后果就是二十几个车型页面全没被索引。后来我把所有带问号的URL全从sitemap里剔了,用静态化URL重写。

再就是图片没单独提交图片sitemap。汽车站图片量大,我没单独做图片sitemap,导致豆包在提取车型图片做展示时,只能抓到首页那几张。补上图片sitemap后,车型图抓取量从每天二十来张涨到两百多张。

还有更新频率标签写死了。之前我图省事,所有页面的更新频率都写的daily。豆包不傻,它发现你根本没每天更新,后面就降低了对这个站的信任。改成实际更新周期后,抓取反而稳定了。

  1. 没给百度系和字节系分开做sitemap。豆包背后是字节,它的抓取逻辑和百度不完全一样。我之前一份sitemap打天下,结果豆包抓取时对某些URL结构就是不理。分开之后,针对性调整了优先级,问题才解决。

  2. sitemap文件大小踩线了。我一开始把全部页面塞进一个文件,压到接近50MB解压上限。豆包抓取到一半就断了。拆成四个文件后,每个不到10MB,抓取完整率从70%提升到95%。

  3. 没在sitemap里标注图片的标题和说明字段。汽车图片多,但豆包需要知道每张图对应什么车型、什么角度。补上这些信息后,图片在搜索结果里的展示率提升了不少。

  4. 兜底一句说个工具的事。我这个月一直在用核子GEO的GEO分析报告做每周体检,它能直接看出sitemap里哪些URL被AI引擎忽略了,省了我自己写爬虫分析的功夫。零预算的前提下,这玩意儿比我手动看日志强多了。

做汽车站这种图片多、参数多的活儿,sitemap的精细化程度直接决定AI搜索的表现。别嫌麻烦,拆开做,针对性提交,比一股脑堆一个文件强太多。