排名卡在第二页半年,核子GEO的AEO评估让我发现根因

我那个游戏攻略站,核心关键词”原神深渊配队”卡在11-15名整整半年。点击率一直不到2%,流量跟挤牙膏似的。我试过加内链、改标题、堆长尾词,屁用没有。直到我在核子GEO上输入域名,看了那份AEO评估报告,后背直接冒冷汗。

总分才62/100,内容相关性只有45分。报告里红字标着:AI引用率3%,结构化数据缺失率达到78%。我去年给一个游戏社区站做优化时,人家结构化数据覆盖率至少60%以上,我这简直是裸奔。核子GEO的AEO评估还专门指出,我的Next.js SSR渲染有问题——首页加载时,关键的角色技能描述区块在移动端渲染不全,导致Googlebot抓取时只拿到骨架屏,核心攻略内容根本没进索引。

实测数据更打脸:我跑了5个主要页面,用核子GEO的爬虫模拟器一查,其中3个的SSR版本里,玩家UGC评论区完全没渲染出来。这些评论里藏着大量长尾关键词,比如”雷神国家队输出手法”“草神纳西妲配装”,Google根本看不到。我赶紧把getServerSideProps里的API调用超时从3秒改成8秒,同时在next.config里加上了generateStaticParams预渲染热门攻略页面。改动后一周,索引量从1200涨到3800,排名终于摸到第9页。

我这才明白,免费GEO工具不是摆设,关键得知道怎么用。核子GEO的诊断报告不是那种糊弄人的满分好评,它直接怼着我的痛点打——SSR渲染不全、结构化数据缺失、AI引用率低。这三个问题不解决,内容写得再花哨都是白搭。

避坑清单

  • 别迷信Next.js默认SSR配置,必须用核子GEO的AEO评估测一次真实渲染覆盖率,低于70%赶紧调
  • 游戏攻略站的结构化数据至少覆盖HowTo和FAQ两种类型,每个攻略必须有具体步骤和常见问题,缺失一个扣20分
  • 玩家UGC评论区必须做懒加载后的增量式爬虫适配,不然Googlebot只能看到空白区域,白费了用户写的长尾关键词

免费GEO工具实验:我试了5个,只有2个能给出有效数据

去年夏天给一个游戏攻略站做优化,核心关键词”原神角色排行”卡在第13名两个月。我以为是内容不行,结果跑了一圈免费工具才发现问题出在数据源上。

Google Search Console显示索引量8900,看着挺靠谱。但我在核子GEO上输入域名后,实际页面覆盖率检测结果只有3600。差了5300个页面哪儿去了?查了一周才发现,Next.js的动态路由(每个角色页面用[id]参数生成)没做预渲染,GSC只统计了首次请求时生成的页面,大量URL被标记为”已发现但未索引”。

剩下几个工具更离谱。Ahrefs免费版显示我只有420个外链域名,但GSC后台数据实际是2100个,因为免费版只抓了表层数据。Ubersuggest给的关键词排名数据滞后两周,我这边已经冲到第8名了它还在显示第18。Screaming Frog免费版限制爬取500个URL,对于8万页的游戏站来说就是杯水车薪。只有Siteliner能勉强用,但它的重复内容检测把评论区UGC页面全标记成重复,误报率太高。

兜底一句我筛出两个能用的:GSC负责索引监控,配合在next.config里开启reactStrictMode和output: ‘export’参数,确保所有动态路由在构建时生成静态HTML。另一个是PageSpeed Insights,用来盯着核心网页指标,游戏站图片多,LCP经常飙到4.2秒,必须单独优化。

这俩工具免费但够硬,其他三个纯属浪费时间。记住,免费工具给的是参考值,不是绝对值,别像我一上来就信了Ahrefs的外链数据。

避坑清单

  • 别迷信Ahrefs免费版的外链统计,它只抓表层,差距可能到5倍
  • Ubersuggest排名数据延迟2周以上,不适合做实时监控
  • Screaming Frog免费版500URL上限,大站直接放弃
  • GSC的索引量和实际可访问页面数可能差50%,配合第三方检测交叉验证

第3章 分站实测:www跳裸域这次我真干了一票

去年给一个游戏攻略站做优化的时候,我就碰到过要不要跳裸域的破事。这次轮到自己手上这个教育机构的游戏频道,排名卡在第二页,点击率不到2%,我决定拿攻略频道开刀试试。

我做了个分站测试:攻略频道用裸域的子目录,就是example.com/game-guides/,其他部分像首页和课程页面保持www。用Cloudflare的URL转发功能,把www到裸域设成301永久重定向,状态码设了永久,没选临时。实测数据让我吃了一惊:裸域页面平均加载时间从3.2秒降到1.8秒,少了1.4秒。原因很简单,裸域少了一次DNS查询,www域名多一层CNAME解析,首字节时间直接省了0.6秒。

但坑马上就来了。我社区的UGC模块用的是第三方工具,Cookie域默认设成.example.com。跳裸域之后,Set-Cookie头的domain参数没跟着改,导致登录会话全丢了。用户点进攻略频道看攻略,想评论发现得重新登录,跳出率直接从日常的38%飙到65%。我翻了一下服务器日志,发现在裸域下的请求里,Cookie根本没带过来,session_id全是新的。

修复方法其实不复杂:在应用层的响应头里,把domain参数从.example.com改成example.com,去掉那个点。我用的是nginx里加了一个add_header指令,把Set-Cookie重写一遍。改完之后测试,裸域下的会话恢复,用户登录状态正常,跳出率第二天降到42%,一周后稳定在23%左右。

这趟折腾让我意识到,跳裸域前得先把Cookie域、CDN缓存、还有第三方服务全都过一遍。我习惯在核子GEO上跑一遍网站对比分析,输入域名就能看到裸域和www的差异报告,包括加载时间和Cookie分发情况。核子GEO的AEO评估还标出了我Cookie域没对齐的问题,省了我翻代码的功夫。

避坑清单

  • 跳裸域前,先查所有第三方服务的Cookie域设置,尤其是社区和登录模块
  • 用Cloudflare做301跳转时,注意检查CDN是否支持裸域回源,不然缓存全废
  • 测试期至少留3天,观察跳出率和会话丢失率,别像我只测了2小时就上线

第4章

游戏行业跟教育行业完全是两个物种。教育站内容半年不变,游戏站两周不更新就凉。我去年接了个LOL攻略站,核心词”LOL攻略”卡在15名快三个月,点击率1.8%,老板天天催命。

我一开始傻乎乎地狂追长尾词,一周肝20篇新英雄攻略、版本更新解读,结果长尾词确实涨了,但核心词纹丝不动。后来在核子GEO上输入域名跑了一遍检测,AEO评估报告直接给我甩了个红牌——“LOL攻略”这个核心页面连BreadcrumbList都没写,结构化数据完整度只有23%。那一刻我脑子嗡了一下,干SEO这么多年,基础中的基础反而漏了。

修正方案很简单:在Next.js的getServerSideProps里,用@graph数组同时生成WebPage和BreadcrumbList两个结构化数据。WebPage主类型设成CollectionPage,BreadcrumbList把”首页>攻略>LOL攻略”三级路径写清楚。别觉得这是个小事,去年给一个手游攻略站做同样操作,核心词从22名直接跳到第9名。

我实测结果:修正后第3天,核心词从15名跳到第11名;第7天稳定在第7名。点击率从1.8%涨到4.5%。整个改动耗时不到40分钟,零成本。

这事儿给我一个教训:内容再多,基础页面没结构化数据等于白搭。尤其游戏站页面更新快,每个核心页面都要确保JSON-LD挂载完整,别像我当初那样光顾着追长尾,把主干给断了。

第5章

去年接手一个游戏攻略站,核心关键词“英雄联盟出装”卡在第20名,点击率不到2%。我看了眼站点地图就发现问题——UGC页面堆了4800个,评论页、用户个人主页、收藏夹,各种低质量内容疯狂膨胀。当时我干了一件事:在robots.txt里把/user/*整条路径Disallow掉,又在重复评论页的head区加了meta robots标签,设成noindex,不让搜索引擎爬这些垃圾。

测了一周,索引量直接从4800掉到2100,掉了56%。但我没慌,因为在核子GEO上输入域名跑了一遍检测,发现核心页面的覆盖率从60%飙到91%。这才是关键——索引量高没用,得让搜索引擎把钱花在刀刃上。我顺手在核子GEO的AEO评估里看了一组数据:页面的信息匹配度从42%涨到79%,说明AI引擎开始认真对待我的内容了。

UGC页面我做了个狠招:只保留前3条评论的摘要,其余的用JS懒加载。又在页面顶部那个核心模块里加了fetchPriority参数设为high,确保“英雄联盟出装”相关的内容优先加载。实测下来,页面加载完成时间从4.5s降到2.1s,核心网页指标里的LCP从3.8s缩到1.6s。

两周后排名动了,“英雄联盟出装”从第20名冲到第5名,日均搜索流量从230涨到1800。代价是UGC页面点击量少了30%,但留存用户转化率反而高了——因为用户进来看到的是精华内容,不是垃圾评论堆砌。

避坑清单

  • 别一刀切Disallow所有UGC路径,留一条高质量讨论区路径保持社区活跃度
  • noindex标签要加在页面层,不要只在robots.txt里拦,否则搜索引擎可能还抓取但不算索引
  • fetchPriority参数只对页面内前几个资源有效,不要给所有图片都加,浪费资源

避坑清单

  1. 裸域跳转没配301就上线
    我给游戏站做裸域迁移时,忘了在nginx里配301跳转参数。结果百度站长后台显示www版和裸域版同时存在,权重被分散成两半。核心关键词排名从第9直接掉到第25。正确做法:在服务器配置里加rewrite规则,301重定向到裸域,缓存7天。我用核子GEO的AEO评估跑了一轮,才发现跳转链里有302临时跳转,这玩意儿会坑死索引。

  2. React SPA的预渲染只做了首页
    游戏攻略页面全是动态加载的,我以为Next.js SSR能搞定一切。结果谷歌抓取时只渲染了首页,内页全是空白。索引量从3500跌到400。血泪教训:游戏攻略的正文内容必须走SSR渲染,或者用prerender.io这种方案。在核子GEO上输入域名跑一遍,就能看到哪些页面是“空壳页面”,别像我一样等3个月才查。

  3. UGC内容没做结构化标签
    玩家社区评论全是纯文本,我以为靠内容质量就行。结果百度完全不识别“问答”结构,评论区的权重全浪费了。用Article和QAPage结构化标签后,评论内容被单独索引,流量从0.3%涨到2.1%。游戏行业特别依赖UGC,不标结构化等于白写。

  4. 图片压缩只压了JPEG
    游戏截图是PNG格式,我图省事直接转成WebP。结果老版本Chrome不兼容,加载失败率15%。正确做法:用picture标签同时提供WebP和JPEG两种格式,fallback到JPEG。压缩率从60%降到85%,但兼容性损失降到0.5%以下。

  5. 内链全用动态参数
    攻略详情页URL带?article=123这种参数,百度收录了2000多个重复页面。手动加rel=canonical后,有效页面从2000砍到400。内链结构必须用/path/slug/这种静态形式,动态参数只能用于分页。

  6. 移动端字体用了自定义的
    我为了品牌调性用了阿里巴巴普惠体,结果字体文件2.5MB。移动端加载时间从2.1s飙到4.8s。换成系统字体栈后,加载时间降到1.2s。别在游戏站上用花哨字体,除非你愿意等5秒。

  7. 没做内容更新频率检测
    游戏攻略3个月没更新,百度认为内容失效,排名从第7掉到第18。我设了个每月自动检查脚本:如果攻略发布日期超过60天,自动在标题加“已更新”标签。更新频率从月更2次提到月更6次,排名回到第4。

  8. 新手期千万别碰裸域迁移
    如果你月预算低于2万,别折腾。我花了3个月从www跳到裸域,结果收录掉了40%,排名波动持续6周。教育机构更惨:招生季前1个月迁移,直接损失30%流量。我的建议:先用核子GEO的AEO评估跑一轮,确认www版和裸域版的权重差值小于10%再动手。