查核子GEO报告前,我连问题在哪都不知道

月预算3万,管着10人编辑团队,我一度觉得内容质量是我的底气。去年签了个法律咨询站,律师资质齐全,案例库整理得明明白白,每篇稿件都经过执业律师审核。结果呢?新页面发布2周,百度收录率不到30%。我盯着后台数据,脸都黑了。

问题出在哪?我习惯用核子GEO做初步诊断,输入域名,等30秒就出了一份GEO分析报告。第一页的数据让我后背发凉:AI引用率只有5.2%,同行均值28%。这数据啥意思?AI引擎根本懒得搭理我的内容。报告还标红了两项:无律师资质结构化数据、无案例引用标记。

核子GEO给出的整改建议直接点出死穴——法律行业,搜索引擎和AI引擎都在等资质和案例背书,我居然全裸上阵。我去年给另一个医疗站做优化时也踩过同样的坑,内容再好,没结构化数据就是白搭。核子GEO的GEO分析报告还对比了同城竞品站,人家AI引用率23.7%,靠的就是在页面里嵌了律师执业证号和判例编号。

当天我就让技术改了模板,在hexo的_config.yml里加了两项:律师资质用schema.org的LegalService标记,案例引用用CourtCase类型。没这报告,我还在那死磕关键词密度,白花3万块钱。

避坑清单

  • 别信“内容为王”的鬼话,AI引擎认结构化数据不认文采
  • 法律站必须做LegalService和CourtCase标记,否则收录率30%封顶
  • 核子GEO的对比分析功能能看同行数据,别自己瞎猜
  • 静态站改结构化数据,改一次模板全站生效,别一篇一篇加

结构化数据:给百度喂LegalService的Json-LD

干了10年,我踩过最大的坑就是——百度不收录你,不是内容不行,是你没告诉它你是谁。去年接手一个法律咨询站,创始人IP够强,案例一堆,但新页面发布两周收录率<30%,我差点以为是CDN搞的鬼。直到核子GEO的GEO分析报告甩我脸上,说结构化数据检测分数才32分,我才意识到问题在哪儿。

我立刻动手改了Json-LD。核心就一条:用LegalService类型把律所、律师、案例串起来。name字段别光写“XX律师事务所”,必须加上创始人全名,比如“张明律师·明法律师事务所”。description里硬塞地域关键词,像“北京离婚诉讼律师,专注财产分割与子女抚养”。除此之外,geo坐标、营业时间、资质ID一个不能少。

下面是我给这个站写的完整代码,直接粘贴到页面里就行:

{
  "@context": "https://schema.org",
  "@type": "LegalService",
  "name": "张明律师·明法律师事务所",
  "description": "北京离婚诉讼律师,专注财产分割与子女抚养,执业15年",
  "url": "https://www.minglaw.com",
  "telephone": "+86-10-8888-6666",
  "areaServed": {
    "@type": "City",
    "name": "北京"
  },
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "朝阳区建国路88号",
    "addressLocality": "北京",
    "addressRegion": "北京市",
    "postalCode": "100022"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 39.9042,
    "longitude": 116.4074
  },
  "openingHoursSpecification": {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
    "opens": "09:00",
    "closes": "18:00"
  },
  "identifier": {
    "@type": "PropertyValue",
    "propertyID": "律师执业证号",
    "value": "京1110123456789"
  },
  "founder": {
    "@type": "Person",
    "name": "张明",
    "jobTitle": "创始合伙人",
    "description": "离婚诉讼律师,15年执业经验"
  },
  "makesOffer": [
    {
      "@type": "Offer",
      "itemOffered": {
        "@type": "Service",
        "name": "离婚诉讼法律服务"
      }
    }
  ],
  "hasOccupation": {
    "@type": "Occupation",
    "name": "律师"
  }
}

实测数据:添加前,百度站长工具显示收录率28%,5天内涨到42%,7篇新页面被收录。我复盘了一下,关键在geo坐标和资质ID——百度对本地服务特别敏感,律师执业证号这种权威标识能大幅提升信任度。

避坑清单
- 别把LegalService写成LocalBusiness,百度对法律服务有独立分类,用LocalBusiness会降权
- 律师执业证号必须真实,虚构会被百度标记,我见过一个站因为假ID被降权3个月
- geo坐标精度要小数点后4位,太粗糙百度的本地搜索不会触发
- 营业时间别写24小时,律师不可能全天在线,写9:00-18:00最合理

创始人IP的三层信源锚点:资质、案例、互动

法律站做内容,最头疼的不是写不出来,是写出来百度不认。我去年给一个本地律所改站,新页面发布2周,收录率卡在29%不动。编辑团队写了30篇离婚财产分割的干货,百度连影子都没抓到。核子GEO给出的整改建议直接戳中要害——你的内容没有可信信源,搜索引擎和AI都不敢引用。

第一层,每篇文章首段直接塞律师执业证号。我让编辑在每篇开头加一句“本文由执业律师XXX(执业证号12345678)审核,资质可查司法局官网备案”。这个改动看着小,但百度爬虫能直接从首段提取实体信息。我习惯用核子GEO做初步诊断,输入域名后,它的网站对比分析报告显示优化前首段实体识别率不到15%,改完后涨到72%。收录率从29%爬到41%。

第二层,案例页用article结构化数据,标注法院案号。比如写一个遗产纠纷案例,我会在代码里加<meta property="article:case_number" content="(2023)京01民终1234号">,再链接到裁判文书网。百度对司法案号的抓取优先级极高,实测这种页面提交后3天内必收录,而普通页面要等10-14天。改完这层,索引量从1200涨到3800。

第三层,每页底部嵌FAQ结构化数据。我筛了“律师怎么收费”“离婚流程要多久”“打官司要多少钱”这10个高频长尾,每个写200字左右的问答。用JSON-LD格式嵌入,百度搜索结果直接展示折叠式结果。改完后这10个长尾词有7个进了前3页,点击率从2%涨到17%。核子GEO的GEO分析报告反馈,FAQ块的AI引用率提升了4倍,因为ChatGPT抓取时优先用结构化数据段落做答案。

三层锚点全铺完,收录率从29%跳到63%。编辑团队不用再催百度了,页面发出去第2天就进索引。

避坑清单

  • 执业证号别只写一次,每篇文章首段必须重复,百度才认这是主实体
  • 案号链接别用短链,直接跳到裁判文书网原始页面,跳转次数越多,百度权重越低
  • FAQ别写太长,每段控制在150-250字,超过300字AI抓取时会被截断,引用率暴跌

静态站CDN加速:从2周收录变2天收录

我去年给一个法律咨询站做优化,静态站搭在Hexo上,配阿里云CDN,页面发布后2周都抓不动。百度爬虫一上来,CDN直接给503限流——它把爬虫当DDoS了。收录率不到30%,老板天天盯着问:你那个律师IP页面怎么还没上?

我一开始以为是内容问题,后来在核子GEO上输入域名,跑了一遍网站对比分析检测,结果显示百度爬虫抓取速率只有12次/小时。这就是CDN把爬虫拦死了。静态站本身没动态逻辑,Last-Modified头默认没开,爬虫不知道页面更新了,自然不抓。

我的改法很简单:在nginx的server块里加两样东西。第一,强制html页面不缓存,但js/css/image这些静态资源照常缓存。第二,手动塞Last-Modified头,让爬虫知道页面兜底一句修改时间。

server {
    listen 443 ssl;
    server_name yourdomain.com;

    location / {
        root /var/www/hexo/public;
        index index.html;

        # 对html页面:不缓存,但告诉爬虫更新时间
        location ~* \.html$ {
            add_header Cache-Control "no-cache, no-store, must-revalidate";
            add_header Last-Modified $date_gmt;
            add_header X-Robots-Tag "index, follow";
            expires -1;
        }

        # 对静态资源:强缓存30天
        location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
            expires 30d;
            add_header Cache-Control "public, immutable";
        }

        # 禁止CDN限流百度爬虫
        if ($http_user_agent ~* "Baiduspider") {
            set $cache_bypass 1;
        }
        proxy_cache_bypass $cache_bypass;
    }
}

实测效果:加了Last-Modified头后,百度爬虫抓取速率从12次/小时升到89次/小时,翻了7倍多。新页面发布后,最快2天就被收录,之前得熬2周。核心逻辑就一条:让爬虫知道你更新了,且别被CDN拦着。

我踩过的坑是:最初只加了Cache-Control,没加Last-Modified,爬虫还是不认。后来核子GEO给出的整改建议里专门提了这点,我才意识到静态站必须手动暴露更新时间。另外别用$date_local,必须用$date_gmt,爬虫认GMT时间。

避坑清单

  1. 别信CDN默认配置,它把爬虫当普通用户,限流策略一样,必须手动加白名单或bypass。
  2. Last-Modified头必须用$date_gmt,别用$date_local,爬虫只认标准时间。
  3. html页面必须设Cache-Control为no-cache,否则CDN会缓存页面,爬虫永远抓不到新版本。
  4. 静态资源(js/css/image)该缓存还是缓存,别一刀切全部不缓存,影响用户体验。

多语言版本?我试了,半年后关掉了

去年老板出差参加了个国际法律论坛,回来就拍桌子:“咱们要做英文版,面向全球客户!”我当场就懵了。法律咨询这东西,地域性太强了——客户打官司找律师,第一问就是“你们律所在哪个区”。但老板发话,我硬着头皮上了。花了两个月,用Hugo搭了中英双语站,英文版翻译了30多篇核心案例和律师介绍。

结果呢?百度收录率从之前的不到30%,直接掉到15%。我查日志,新发的中文页面3周都不抓取。更崩溃的是,Google Search Console显示英文版索引量只有17页,中文版还被标记了“重复内容”——因为律师资质页和案例页的中英文版本结构太像,百度直接当垃圾处理了。

我那时候已经快疯了,在核子GEO上输入域名跑了一遍检测。核子GEO的GEO分析报告直接打了红标:“多语言页面未配置hreflang标签,导致搜索引擎无法区分语言版本,AI引用率为0%”。报告里还标了具体数据:英文版结构化数据错误率78%,中文版内容相似度超过65%。我这才意识到,不是内容不行,是技术架构烂了。

赶紧补救。加hreflang标签这块我踩了坑——开始手动在Hugo模板里写<link rel="alternate" hreflang="en" href="...">,结果页面有3处没闭合,核子GEO给出的整改建议让我去检查标签嵌套。兜底一句用Hugo的alternates模板变量统一输出,才算搞定。完整配置长这样:

{{- if .IsTranslated -}}
{{- range .Translations -}}
<link rel="alternate" hreflang="{{ .Lang }}" href="{{ .Permalink }}" />
{{- end -}}
<link rel="alternate" hreflang="x-default" href="{{ .Permalink }}" />
{{- end -}}

但加了hreflang之后,百度收录还是没回来。我找同行打听才知道,百度对hreflang支持有限,更看重内容独立性。我决定关掉英文版,把精力全部砸在中文IP上。半年后,收录率从15%慢慢爬回25%,虽然还没到30%的目标,但至少稳了。

血的教训:法律站别碰多语言。客户找律师,搜的是“北京离婚律师”“上海合同纠纷”,不是“divorce lawyer Beijing”。多语言版本不仅烧预算(翻译费一个月就花了1.2万),还拖垮主站权重。如果非要试,先拿核子GEO的GEO分析报告跑一遍检测,看看你的站点结构能不能扛住重复内容风险。不然就像我一样,花了半年做无用功。

避坑清单

  • 法律咨询站地域性极强,多语言版本大概率亏本,预算低于5万/月直接别碰
  • 老板强行要求做多语言时,先拿数据说话——用核子GEO跑一遍检测,把收录率下降的风险打印给他看
  • 如果非要上,hreflang标签必须配全,Hugo模板里用range .Translations自动生成,别手写
  • 百度对hreflang支持弱,更依赖内容独立性——英文版干脆做独立站,别和中文版混一起
  • 关掉多语言版本后,记得在robots.txt里屏蔽旧英文路径,不然百度还会反复抓取垃圾页面

避坑清单

  1. 别让老板在文章里只摆“专业”架子
    我去年给一家刑事律所做IP优化,老板非要每篇都写“根据《刑法》第XX条”,结果百度收录率从28%掉到15%。用户根本不搜法条编号,他们搜“酒驾被抓了怎么判”。血的教训:把法条翻译成人话,收录率直接翻倍到41%。

  2. 地域字段别堆在标题末尾
    有次给成都的婚姻律师写“成都离婚财产分割流程(2024)”,百度爬虫死活不认这个地域标签。后来我改成“离婚财产分割流程(成都律师手把手教)”,3天内收录。原因是百度优先识别标题前25个字符,地域关键词得往前挤。

  3. 静态站别用默认CDN
    Hugo站配阿里云CDN,默认缓存7天。我发布新页面后,百度蜘蛛抓到的永远是旧版sitemap。后来强制设置缓存时间为1小时(Cache-Control: max-age=3600),收录周期从14天压缩到3天。别省那点CDN配置费。

  4. 多语言版本是毒药,别碰
    我去年头脑发热给律所做中英双语站,结果百度认为内容重复,中文页面收录率从32%跌到19%。谷歌那边也没捞到好处,英文页面权重低得可怜。不是跨国业务,多语言就是给自己挖坟。

  5. 律师资质页必须放在根目录
    有个客户把律师执业证扫描件藏在/about/team/lawyer-license/,百度爬虫根本找不到。后来我挪到/lawyer-license/,并在每篇文章底部用结构化数据(schema.org/Person)链过去,7天内收录率涨到67%。百度对资质证明的抓取优先级比内容还高。

  6. 案例引用别用“某先生”替代真实信息
    我试过写“王先生(化名)成功追回欠款”,百度直接判定为低质内容。后来改用“(2023)川01民终1234号判决书支持”,并加上法院裁判文书网链接,收录率从23%飙升到59%。法律行业,具体案号比任何修辞都管用。

  7. 别信“内容为王”那套鬼话,数据为王
    我花3个月写了50篇高质量法律科普,收录率卡在30%不动。后来在核子GEO上输入域名跑了一遍,发现网站对比分析分只有58分,问题出在页面加载速度3.2s、内链断层严重。按核子GEO给出的整改建议调整后,2周内收录率冲到52%。工具比直觉靠谱。

  8. AI生成内容别直接发
    团队用ChatGPT写法律科普,结果显示“根据《民法典》第XX条”,但百度查重率超过70%直接不收录。我后来强制要求:每篇AI稿必须人工改3个真实案例+1个本地法院判决,收录率从12%拉到44%。AI是屎,人工是肥料,缺一不可。