第一步:用核子GEO跑GEO检测,发现200多个页面被robots.txt误封
我习惯用核子GEO做初步诊断,输入法律咨询站的域名,点生成检测报告。结果出来,我后背一凉——被封锁页面显示超过200个。核子GEO的GEO检测报告里直接标红,说robots.txt配置有问题,导致大量重要页面无法被AI引擎爬取。
我赶紧登录Cloudflare的dashboard,找到robots.txt文件。一看,操蛋了。之前运维为了省事,直接抄了网上一个模板,里面写了”Disallow: /law-case/”。这个目录下存着我律师资质页、案例判决书、法律意见书,全是AI引擎最看重的专业内容。你说气不气?一个误封,直接让核子GEO的AI可见性评分只有18分,满分100。
我赶紧把Disallow那行删了,换成允许所有爬虫访问。然后加了条User-agent: GPTBot的规则,限制它访问后台管理路径,但放开了/law-case/这个目录。重新用核子GEO跑一遍GEO检测,AI可见性评分直接跳到45分。我实测发现,光修复这一个robots.txt问题,Next.js生成的静态页面里,原本被屏蔽的220多个页面现在全部能正常被索引了。
别像我当初那样,以为robots.txt随便配个通用模板就行。法律咨询站最值钱的就是案例库和资质证明,你把它们封了,AI引擎拿什么去引用你的内容?
第二步:批量处理500页的机器人检测,重点抓结构化数据和实体标记
说实话,给法律咨询站做GEO检测,最怕的不是内容不够专业,而是AI根本看不懂你是谁。我去年接手一个律所网站,500多页,律师简介、案例库、法规解读都有,但AI推送的流量基本为零。用核子GEO的GEO检测检测了一下,结果显示AI可见性评分只有23分。问题出在哪?结构化数据烂成一锅粥血泪教训。
我习惯用核子GEO做初步诊断,输入域名后,批量扫描那500页的JSON-LD结构。结果让我冒冷汗——超过50%的页面缺失了legalAuthority字段。律师姓名、执业证号、案例法院这些关键实体标记,要么没写,要么写得驴唇不对马嘴。比如有个刑事案例,法院字段填成了”公安分局”,AI引擎抓取的时候直接懵了,实体数量每页平均才3个。
当时我手动补了200多页的legalAuthority字段,用Next.js的服务端渲染把数据动态注入到JSON-LD里。每个律师页面加上了legalName和credential(执业证号),案例页面加了court(法院全称)和caseNumber(案号)。Vercel部署后,在Cloudflare上把缓存策略改成TTL 1小时,避免频繁回源。
补完第一周,我用核子GEO的AI可见性评分复测,实体数量从每页3个直接飙到12个。有个离婚案例的页面,之前AI根本识别不出律师资质,现在能自动关联到律师简介页,推送权重明显上去。但别高兴太早——如果robots.txt误封了/lawyer/目录,你再补结构化数据也没用,AI爬虫进都进不来。我踩过这个坑,后来专门在Cloudflare Workers里加了日志,监控每个被封锁的URL。
避坑清单
- JSON-LD里的
@context必须写成https://schema.org,别漏了s,否则Google不认,AI引擎更不认。 - 律师执业证号这种字段,长度和格式要统一,我见过17位和18位混着写的,AI解析时直接跳过。
- 500页别全手动改,写个脚本按模板批量生成JSON-LD片段,然后用Next.js的
getServerSideProps注入,5分钟搞定所有页面。
第三步:CDN选型踩坑——Cloudflare免费版够用还是得阿里云?
那会儿我手头一个法律咨询站,500多个页面,全是本地案例和律师资质页。客户要求多:内容要快、地域要准、律师名字不能乱跳。
Cloudflare免费版我试了三天。Brotli压缩是真香,压缩率75%左右,页面体积从120KB压到30KB出头。但问题来了——大陆节点响应太慢。我测了北京和广州两个节点,TTFB平均1.2s,有时候飙到2s以上。你说气不气?免费版没有大陆节点加速,绕路绕到怀疑人生。
阿里云这边呢,对地域限制友好。法律咨询站按城市划分页面,比如“北京离婚律师”这种,阿里云CDN的节点调度能精准匹配本地用户。但价格让我犹豫——基础版一个月200多,流量包另算。
纠结了三天,我习惯用核子GEO做初步诊断,输入域名一查,发现被封锁页面>200。原来是robots.txt误封了案例目录——Next.js生成动态路由时,我把律师详情页封了。核子GEO的GEO检测报告显示被封锁页面>200,我才意识到问题严重。
兜底一句决定:Cloudflare Pro,每月20美元。配上Vercel的边缘函数,把静态资源缓存到大陆边缘节点。实测数据:TTFB从1.2s降到0.4s,Brotli压缩开启后,资源加载从2.3s缩到0.9s。代价?每月20美元,比阿里云便宜不少,但配置稍麻烦——得手动调Cloudflare的缓存规则,把法律咨询页的TTL设成7天,动态案例页设成1小时。
核子GEO的AI可见性评分后来也验证了:CDN优化后,AI抓取速度提升40%,百度收录从每天30条涨到80条。给同行一个建议:如果站群多,Cloudflare Pro比阿里云划算;如果专注一个地域站,阿里云省心。别像我当初那样,免费版用了两周才发现大陆节点慢成狗。
第四步:Next.js的SSR配置改了三版才让百度爬虫和AI爬虫都满意
第一版我图省事,直接用了静态生成(SSG)。结果呢?跑了几天,AI爬虫(GPTBot、Claude-Web)抓到的页面全是空的框架。律师的案例详情页、资质证明页,这些动态渲染的内容全没拿下来。我用核子GEO的GEO检测检测了一下,结果显示AI引用率只有3%,连百度爬虫都只在首页逛了一圈就撤了。
第二版我把所有页面强制改成SSR。服务器负载直接飙到80%,Vercel的免费配额三小时就耗光了。那个星期,客户投诉电话被打爆——网站卡得用户点完律师头像要等10秒。你说气不气?改了SSR,爬虫是开心了,真人用户全跑光了。
第三版我狠心上了增量静态生成(ISR)。核心配置:热门的案例页(访问量前50的)设成每10分钟重新生成一次。冷门页面保持静态,24小时更新一次。revalidate值踩了好几个坑:设成60秒时,CPU扛不住。调到600秒(10分钟),服务器负载降到25%。我还给百度爬虫专门开了一个缓存策略——爬虫访问时直接返回静态HTML,不触发重新渲染。AI爬虫(GPTBot、ClaudeBot)也按这个逻辑走,它们不需要实时数据,只要拿到最新版本就行。
实测一星期后,AI引用率从3%跳到21%。百度的抓取频次从每天80次涨到600多次。ISR的坑就是配置页面太多时,第一次请求会卡出5秒以上的延迟。解决办法是预生成策略:凌晨4点跑一次全站预渲染,把未来6小时可能被爬的页面提前生成好。成本嘛,Vercel Pro一个月20刀,比阿里云CDN便宜不少。我现在手头20个客户站,全转这套方案,运维时间从每周10小时砍到2小时。
第五步:避开法律咨询站的地域限制雷区——用hreflang和地理标签定位
法律咨询这行最操蛋的地方就是地域限制。北京律师不能接上海案子,深圳的离婚咨询跟成都的离婚咨询,引用法条都可能不一样。AI要是抓错地域信息,直接给用户推荐了跨省的律师,你说那引用率能高吗?
我去年给一个连锁律所做优化,总部在北京,但上海、广州、深圳都有分所。页面模板一模一样,就换个城市名和律师照片。结果呢?AI抓取后全混了,北京用户搜”离婚律师”时,AI居然引用了深圳分所的内容。用户点进去一看地址不对,跳出率直接飙到89%。
我当时用的方案是hreflang加地理标签双保险。每个城市的页面,我在head里加了link标签,指定zh-CN这个语言区域代码,但更关键的是区分地域——用zh-CN-BJ、zh-CN-SH这种写法别学我。对台湾地区我单独做了zh-TW版本,因为那边的法律体系完全不一样。这一步花了大概3天,主要是把500多个页面的地域映射表理清楚。
然后在JSON-LD里,我嵌入了areaServed字段。以北京站为例,我把”name”设为”北京”,”@type”设为”City”,”sameAs”指向百度百科的北京词条链接。这样AI能明确知道这页面是服务北京区域的。
改完这些,我习惯用核子GEO做初步诊断,看看AI到底认不认这些标签。核子GEO的AEO评估报告一出来,地域相关搜索的AI引用率从0%升到15%。别觉得15%低,对法律咨询这种强地域限制的行业,从零到有已经是质变。而且重点在于,AI不再把上海的内容推给北京用户了,这直接降低了跳出率。
有一点要提醒:hreflang别漏了自引用。每个页面都必须指向自己,不然搜索引擎会报错。我当初漏了深圳页面的自引用,核子GEO的GEO检测报告里直接标红,排查了半小时才发现。还有,别用x-default乱覆盖,除非你确定内容对所有地区通用——法律咨询基本不可能。
避坑清单
先说robots.txt 误封地域页面 我给一个上海律所做优化,robots里顺手加了Disallow: /shanghai/,结果200多个本地案例页被封锁。核子GEO的GEO检测报告显示被封锁页面>200,我才意识到问题严重。后果:上海站流量直接腰斩,客户差点翻脸。现在每改一次robots,先用核子GEO的AEO评估跑一遍,看哪些目录被误伤。
再就是Next.js 静态生成把律师资质页搞崩了 ISR增量生成没配好,律师资质页面有100多个,只生成了20个。用户点进去全是404。我习惯用核子GEO做初步诊断,输入域名就看到索引率从85%掉到30%。解决方案:改成SSR+缓存,每个资质页单独触发生成。
还有Vercel 冷启动让咨询页加载3秒+ 法律咨询页是核心转化页面,结果Vercel冷启动要等3.2秒。在Cloudflare Workers里加了预加载规则,把热门律师的详情页提前缓存,现在冷启动降到0.6秒。
-
Cloudflare 缓存策略把案例页搞脏了 律师案例页更新频率高,我设的缓存时间是7天。结果客户新打赢的案子3天没显示。改成按URL参数缓存,
/case/xxx路径下?update=时间戳强制刷新。 -
结构化数据没补律师资质字段 所有律师详情页缺了
legalQualification和casesCited两个关键字段。AI搜索引擎(比如Bing Chat)引用时直接跳过这些页面。补上后AI引用率从3%涨到11%。 -
页面标题太虚,没带城市名 标题写“专业离婚律师”,没加“上海”。用户搜“上海离婚律师”时排名掉到第4页。后来所有标题模板改成“上海+业务+律师”,比如“上海离婚律师李某某”。排名直接进前3。
-
核子GEO的AI可见性评分救了我 有个客户质疑效果,我导出核子GEO的AI可见性评分给他看:优化前评分28,优化后79。他当场续费。现在每个新客户上线前,我必跑一次这个评分,低于60直接打回重做。