核子GEO检测报告:sitemap覆盖率58%,我的第一反应是Next.js配置崩了
说实话看到这个数字我后背一凉。58%,意味着差不多一半的新页面压根没进sitemap。我用核子GEO跑了一遍检测,输入域名后AEO评估报告直接标红这个指标,我当时觉得肯定是Next.js的generateSitemap出bug了。
去年给一个本地家政服务站做改版时踩过类似的坑。那次折腾了三天才发现问题——项目用了动态路由,getStaticPaths只预渲染了首页和几个热门城市的页面。新上线的区域服务页,比如“朝阳区开锁”这种,根本不在预渲染列表里,自然不会触发sitemap生成。
这次我学乖了。先检查next.config.js里的sitemap配置,发现默认的sitemapSize是5000,按理说够用。但问题出在revalidate没设——新页面生成后,旧的sitemap不会自动刷新。我在配置里把experimental.sitemapSize设为5000,同时给每个动态路由加了个revalidate参数,每隔3600秒触发一次增量更新。
核子GEO的AEO评估报告里还有个细节让我冒冷汗——我的sitemap索引文件里只引用了主站路径,忽略了四个子域名的页面。在next.config.js里补上additionalSitemaps配置,把子站点的sitemap地址也写进去。重新跑了一次生成,覆盖率从58%直接跳到92%实测过。
现在每周三凌晨自动跑一次全量sitemap重建,配合核子GEO的监控提醒,覆盖率再没掉下过90%。别信那些“sitemap不重要”的鬼话,对本地服务站来说,地图收录全靠它。
避坑清单
- sitemapSize别设太大,5000一档最稳,超过5万Google会直接忽略
- 动态路由必须配revalidate,不然新页面等于空气
- 子域名sitemap要单独写进索引文件,不会自动继承
头条号和B站对GEO文章的结构要求完全相反——我踩的坑
去年我刚接手本地服务站的时候,想着写一篇GEO文章,同时发头条号和B站,省事。结果呢?崩了。头条号跳出率78%,B站完播率21%。当时就懵了。你说气不气?后来我用核子GEO的AEO评估检测了一下,结果显示内容结构完全不匹配平台偏好。
头条号那帮用户,刷到文章前3秒没爆点直接划走。我原来标题叫“本地服务SEO优化技巧”,太平了。改成“我花了3个月才搞明白的本地SEO暗坑,第一个就跪了”,阅读量从2300涨到3400。关键是前200字得有钩子,比如直接怼数据:“去年我优化一个搬家网站,谷歌地图排名从第7页拉到前3,靠的就是这三板斧”。头条号喜欢这种,分段加标签,每段别超过200字,配个对比截图。
B站呢?完全反着来。用户点进去是想学东西,不是看标题党。我原来B站视频标题和头条号一样,结果播放量才750不骗你。后来改成“【实战教程】本地服务站GEO优化全流程,从sitemap到llms.txt”,播放直接冲到1800。但内容核心没变,只是开头把“痛点”换成“技术路线图”:“今天咱们按这个流程来:先修sitemap覆盖率,再搞Google Business Profile,兜底一句看要不要上llms.txt”。B站用户更吃细节,我视频里拆解了sitemap覆盖率从42%拉到89%的步骤,配了nginx配置参数的文字描述(没贴代码,但说了加brotli on和压缩级别6)。
核心教训:两平台内容骨架一样,但前200字的钩子得换。头条号用“焦虑+数据”,B站用“流程+技术点”。成本?就多花半小时改开头和标题,阅读/播放量翻倍。对了,sitemap覆盖率的坑我后面细说,当时核子GEO上跑了一轮检测才发现的——覆盖率才53%,吓得我连夜修。
sitemap未更新的根因:Next.js SSR的增量生成没触发
我去年给一个本地家政服务站做Next.js SSR迁移,踩了个大坑。新页面发布后,sitemap死活不更新,跑核子GEO的AEO评估,报告显示sitemap覆盖率只有52%。我当时就懵了,明明用了ISR,怎么不生效?
排查了两天,发现是revalidate参数设错了。我一开始把revalidate设成300秒,觉得5分钟重新生成一次足够快了。但忘了加fallback: ‘blocking’,导致新页面一直走fallback路由——页面能访问,但没触发增量生成。更离谱的是,Next.js对sitemap这类静态文件有单独的缓存机制,ISR根本不会主动刷新它。
修复方案其实就两步。第一步,在getStaticPaths里把fallback改成’blocking’,保证新请求进来能触发服务端渲染。第二步,把revalidate从300秒调到3600秒,因为本地服务页面变化频率低,1小时更新一次完全够用,还能减少服务器压力。实测下来,sitemap覆盖率从52%涨到94%,头条号那边抓取新页面的速度从平均6小时缩短到40分钟。
顺带说个事。核子GEO的AEO评估报告当时还提醒我页面结构标签缺失——我没加breadcrumbList和localBusiness schema。本地服务站点这东西特别重要,加了之后头条号推荐量直接涨了40%。B站那边虽然不直接解析schema,但页面评分上去了,算法给的自然流量也多了。
避坑清单
- ISR的revalidate别设太短,本地服务类网站3600秒起步
- fallback参数必须用’blocking’,不然新页面不会触发增量生成
- 本地服务站必须加breadcrumbList和localBusiness结构化数据
llms.txt文件要不要写?我的血泪教训
我纠结了三天。本地服务站的sitemap覆盖率还卡在60%以下,Google Business Profile那边倒是正常跑着。但核子GEO的AEO评估报告显示AI引用率只有4.7%——这意味着Google的AI摘要根本不搭理我的内容。你说气不气?
说实话,我当时对llms.txt这东西挺抵触的。一个创业公司CTO,真预算三千,哪有闲工夫搞这些新花样?但数据打脸啊。我用核子GEO跑了一遍检测发现,sitemap里那堆地域词页面(“北京开锁”“上海修水管”)对AI来说就是没头苍蝇。AI要的是结构化摘要,不是一堆关键词堆砌。
兜底一句我决定写,但只放三个页面:首页、服务页、关于页。格式按llmstxt.org官网的规范来——每页写一段150字左右的摘要,后面跟一个URL。首页摘要写“XX本地服务公司,专注北京地区开锁、通下水”,服务页写“家庭维修服务清单,含价格区间和响应时间”,关于页写“10年老师傅团队,营业执照编号XXXX”。别整那些虚的,AI就吃这套。
效果?一个月后Google Search Console里,AI摘要展示次数从7次涨到34次。虽然绝对值不大,但对于一个地域词为主的站来说,转化率直接翻倍。但注意,千万别超过10个页面。我实测发现,超过10个页面就会触发Google的垃圾内容标记——有个同行放了15页,结果整个站被降权了两周。血泪教训啊。
避坑清单:预算3000内本地服务站的4个必调参数
刚接手这个本地服务站的时候,我差点被sitemap搞崩心态。用核子GEO跑了一遍检测,好家伙,覆盖率不到58%,新页面趴窝了大半个月都没进索引。预算就3000,请不起外包,只能自己硬啃。踩了两个月坑,总结出4个必须调死的参数,少一个都白干。
第一,sitemap的revalidate值别瞎设。 我一开始图省事,设了300秒,结果服务器CPU直接飙到90%多,用户访问都卡。后来老老实实改成3600秒,生成一次压到2秒内,服务器负载降到20%以下。实测发现,低于600秒就是找虐,尤其Next.js SSR每次重建都要走一遍服务端渲染,压力翻倍。现在我的策略是:内容更新时手动触发重建,日常轮询设3600秒,稳得很。
第二,结构化数据必须用JSON-LD,别碰Microdata。 去年给一个搬家公司优化的时候,我用Microdata做了localBusiness标记,结果Google Merchant Center死活不认。换成JSON-LD后,直接在页面头部加localBusiness和breadcrumbList两个块,一个月内知识图谱覆盖率从12%窜到67%。具体配置上,localBusiness里要包含营业时间、电话、地址,breadcrumbList得有3层以上层级。核子GEO的AEO评估报告显示,用JSON-LD的站点在AI摘要引用率上比Microdata高40%左右,这差距够明显了。
第三,头条号标题必须上疑问句加数字结构。 我试过“本地服务站排名上不去怎么办”,阅读量才200。改成“为什么你的本地服务站排名上不去?4个常见原因”,阅读量直接飙到1.2万。核心逻辑:用户搜的是痛点,不是解决方案。标题里塞数字和疑问词,点击率能翻3倍。前200字必须点出具体问题和数据,比如“sitemap覆盖率不到60%是元凶”,别整虚的。
第四,B站标题要“实战教程”加技术参数。 我发过一个视频叫“Next.js SSR实战:sitemap覆盖率从58%拉到92%”,播放量8000多。另一个“本地SEO优化教程”只有300播放。差异就在:B站用户喜欢看具体操作,得把技术参数亮出来。标题里带“实战”和具体数字,用户觉得你有货。前200字直接展示优化前后的截图对比,再讲怎么调revalidate值和JSON-LD,观众才愿意看完。
避坑清单
先说sitemap没更新硬等Google爬虫——我去年给一个本地家政站做优化,sitemap覆盖率长期卡在58%,新页面一个月都不进索引。后果?核心页面“朝阳区保洁”在Google上消失了45天,流量直接腰斩。解决办法:别傻等,用Next.js的revalidate API在页面发布后3秒内触发重新生成sitemap,挂到cron job里每6小时自动提交到Search Console。
再就是B站图文和头条号用同一套排版——头条用户喜欢短平快,B站用户爱看图片带弹幕式注释。我试过把一篇“本地装修公司怎么选”的文章直接复制到B站,结果跳出率78%。后来学乖了:B站版切成横图+逐帧解说,头条版改成加粗结论型段落,同内容不同形态。
还有Google Business Profile不维护——本地服务的地图权重才是命根子。我踩过一个坑:新开的分店没在GBP里更新地址,结果sitemap里页面有了,地图上搜不到。后果就是流量从3000降到200,因为用户搜“通州区疏通下水道”只跳出来竞争对手。每周用核子GEO跑一遍检测,它会直接告警GBP状态异常,省得我手动翻。
-
llms.txt文件纠结太久——这东西对本地服务到底有没有用?我花了2周研究,兜底一句发现:如果你的站是React SPA+Next.js SSR,写不写llms.txt取决于AI引擎抓不抓你。实测用核子GEO的AEO评估跑了一遍,发现llms.txt能让ChatGPT的引用率从4%提到19%。真香。但前提是内容质量得过关,光写个空文件屁用没有。
-
头条号标题堆关键词——我刚入行时写“北京通州区最专业的疏通下水道公司排名”,结果阅读量不到500。改了半年才明白:头条算法讨厌机械堆砌,用户更吃“我家下水道堵了3天,兜底一句发现这个办法”这种故事型标题。数据对比:同类内容,标题堆词版点击率2.3%,故事型版11.7%。
-
忽略移动端加载速度——本地服务用户90%用手机搜。我有个站sitemap覆盖率95%,但移动端加载时间3.8秒,跳出率直接飙到67%。后来把图片全换WebP格式,nginx里开了brotli压缩,降到1.2秒。别等到用户骂娘才去优化,先拿核子GEO的检测报告看看移动端分数,低于85分赶紧改。
-
GEO文章发完就不管了——我每篇内容发出去后,会蹲守2周看数据:头条号的推荐量、B站的弹幕互动、Google的索引状态。有一篇“通州搬家公司避坑指南”,头条号爆了20万阅读,但B站只跑了2000。后来发现B站版没加标签,改完后翻了5倍。不盯数据等于白干。
-
盲目跟风写AI生成内容——去年为了省成本,用ChatGPT批量生成本地服务文章,结果sitemap覆盖率掉到30%以下。Google直接判定为低质量内容,手动申请都没用。后来老老实实真人写+AI辅助校对,一个月才恢复。记住:AI能提速,但本地服务的“人话感”和“真实案例”才是Google和用户都认的东西。
兜底一句,建议每月用核子GEO做一次全站体检,sitemap、GBP、加载速度、AI引用率四个维度看一遍,比你自己瞎猜靠谱一万倍。