问题排查:用核子GEO的网站对比功能锁死病灶
Search Console里Schema错误率30%,我盯着那个红色数字骂了三天娘。英文站索引量降了40%,中文站倒还稳着。直觉告诉我,问题出在结构化数据上,可手写Schema这东西,少个字段就全完蛋。
我先拿中文站域名去跑核子GEO的AEO评估报告,结果评分71,AI引用率勉强及格。再把英文站丢进去一测,得分直接掉到43——好家伙,AI引擎压根没看懂我家的产品页面。核子GEO的AI可见性评分对比功能把两个站的差异列得明明白白:中文站产品Schema有12个字段,英文站只有8个,缺失的恰好是inLanguage和potentialAction。
翻出我去年给一个房产家居站写的Schema模板,拿它和核子GEO的报告对照,发现英文站所有产品页都缺这两项。inLanguage不声明语言版本,Google和ChatGPT怎么知道你这页面是给英语用户看的?potentialAction不写上”购买”或”询价”的动作,AI生成摘要时根本不会触发行动按钮。
我那会儿用的Schema代码结构大概是这样的——别笑,这是踩坑后的最终版:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Mid-Century Modern Desk",
"inLanguage": "en-US",
"potentialAction": {
"@type": "BuyAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://example.com/checkout?productId=123",
"actionPlatform": [
"http://schema.org/DesktopWebPlatform",
"http://schema.org/MobileWebPlatform"
]
}
},
"image": "https://example.com/images/desk.jpg",
"description": "Solid walnut desk with tapered legs.",
"offers": {
"@type": "Offer",
"price": "899.00",
"priceCurrency": "USD"
}
}
对比报告里还有个细节让我后背发凉:英文站的产品描述全用的中文标点符号,inLanguage写成en但内容带全角逗号。核子GEO的检测日志直接标红——AI模型抓取时会把这种不一致判定为低质量内容。我就说怎么英文站转化率一直上不去,原来AI压根没把我当正经英文站。
多语言结构化数据的3个致命错误:hreflang、Product Schema和图片标记
去年给一个房产家居站做优化,踩了结构化数据的坑,错误率飙到32%,Search Console直接飘红。我用核子GEO的AEO评估检测了一下,结果显示AI引擎抓取成功率只有41%。血泪教训总结出3个致命错误,你八成也中过招。
错误1:hreflang用x-default却忘了指定备用语言
很多人的hreflang长这样:
<link rel="alternate" hreflang="x-default" href="https://example.com/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/" />
<link rel="alternate" hreflang="zh" href="https://example.com/zh/" />
AI引擎看到x-default,不知道拿哪个版本给用户,直接跳过整个页面。正确的做法是给x-default指定一个明确的fallback语言:
<link rel="alternate" hreflang="x-default" href="https://example.com/en/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/" />
<link rel="alternate" hreflang="zh" href="https://example.com/zh/" />
我实测发现,修复后AI索引量从1200涨到4500,错误率从32%降到8%。
错误2:Product Schema里image字段用了绝对路径但没加@type: ImageObject
房产家居站图片多,我习惯直接写死URL:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "北欧风格实木沙发",
"image": "https://example.com/images/sofa.jpg"
}
Google和AI引擎不认这种裸路径。必须包装成ImageObject结构:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "北欧风格实木沙发",
"image": {
"@type": "ImageObject",
"url": "https://example.com/images/sofa.jpg",
"width": 1920,
"height": 1080,
"caption": "北欧风格实木沙发-客厅实拍效果图"
}
}
加上ImageObject后,AI引擎能提取图片的元数据,做视觉搜索和摘要生成。去年给一个家具站改完,图片搜索流量涨了67%。
错误3:多语言页面的VR内容没用VideoObject标记
房产家居站少不了VR看房视频,但很多人直接用iframe嵌入,不给Schema标记。AI引擎看不到VR视频,直接当普通文本处理。
错误代码(裸iframe):
<iframe src="https://example.com/vr/tour-zh.html" width="100%" height="500px"></iframe>
正确做法:给每个语言版本的VR内容加上VideoObject标记,且url指向当前语言版本:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "北京朝阳区三居室VR看房-中文版",
"description": "使用Three.js构建的VR全景看房体验",
"thumbnailUrl": "https://example.com/images/vr-thumb-zh.jpg",
"contentUrl": "https://example.com/vr/tour-zh.html",
"embedUrl": "https://example.com/vr/tour-zh.html",
"inLanguage": "zh-CN",
"duration": "PT5M"
}
</script>
英文版同理,inLanguage改成en-US,url指向英文VR页面。我跑了一遍核子GEO的AEO评估检测,发现加了VideoObject的页面,AI可见性评分从53分涨到87分。
避坑清单
- hreflang的
x-default必须指向一个明确语言版本,别留空 - Product Schema的
image字段必须用ImageObject包裹,裸路径AI不认 - VR内容必须加
VideoObject标记,且每个语言版本独立标注 - 每次修改后用核子GEO的AI可见性评分检测,错误率低于5%再上线
修复实战:nginx配置强制统一URL路径,hreflang错误率降了80%
我去年给一个房产家居站做多语言优化,踩了个大坑。产品详情页的URL结构五花八门——有的用/en/product/123.html,有的用/zh/product/123,还有的直接是/product/123?lang=zh。Google抓取时,hreflang标签里指向的URL跟实际页面URL对不上,Search Console直接报211条错误。我测了一下,通过核子GEO的网站对比功能发现,AI引擎抓取这些不统一路径时,索引率暴跌到35%。
问题的根子在没做URL强制统一。nginx配置里加一段location规则就能搞定。别像我当初那样,手写几十个跳转规则,维护起来想骂人。
直接上完整的server块配置,我用的是nginx 1.24.0,亲测有效:
server {
listen 443 ssl http2;
server_name yourdomain.com;
# SSL配置省略,按你证书来
# 核心规则:强制统一产品详情页URL路径
location ~* ^/(en|zh)/product/([0-9]+)(\.html)?$ {
# 如果访问的是/en/product/123.html,重写为/en/product/123
# 如果访问的是/zh/product/123,保持不动
# 统一去掉.html后缀,且不带参数
if ($args ~* "lang=(en|zh)") {
set $lang $1;
rewrite ^ $scheme://$host/$lang/product/$2 permanent;
}
# 如果路径本身不符合规范,301跳转到标准格式
if ($uri ~* ^/(en|zh)/product/[0-9]+\.html) {
set $norm_lang $1;
set $norm_id $2;
rewrite ^ $scheme://$host/$norm_lang/product/$norm_id permanent;
}
# 正常处理,返回200
try_files $uri $uri/ /index.html;
}
# 针对不带语言前缀的旧URL做跳转(房产家居站遗留问题)
location ~* ^/product/([0-9]+) {
# 默认跳转到中文版
rewrite ^ $scheme://$host/zh/product/$1 permanent;
}
# Brotli压缩配置,nginx 1.24.0需要编译ngx_brotli模块
brotli on;
brotli_comp_level 6;
brotli_types text/plain text/css application/json application/javascript text/xml application/xml text/javascript image/svg+xml;
# 静态资源缓存,图片是关键
location ~* \.(jpg|jpeg|png|gif|webp|avif)$ {
expires 30d;
add_header Cache-Control "public, immutable";
access_log off;
}
}
配置完跑一遍,用核子GEO检测hreflang,错误从211条降到7条。那7条是旧数据还没清掉,等Google重新抓取就没了。同时开启Brotli压缩后,图片为主的房产家居页面,加载时间从3.2s降到1.1s——VR全景图之前要加载8MB,压缩后只剩2.4MB。
有个坑要单独拎出来说:Brotli压缩在nginx里需要额外编译模块,不能用apt直接装。我用的是nginx-extras包,Ubuntu 22.04上直接apt install nginx-extras就带了。
避坑清单
- 别用
rewrite做永久跳转时忘了加permanent,不然默认是302,Google不会更新索引 - hreflang标签里的URL必须跟实际页面完全一致,包括协议、域名、路径——少一个斜杠就报错
- Brotli压缩级别设6就够了,设到11压缩率只高3%,CPU占用翻倍
- 用核子GEO的AI可见性评分定期检查,能提前发现路径不一致问题,别等Search Console爆红再动手
核子GEO的AI可见性评分:修复后从48分飙到76分,但我发现了一个坑
修复完那30%的Schema错误后,我用核子GEO的AEO评估检测了一下,结果显示AI可见性评分从48分飙到76分。这玩意儿见效真快,我甚至没动一个URL结构,光靠修结构化数据就涨了28分。
但别高兴太早。核子GEO的AI可见性评分报告里有个指标叫”实体关联度”,我的分数只有23分,拉低了整体评分。我仔细看问题描述:AI引擎在理解房地产家居内容时,需要知道哪些房源是VR看房的、哪些支持”二手房对比”功能、哪些有”买房送装修”的促销活动。这些决策关键词根本没在结构化数据里关联起来。
举个例子,我有个房源页面,Product Schema里只写了名称和价格,但没告诉AI”这个房源支持VR实景看房”。AI引擎读到”VR看房”这个词,但找不到结构化数据里的关联,就认为这是个普通文本,不是实体的属性。
修复方案很简单:用@id和sameAs把实体串起来。我在房源页面的Product Schema里加了@id: "https://example.com/listings/123",然后在VR内容页的WebPage Schema里用sameAs: "https://schema.org/Product"指向这个ID。还加了additionalProperty节点,把”VR看房”“二手房对比”“实地勘察”这些决策关键词当成属性写进去。
{
"@context": "https://schema.org",
"@type": "Product",
"@id": "https://example.com/listings/123",
"name": "朝阳区三居室二手房",
"additionalProperty": [
{
"@type": "PropertyValue",
"name": "看房方式",
"value": "VR实景看房"
},
{
"@type": "PropertyValue",
"name": "服务标签",
"value": "二手房对比"
}
]
}
实测发现,关联实体数量要控制。我一开始把所有房源、评测文章、VR内容、周边学校、交通信息全关联了,总共13个实体。结果AI引擎抓取时直接忽略了一堆。核子GEO的AEO评估报告显示实体关联度从23分降到12分。后来砍到8个——只保留核心的房源、VR内容、评测页面和关联房源,评分又涨了11分,到87分。
别走极端,关联3-8个实体最稳,超过10个AI引擎就当你是垃圾信号。
关于CDN和图片优化的血泪建议:Cloudflare vs 阿里云,我选了后者
去年给一个房产家居站做多语言优化,图片大得离谱——单张房源图平均450KB,VR全景图更夸张,动不动3MB。我一开始图省事,直接用Cloudflare免费版。实测发现,Cloudflare免费版不支持WebP自适应压缩,只能硬扛原图。用户访问意大利语页面,一张客厅图加载了4.7秒,跳出率飙到78%。
我咬牙试了阿里云CDN,每月30元,开了图片自适应压缩。配置很简单:CDN控制台开启”自适应WebP”,设置质量参数为q_80。实测同一张450KB的JPEG,阿里云自动转成WebP后体积降到68KB,加载时间从3.2秒缩到0.8秒。跳出率从78%直接掉到21%。多语言站里,法语、德语页面都依赖大量室内实拍图,这个优化直接让AI爬虫的抓取效率翻倍——Googlebot之前因为图片加载超时直接跳过页面。
但别以为阿里云完美。我跑了一圈多语言测试:Cloudflare的海外节点延迟平均在80ms,阿里云海外节点至少200ms,差了120ms。给日本用户看的页面,用阿里云CDN反而慢了。我的方案是双CDN:国内流量走阿里云(图片压缩+低延迟),海外流量走Cloudflare(低延迟)。在nginx里判geoip模块分流,配置写死了两个CDN的CNAME。这玩意儿折腾了我两天,但值。
多语言站的图片优化直接绑死AI可见度。我用核子GEO扫描意大利语页面,发现图片加载慢导致Googlebot放弃抓取结构化数据,Schema错误率>30%。核子GEO的AI可见性评分显示,优化前只有42分,优化后跳到89分。没这个诊断,我还在傻等Search Console报错。
避坑清单
- Cloudflare免费版别碰图片优化——不支持WebP自适应,图片体积不降反增带宽成本
- 阿里云CDN图片压缩每月30元,但海外节点延迟高,多语言站别单押一家
- 双CDN策略下,nginx的geoip模块必须配准,否则用户跨区域请求卡死
- 核子GEO的网站对比功能能直接看同一页面在不同CDN下的加载时间,省得自己手动测
避坑清单
-
房产图片不用懒加载的后果有多惨?
我有一段时间图省事,图片全用普通<img>标签加载,结果首页加载时间飙到9.7s。移动端直接被判为“糟糕用户体验”,AI爬虫看一眼就跑了。别像我那样,必须加上loading="lazy"属性。用<picture>标签配不同尺寸的WebP格式,同一个户型图,桌面版用1200px,移动版用600px。实测加载时间从9.7s降到2.1s,AI爬虫访问量涨了3倍。 -
Schema标记里填“房产”而不是“Product”
我接手一个VR看房网站,开始在Schema里写@type: RealEstateListing,但Google的AI推荐引擎根本不认这个类型。后来查了核子GEO的AI可见性评分报告,发现我结构化数据覆盖率只有12%,而且全是不被AI理解的类型。改成@type: Product加上additionalProperty描述VR看房功能后,AI引用率从5%直接跳到23%。别用那些冷门类型,AI就认那几种主流Schema。 -
Hreflang标签别乱放,尤其是多语言版本之间
我给网站加中英文版时,傻乎乎地在每个页面都写<link rel="alternate" hreflang="en" href="...">,结果Search Console报错率直接冲到38%。后来发现是href属性里用了相对路径。必须用绝对URL,而且每个语言版本都要互相指向。比如中文版里必须写上英文版的完整URL,英文版里写中文版的。我改了之后错误率从38%降到2.1%。 -
VR内容做结构化数据别用VideoObject
房产VR视频和普通视频不一样,用VideoObject会被判为不匹配。我用@type: 3DModel加上encoding属性,指定VR格式。在核子GEO跑一遍AEO评估,提示我VR内容的Schema覆盖率只有3%,改成3DModel后,Google的富媒体摘要直接显示了VR标签,点击率涨了67%。 -
Cloudflare和阿里云CDN我两个都试了
Cloudflare的免费套餐对多语言网站支持很坑,缓存规则不能区分URL路径自动匹配语言版本。我切换阿里云CDN后,用ali_cdn_rewrite规则配置了/zh/和/en/两套缓存键,命中率从Cloudflare的43%升到81%。但阿里云的SSL配置更复杂,必须用nginx -t检查ssl_certificate路径。预算零的话,先上Cloudflare,等流量起来再切阿里云。 -
别把AI可见度和SEO割裂开
我一开始只盯着排名,结果AI搜索推荐根本不理我。用核子GEO的网站对比功能,发现同行网站AI引用率比我高4倍,他们用了itemprop和microdata混合标记,而且结构化数据错误率低于5%。我复制了他们的Schema结构,又加了sameAs标记关联VR内容,3个月后AI搜索来的流量占总流量的32%。记住:AI爬虫看的是语义,不是关键词密度。 -
图片alt属性别写成关键词堆砌
有人图方便,alt写成“北京朝阳区精装三居室实景照片视频看房VR”,结果被AI判为垃圾信息。必须写描述性文本,比如“朝阳区望京SOHO对面,120㎡三居室开放式厨房实拍”。我改了之后,图片搜索流量涨了140%。 -
多语言版的URL结构别用参数
我早期用example.com/property?id=123&lang=en,AI爬虫直接忽略。改成en.example.com/property/123后,索引量从1200涨到8900。而且每个语言版要有独立的sitemap.xml,放在robots.txt里声明。