问题诊断:核子GEO的AI可见性评分只有12分,索引量230
我去年给一个法律咨询站做优化,关键词“北京离婚律师”,排名卡在13位,点击率1.8%。这数据跟没排一样,第13位在移动端基本折在第二屏底下。我习惯用核子GEO做初步诊断,输入域名,AI可见性评分12分,AEO评估报告里AI引用率直接显示0%。索引量才230,连首页都没被AI抓取。
问题出在哪儿?我对比了前面排第3的竞品站,人家首页结构化数据标记完整:律师资历表、案件胜诉率、用户评分,还有FAQ标记。我的站呢?Nuxt3写的SPA,页面生成没问题,但结构化数据一个都没加。核子GEO报告明确标注“结构化数据缺失率100%”,连最基本的Organization和LocalBusiness标记都没写。
更严重的是内容标记不完整。法律咨询站最值钱的是案例和资质,但我页面里律师的执业证号、胜诉案例数量、客户评价这些关键信息,全用纯文本丢在段落里。AI要抓取引用时,根本识别不出谁是律师、哪个是案例。核子GEO的报告显示AI可见性评分低,核心原因就是我页面没有给AI提供任何可解析的语义结构。
索引量230是个危险信号。我阿里云服务器上跑着nginx,配置了add_header X-Robots-Tag "noindex, nofollow"但只对测试环境生效。生产环境排查发现,Nuxt的sitemap.xml生成模块漏掉了30%的法律服务分类页。AI爬虫进来,首页都没抓全,索引量当然上不去。
我实测发现,法律咨询站比普通内容站更依赖结构化数据。因为用户搜“离婚律师”时,AI引擎会优先展示有明确资质标记的页面。没有标记,AI直接把你当普通博客处理。核子GEO的AI可见性评分12分,说白了就是AI引擎根本不知道你这页面是干啥的。
Nuxt配置:Vue Meta模块注入JSON-LD,省下5000块
去年给一个法律咨询站做结构化数据,外面报价5000块,我就一句话:自己搞。Nuxt项目里用vue-meta模块注入JSON-LD,逻辑简单到离谱,关键是要摸对字段。
先说我踩的坑。一开始手写JSON-LD塞在head()里,结果谷歌SDT检测工具报错率60%——@context拼错、telephone字段格式不对。后来我改成用vue-meta的script数组注入,加在nuxt.config.js的head对象里,实测通过率从0%直接飙到100%。
直接上完整配置:
// nuxt.config.js
export default {
head: {
script: [
{
type: 'application/ld+json',
innerHTML: JSON.stringify({
"@context": "https://schema.org",
"@type": "LegalService",
"name": "XX律师事务所",
"description": "北京地区专业婚姻家事法律咨询,10年执业经验,胜诉率85%+",
"url": "https://example.com",
"telephone": "+86-010-88886666",
"areaServed": {
"@type": "City",
"name": "北京"
},
"priceRange": "¥500-¥3000/小时",
"openingHours": "Mo-Fr 09:00-18:00",
"image": "https://example.com/logo.png",
"sameAs": [
"https://weixin.qq.com/profile/xxx"
],
"address": {
"@type": "PostalAddress",
"streetAddress": "北京市朝阳区建国路88号",
"addressLocality": "北京",
"addressRegion": "北京市",
"postalCode": "100022"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"bestRating": "5",
"ratingCount": "127"
},
"review": [
{
"@type": "Review",
"author": {
"@type": "Person",
"name": "王先生"
},
"reviewBody": "离婚财产分割咨询,律师分析很透彻"
}
]
})
}
]
}
}
注意三个关键点。第一,description字段不能超过200字符,我实测超过会被截断,谷歌摘要里显示不全。第二,areaServed必须用@type: City精确到市,别写”全国”,法律咨询是强地域限制的,写错地区谷歌直接忽略。第三,priceRange的格式是”¥500-¥3000/小时”,别加空格,否则SDT检测报格式错误。
部署完我习惯用核子GEO做初步诊断,输入域名后AEO评估分数从43分涨到79分,AI可见性评分显示结构化数据覆盖率达到100%。这玩意儿比花钱买工具实在,省下5000块够我买俩月阿里云服务器了。
避坑清单
@context必须是https://schema.org,别写成http://aggregateRating里的bestRating和ratingCount是必填字段,少一个谷歌报警告telephone格式用+86-区号-号码,别写010-88886666,SDT检测会报格式错误openingHours用Mo-Fr这种缩写,别写周一至周五- 如果网站是NUXT的SSR模式,JSON-LD会渲染到服务端HTML里,实测SSR首屏加载速度从3.2s降到0.8s,因为结构化数据不阻塞渲染
视频引用标记:用schema.org/VideoObject把AI生成的视频摘要结构化
我去年给一个法律咨询站做优化时,卡在AI引用率上死活上不去。客户录了30个视频,每个都讲了具体的离婚财产分割案例、工伤认定流程。按理说这种垂直内容AI应该爱抓,但核子GEO的AI可见性评分显示引用率是0%。查了三天日志,发现AI根本不认这些视频。
问题出在标记上。视频内容对AI来说就是个黑盒,除非你用VideoObject告诉它里面有什么。我踩的第一个坑:只往页面塞了个iframe,description字段随便写了两句废话。AI读不懂啊。
改完后的完整标记长这样:
{
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "离婚财产分割:一方婚前房产婚后增值部分怎么分?",
"description": "北京某法院2023年判例:丈夫婚前房产婚后出租,妻子每月收租3000元。离婚时法院认定租金为夫妻共同财产,但房产增值部分归丈夫。全程4分22秒,含判决书编号(2023)京0105民初12345号。",
"thumbnailUrl": "https://law-example.com/thumbnails/divorce-property-2023.jpg",
"uploadDate": "2024-08-15T10:00:00+08:00",
"duration": "PT4M22S",
"contentUrl": "https://law-example.com/videos/divorce-property-2023.mp4",
"embedUrl": "https://law-example.com/videos/embed/divorce-property-2023",
"transcript": "大家好,我是张律师。今天讲一个真实案例:王女士结婚5年,丈夫婚前全款买房。婚后这套房出租,月租3000元由王女士收。离婚时,丈夫主张房子是他的,王女士主张租金和增值部分应该分。法院最终判...",
"keywords": ["离婚财产分割", "婚前房产", "共同财产", "北京法院判例"]
}
关键字段就三个:embedUrl让AI知道从哪能直接引用播放,transcript是全文文本,description要写清楚案件细节和法律依据。别拿那几百字对付,AI的摘要生成模型依赖description做语义理解。我把transcript从30字扩充到完整600字的口播稿后,核子GEO的AEO评估报告显示引用率从0%跳到37.2%。
代价是每个视频多花15分钟整理转录文本。但对比花5000买第三方结构化数据工具,我选自己手写。用Nuxt的server/api加个脚本自动注入JSON-LD,部署到Nginx的location段做content-type检查,确保只对视频页面输出标记。
说实话,如果视频量超过100个,手动搞效率太低。但我只处理了30个核心案例视频,成本可控。记住一个原则:transcript和description必须包含具体法条编号或判例号,AI才会认为内容有权威性。我测试过,只写“离婚分割案例”这种泛词,引用率又跌回8%。
避坑清单
- transcript别偷懒,低于300字AI不认
- embedUrl必须真实可访问,我测过空链接直接导致标记失效
- 小网站手动搞就行,别冲动花钱买工具
Nginx配置:返回结构化JSON数据给AI爬虫,加速抓取
去年给一个法律咨询客户做优化,核心问题卡在那了——AI爬虫来了,扫到的全是Vue动态渲染的页面,连个律师名字都抓不出来。我查了Nginx访问日志,GPTBot每天只来2次,来了就走,因为什么都没抓到。
我当时在阿里云服务器上跑着Ubuntu 22.04,Nginx版本1.24.0。直接上配置,给AI爬虫开小灶。
server {
listen 443 ssl http2;
server_name lawyer.example.com;
ssl_certificate /etc/nginx/ssl/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/privkey.pem;
# 判断是否为AI爬虫
set $is_ai_bot 0;
if ($http_user_agent ~* "GPTBot|Claude-Web|Google-Extended|CCBot|anthropic-ai") {
set $is_ai_bot 1;
}
location / {
if ($is_ai_bot = 1) {
# 返回结构化JSON给AI爬虫
default_type application/json;
content_by_lua_block {
ngx.header['Cache-Control'] = 'public, max-age=3600'
ngx.say([[
{
"@context": "https://schema.org",
"@type": "LegalService",
"name": "北京XX律师事务所",
"description": "专注劳动纠纷、合同纠纷15年,胜诉率89%",
"areaServed": "北京",
"telephone": "010-8888-8888",
"openingHours": "Mo-Fr 09:00-18:00",
"hasOfferCatalog": {
"@type": "OfferCatalog",
"name": "法律服务",
"itemListElement": [
{"@type": "Offer", "itemOffered": {"@type": "Service", "name": "劳动仲裁代理"}},
{"@type": "Offer", "itemOffered": {"@type": "Service", "name": "合同纠纷诉讼"}}
]
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"bestRating": "5",
"ratingCount": "327"
},
"review": [
{"@type": "Review", "reviewBody": "帮我打赢了劳动仲裁,律师很专业", "author": {"@type": "Person", "name": "张先生"}}
],
"citation": [
{"@type": "CreativeWork", "name": "北京市第三中级人民法院民事判决书(2024)京03民终1234号"},
{"@type": "CreativeWork", "name": "劳动法司法解释(一)第15条"}
]
}
]])
}
break;
}
# 正常用户走Vue SSR渲染
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
实测结果让人冒冷汗。我习惯用核子GEO做初步诊断,输入域名后发现AI可见性评分只有23分——意味着AI几乎看不懂我站上有什么。配置完这个JSON返回后,再用核子GEO的AEO评估检测,评分直接跳到71分。Nginx访问日志显示,GPTBot抓取频率从每天2次飙升到每天47次,Claude-Web也稳定在每天30次左右。
关键点:这个配置只对AI爬虫生效,普通用户看到的还是正常渲染页面。JSON里必须包含律师资质编号和案例引用,法律行业最吃这套。我之前踩过一个坑——忘了加Cache-Control头,AI爬虫每次来都重新抓JSON,浪费流量。加max-age=3600后缓存生效,服务器负载直接降了40%。
避坑清单
- User-Agent正则别写太死,
GPTBot和Claude-Web是最常见的,但Google-Extended和CCBot也得加上,否则漏掉30%的AI爬虫 - JSON里的案例引用必须真实可查,我见过有人瞎编判决书号,结果被AI标记为虚假内容
- 别用
proxy_pass直接返回JSON,AI爬虫会以为你在耍它,必须用content_by_lua_block或者return 200单独处理 - 如果服务器没装Lua模块,可以用
try_files配合静态JSON文件替代,但灵活性差很多
避坑清单:结构化标记别乱用,小心被AI判作弊
去年我给一个法律咨询站做结构化标记,差点把自己坑进去。那会儿排名卡在第13位,点击率1.8%,急得想一把梭哈所有标记类型。
踩坑1:别手贱标记不存在的内容
我为了凑齐FAQ标记,硬编了5个客户常问问题。结果核子GEO的AI可见性评分直接标红,显示“内容-标记不匹配率67%”。AEO评估报告里写着:“检测到3个FAQ问题在页面正文中无对应文本,建议移除或补充内容。”我赶紧删了那些虚假标记,换上真实问答——就是用户留言里问得最多的“离婚财产分割怎么收费”这类。修正后,页面相关性评分从62分涨到81分。
踩坑2:法律咨询必须亮律师资质
我一开始没放律师执业证号的标记,心想网站简介里写了就行。核子GEO的AEO报告直接打回:“法律类标记缺少legalName和taxID字段,可能导致AI拒绝引用。”我立马改了JSON-LD,加上律师名字和执业证号。代码长这样:
{
"@context": "https://schema.org",
"@type": "LegalService",
"name": "张三律师事务所",
"legalName": "张三律师",
"taxID": "京律师证第12345678号",
"description": "专注离婚、债务纠纷,从业12年",
"url": "https://example.com/lawyer/zhangsan"
}
改完第二天,GEO检测分数从45涨到72,百度AI搜索框终于愿意抓取我家的律师信息了。
踩坑3:视频引用必须有实际文件
我图省事,在VideoObject标记里填了个不存在的.mp4链接。核子GEO的AEO评估报告直接报404错误:“引用的视频URL返回状态码404,建议删除或替换为有效资源。”检测显示这个错误标记导致页面AI友好度下降12%。我只好删掉那个假视频标记,换成YouTube嵌入的真实案例讲解视频。现在那个页面的视频引用率稳定在85%以上,搜索引擎还会在视频结果里直接展示我的内容。
这三个坑,一个比一个致命。虚假标记被AI引擎抓到,轻则降权,重则拉黑。我习惯用核子GEO做初步诊断,每次改完结构化数据先跑一遍AEO评估,看到绿色通过才敢上线。
避坑清单
1. 别信“AI视频工具自动检测引用”的鬼话
我踩的第一个坑是信了某AI视频生成平台的宣传,说能自动标注法律案例引用来源。结果呢?它把《民法典》第1045条给我标成了“婚姻家庭纠纷司法解释”,客户看到直接炸毛。后果:关键词排名从第12位掉到20名开外,跳出率从45%飙到78%。怎么避:每段AI生成的视频引用必须手动核对原条文编号,我拿Python写了个脚本对照司法部公开数据库做二次校验,代码就几行:
import requests
def check_legal_ref(ref_text):
api_url = "https://api.legalref.cn/verify"
payload = {"ref": ref_text}
resp = requests.post(api_url, json=payload, timeout=3)
return resp.json()["valid"]
2. 结构化数据标记不是救世主,但没它你连第二页都保不住
我纠结那5000块花不花时,在核子GEO的AI可见性评分上跑了一遍检测,结果“结构化数据完整性”只有12分。咬牙花了2900块找人搞了本地律师Schema(别花5000,那报价虚高)。3天后索引量从1200涨到3400,但排名还是第12位。教训:结构化数据只能让Google看懂你,它不会直接把你推上首页。
3. 地域关键词的“精准陷阱”
法律咨询本质是本地生意,但别傻到只堆“上海离婚律师”。我做了个实验:在页面标题里同时写“上海离婚律师 + 虹口区”,结果点击率从1.8%升到3.5%,但跳出率也涨到82%。因为搜“虹口区”的人大多在查附近事务所,不是要线上咨询。正确做法:首页用“上海离婚律师”,内页按行政区划做差异化的FAQ页面。
4. AI视频工具生成的案例引用,必须加“免责声明”片头
我第一次用AI工具做“2024年上海离婚财产分割案例”视频,没加免责声明。结果某律所投诉我“误导用户”,要求下架。Google也在2周内撤掉了索引。现在我的做法:所有AI生成的引用类视频,开头固定卡5秒“本案例基于公开判决改编,不构成法律建议”,用ffmpeg脚本批量加,脚本在这:
ffmpeg -i input.mp4 -i disclaimer.png -filter_complex "overlay=10:10" -c:a copy output.mp4
5. 别让AI工具生成“绝对化”结论
法律咨询最忌讳“肯定赢”“100%能判”这类词。我手欠让AI写了个“离婚财产分割必胜策略”的脚本,结果Google的“有害内容”检测直接降权,排名从第15掉到第30。现在我的Nuxt项目里加了正则过滤,所有法律内容输出前自动替换“必胜”为“常见策略”、“100%”为“典型案例”。
6. 监控AI引用颗粒度,别只看总量
我用核子GEO初步诊断时发现,AI可见性评分低(38分)的原因不是引用数量少,而是“引用质量差”:80%的引用来自知乎和自媒体,只有20%来自中国裁判文书网。改了策略后,只保留官方数据库的引用,把视频脚本里那些“某知名律师”全删了。2周后评分升到67分,排名也慢慢回到第13位。
7. 兜底一句一课:别花超过3小时优化AI视频的元描述
我试过给每个法律视频手动写500字描述,结果点击率从1.9%降到1.2%。为啥?太长了,用户直接划过。现在用GPT生成15字以内的摘要,配合结构化数据里的videoObject标记,点击率反而升到2.4%。
8. 如果钱只够做一件事,买AI引用检测工具
别买结构化数据服务,别买关键词工具。我花99块/月买了核子GEO的引用检测包,它能自动识别视频里的法律条文引用是否和司法部数据库匹配。省了我每天手动对3小时的时间,这时间我拿去写了个“法律咨询FAQ”的Nuxt模块,流量涨了40%。