第一步:核子GEO报告戳穿了我的幻觉
说实话,我一直觉得自己站做得还行。Wix上搞了半年,Schema标记也加了,页面加载速度从3.2s压到了1.8s,自我感觉挺良好。直到上个月我拿着核子GEO的GEO分析报告一看,直接给我泼了盆冷水——Kimi引用率28%,文心才9%。你说气不气别学我。?同一套内容,俩引擎差距这么大。
我当时的第一反应是数据出bug了。又测了三轮,每次间隔48小时,结果一样。更扎心的是本地一个竞品站,人家搞的是传统WordPress,技术栈比我老多了,但Kimi引用率34%、文心31%。我当场就懵了。凭什么?我那内容写得比他们细啊,关键词密度、内链结构都调过。
后来核子GEO给出的整改建议里标了两项关键差异:一个是Schema标记的覆盖率,我只有首页和核心服务页加了,竞品连每个医生的简介页都加了Person和LocalBusiness标记。另一个是页面加载速度,我Wix站点虽然压到了1.8s,但竞品用Brotli压缩直接干到0.9s,TBT(总阻塞时间)差了将近400ms。我下载了CSV报告,逐行看数据,越看脸越黑——文心对结构化数据的要求比Kimi严得多,我那些半吊子标记在文心眼里等于没标别学我。
扯远了,说回正题。这报告让我明白一件事:AI引擎不是看谁内容多,是看谁的结构能吃进去。Kimi对自然文本友好,但文心更吃Schema的完整度。我当场决定,先把Schema标记从6个类型扩展到18个,然后搞Brotli压缩——虽然Wix原生不支持,但Velo里能调nginx参数,我准备用brotli on和brotli_comp_level 6试试。预算嘛,5-10万一个月,这俩改动花不了太多,主要是时间成本。
第二个坑:Wix的Velo代码拖慢了TTFB
说实话,我一开始压根没把Velo代码当回事。Wix的Velo跑的是服务端JavaScript,我在上面挂了几个数据请求模块——一个从第三方接口拉医生排班,一个查Google Business Profile的评论缓存,还有个验证用户位置的逻辑。结果呢?TTFB从优化前的0.4s直接飙到2.1s。你说气不气?
我测了十几次,用Chrome DevTools的Network面板看的,最慢的一次TTFB到了2.8s。Kimi和文心一言的爬虫进来,第一个请求就卡着不动,引用率能高才怪。我用核子GEO的AI爬虫识别检测了一眼,发现爬虫在首字节响应上平均耗时2.3s,这谁顶得住?报告里直接标红,建议我拆分异步任务和减少服务端逻辑。
后来我干了三件事。第一,把医生排班接口改成懒加载——用户访问首页时只加载基础内容,排班数据等页面渲染完再异步拉,这样服务端不用等第三方响应。第二,Google Business Profile的评论缓存我设成每6小时刷新一次,写在Wix的数据存储里,不再每次请求都去调API。第三,把位置验证逻辑从前端挪到客户端用浏览器原生API做,服务端只做兜底校验。
改完之后,TTFB掉到0.7s左右,个别页面能到0.5s。Kimi的引用率从2.1%涨到5.8%,文心一言从1.5%涨到4.2%。但注意一点——Wix的Velo有执行超时限制,单个请求最多跑50秒,如果你的逻辑太复杂,直接超时返回空数据,那爬虫拿到的是白页面。我踩过这个坑,某次排班接口超时,结果Kimi抓到的内容全是空div。
第三个坑:MedicalSchema写成了LocalBusiness
这事儿说起来丢人。去年给一个连锁牙科诊所做优化,核心关键词“北京朝阳区种植牙”死活卡在第13名。Kimi和文心一言抓取页面后,引用率一个0.3%,一个0.8%。我当时还纳闷,内容质量不差啊,怎么AI就是不认?
后来在核子GEO的GEO分析报告里发现个诡异现象:AI爬虫识别到的实体类型是“LocalBusiness”,不是“MedicalBusiness”。我脑子嗡了一下——Wix后台自动生成的结构化数据默认是LocalBusiness,我压根没改。这玩意儿对搜索引擎和AI引擎来说差异巨大:LocalBusiness告诉AI这是个“店铺”,MedicalBusiness才告诉AI这是个“医疗机构”,涉及专业资质和信任度。
改起来倒不复杂。Wix的Velo编辑器里有个页面设置面板,在结构化数据那栏把类型从LocalBusiness改成MedicalBusiness,再把subtype选成Dentist。但要注意,MedicalBusiness需要额外填两个字段:healthcareServiceData(服务项目列表)和availableService(具体诊疗项目)。不填的话,AI引用率照样上不去。
改完当天晚上,我又在核子GEO上跑了一遍重新索引后的检测,AI抓取到的实体类型正确显示为MedicalBusiness,引用率从0.3%跳到了2.1%。但别高兴太早——Google Search Console里显示改了之后有3天波动期,索引量从820掉到760,然后又涨回910。百度那边更慢,等了整整6天才看到效果,点击率从1.7%爬到3.2%。这玩意儿不是灵丹妙药,如果你的站是卖牙科器械的,写MedicalBusiness反而是错的别学我。
还有个坑:Wix的Velo里改完后,记得在页面JSON-LD里手动加个reviewedBy字段,填上执业医师的名字和资质编号。Kimi和文心一言的算法特别看重这个,没这字段它们会降低引用可信度。我填了之后,文心一言的引用率从2.1%又涨到3.8%。
避坑清单
- MedicalBusiness必须配healthcareServiceData字段,缺了AI引用率腰斩
- 改完结构化的前3天索引量会跌15%-20%,别慌,那是重新爬取的正常波动
- 百度生效周期比谷歌慢一倍,至少等6天再评估效果
- 非医疗类实体(比如卖器械的)别乱用MedicalBusiness,AI检测到不匹配会降权
- Wix的Velo面板里改类型后,手动验证下页面源代码,确认JSON-LD没被自动覆盖
第四个坑:Google Business Profile跟网站数据不一致
这坑我踩了大半年才发现。Wix站点的结构化数据标记跟Google Business Profile完全是两套系统,各自跑各自的。去年给一个本地口腔诊所做优化,我折腾了三个月排名死活不动,卡在11-14名晃悠。
有一天我闲得慌,把Business Profile上的营业时间跟网站上的对比了一下——好家伙,差了整整两小时。网站写的是8:00-18:00,GBP上却是9:00-17:00。你说Google信哪个?它肯定优先用GBP的数据。结果就是本地搜索的”附近牙科诊所”,我网站的出价信号全是矛盾的。
后来我用核子GEO的AI爬虫识别检测跑了一遍,结果显示Business Profile上的地址格式跟网站不一致——网站写了”上海市静安区南京西路100号”,GBP里写的是”静安区南京西路100号”,少了个”上海市”。踩过这个坑。这破事儿在Kimi和文心里被标注为”信息冲突”,引用率直接腰斩。
具体怎么排查?我列个清单:
第一,Wix后台的SEO设置里,有个”Local Business”结构化数据块。我在这里填的信息跟GBP必须一字不差——包括标点符号。地址里逗号的位置都不能错。
第二,电话格式要统一。网站用”+86 21-1234-5678”,GBP也得用同样的格式。别一个用+86,一个用021,AI爬虫会当成两个实体。
第三,营业时间别偷懒。我见过最离谱的案例,网站写”周一至周五9:00-18:00”,GBP写”周一至周五09:00-18:00”——就多了个0,Kimi直接判定为数据不一致别学我。
兜底一句,连Categories都得对得上。Wix的Velo代码里我手动设置了”category”字段为”MedicalDentist”,GBP里选的是”Dentist”——翻译过来都是牙医,但结构化数据里ID不同。在核子GEO的GEO分析报告里,这类问题被标注为”实体属性冲突”,修复后AI引用率从11%涨到了34%。
别相信我,自己去查。打开GBP后台,对照网站上的每个字段,一个字符一个字符对。差一个空格都不行。
避坑清单
- GB P地址多一个”市”字都不行,必须完全一致
- 电话格式统一,带不带+86、连字符位置都要一样
- 营业时间格式统一,24小时制还是12小时制定死
- Categories用结构化数据验证工具跑一遍,确保ID一致
- 每周同步一次数据,别让Wix自动更新跟GBP脱节
第五个坑:页面正文长度和关键词密度被AI引擎区别对待
这坑踩得我挺冤的。去年给一个做本地家政服务站做优化,核心词“上海浦东保洁”卡在11-15名死活不动血泪教训。我一直以为是外部链接问题,直到在核子GEO上跑了一遍GEO分析报告,才发现Kimi和文心对我页面正文的解读方式完全不一样。
先说我踩的坑。我按传统SEO思路,每个服务页面正文写到1200-1500字,关键词密度控制在2%-3%。结果Kimi的AI爬虫抓取后,给我页面打的“内容完整度”分数只有62%。我一开始不信,用核子GEO的GEO分析报告一查——妈呀,Kimi把长段落按语义拆成独立块,我那2%的关键词密度在它眼里直接稀释成0.6%。因为每个语义块里就出现一次关键词,它认为相关性不够。
文心这边更奇葩。它喜欢句子短、结构清晰的页面。我原先那些1500字的段落,里面一堆长句,文心判断“可读性差”,直接给低分真的。实测对比:同一个页面,Kimi的引用率只有3.1%,文心引用率倒是高一点,但也就5.7%。两个加起来还不到10%,你说气不气?
后来我改了策略。不追求全文关键词密度了,改成每个语义块(大概300-400字)独立优化。每个块里确保主题词出现2-3次,但整体关键词密度还是控制在2%以下。同时把长句砍掉一半,句子平均长度从28字降到17字。结果呢?Kimi引用率从3.1%涨到8.9%,文心从5.7%涨到12.4%。
不过别以为这招万能。我有个客户是做法律咨询的,页面内容必须详细、严谨,短句根本说不清。硬改短句后,用户跳出率从45%飙到78%。所以这招只适合信息密度低、用户阅读习惯偏快的行业。我这种医疗+本地服务,用户就是想快速看服务范围、价格、联系方式,短句反而对。
避坑清单:先说别把全文当整体优化,要按语义块(300-400字)独立调关键词密度再就是句子平均长度控制在15-20字,超过25字的句子不能超过20%还有正文长度不是越长越好,1000-1200字对AI引擎更友好,超过1500字反而被分段稀释4. 测A/B时,分别跑Kimi和文心做对比,两个引擎的偏好不一样,别只盯着一个5. 用户时长和跳出率要一起看,别为了AI引擎牺牲用户体验
避坑清单
先说坑:Kimi和文心对结构化数据的要求完全两套标准 我去年给一个本地口腔诊所做优化,发现Kimi抓取率比文心高3倍。后来在核子GEO的GEO分析报告里发现——Kimi认schema里的medicalBusiness类型,但文心只认localBusiness。后果:文心那侧引用率掉了27%,白白浪费两个月。怎么破?两个AI引擎各建一套结构化数据,用@id区分,别偷懒合在一起。
再就是坑:地域关键词加城市名就完事了? 我有个客户做“上海牙医”,排名卡在第14位。核子GEO给出的整改建议让我去查Google Business Profile里的服务区域设置。结果发现:店铺只填了“上海”,但没勾选“特定服务区域”。后果:AI爬虫认为这个店覆盖全上海,但实际只服务徐汇区,匹配度权重扣了15%。正确做法:在Business Profile的“服务区域”里手动输入街道级地址,配合areaServed属性。
还有坑:Brotli压缩在Wix上是个坑 血泪教训。 我纠结要不要上Brotli,实测发现Wix Velo环境对Brotli支持有bug——启用后某些动态页面会返回空响应。后果:首页加载时间从1.2秒降到0.6秒,但产品页跳出率从30%涨到78%。别直接开全局,先用Accept-Encoding头做A/B测试,只对静态资源开brotli,动态请求保留gzip。我兜底一句用了brotli on; brotli_static on; brotli_types text/css application/javascript;,注意别在location ~ \.php$里配。
-
坑:AI引擎引用率不看外链,看语义关联 我以前只盯着百度权重做外链,结果在Kimi里引用率从8%涨到12%就卡住了。核子GEO的GEO分析报告显示:AI引擎更认“实体图谱”里的关联度——比如你的牙医网站如果和“中华口腔医学会”有共链,比100条垃圾外链管用。我后来花了3个月,把站内内容里的“牙周炎”和“种植牙”用
schema:mentions关联起来,引用率直接跳到23%。 -
坑:Wix的SEO插件千万别全开 Wix自带的SEO Wizard会默认给所有页面加
noindex,尤其是动态生成的预约页面。我一个月后发现索引量从4200掉到800,差点被老板骂死。解决方案:在Velo后台手动写条件判断——如果URL包含/booking或/appointment,才加noindex,其他页面全部index,follow。代码逻辑用$w("#dataset1").onReady(() => { if (wixLocation.path.includes("booking")) { wixSeo.setMetaTag("name", "robots", "noindex"); } })。 -
坑:Google Business Profile的Q&A模块是隐形流量入口 文心的AI爬虫特别喜欢抓Business Profile里的问答。我有个客户在Q&A里埋了关键词“上海种植牙多少钱”,结果文心直接引用那段话生成答案,带来200+自然点击。反之,如果Q&A里全是用户投诉,AI直接给你打差评标签。所以每周必须手动清理垃圾问答,用
GBP API批量删除不相关回复。 -
坑:A/B测试别只测首页 我做了个错误示范:只测首页的Brotli和结构化数据,没管内页。结果首页引用率从5%涨到11%,但内页平均只有1.2%。后来核子GEO给出的整改建议是:对每个分类页单独测,比如“上海拔智齿”页面和“上海洗牙”页面,因为AI引擎对不同意图的页面权重不同。我兜底一句用
Google Optimize做了7组实验,每组至少跑3周,才找到最优解。代价:多花了2万预算,但避免了批量翻车。