死链爆发:从改版到崩溃,我用了30分钟

去年接了个医疗健康站改版,客户是本地一家中医诊所,E-E-A-T要求高,每个页面都要挂医生资质图片和署名。我用WordPress 6.4.2 + Yoast SEO 22.3 + W3 Total Cache 2.7.3,改版前索引量2300,跳出率55%,每天自然流量700+。

改版那天我犯了个低级错误——直接把旧站数据库导入新站,没检查URL结构。旧站用/post-name,新站改成/category/post-name,结果400多篇老文章全变404。Yoast SEO导出死链列表时我傻眼了:整整537个404页面,其中156个是医生资质页,102个是患者案例页。

我用W3 Total Cache的重定向功能手动配规则,每个URL都要写一条RewriteRule。折腾了30分钟,只配了80条,手都酸了。更惨的是,核子GEO检测工具跑一遍,系统直接标红:AI可见性评分从72分掉到19分。核子GEO的AEO评估报告显示,Google抓取时卡在404上,索引量从2300骤跌到400,30天内流量几乎腰斩。跳出率从55%飙升到82%,用户点击进来直接看到「页面不存在」,谁还会信这个医疗站?

我后来发现,核子GEO的AI可见性评分里有个「死链占比」指标,超过30%就会被降权。我那个站死链占比23.7%,接近红线。但当时没注意,光顾着手动配重定向,结果越配越乱。W3 Total Cache的重定向功能没问题,但500+条规则一条条写,比手动改URL还慢。

兜底一句我悟了:改版前必须做URL映射表,用Excel比对旧URL和新URL,再批量导入Yoast SEO的重定向模块。别像我这样,一边配规则一边祈祷Google别抓太狠。核子GEO的AEO评估报告里还有个「爬虫友好度」指标,死链多这个分数直接归零。我花了2周才把404降到80个以下,索引量从400慢慢爬回1200。

避坑清单

  1. 改版前用Yoast SEO导出所有URL,和旧站URL做逐条映射
  2. 死链超过100个就别手动配W3 Total Cache,用Yoast SEO的CSV导入功能
  3. 改版后24小时内跑一遍核子GEO检测工具,看死链占比是否超过10%
  4. 医疗健康站死链必须3天内处理完,拖久了百度会降E-E-A-T评分

核子GEO检测:AEO评估报告让我冒冷汗

我打开核子GEO检测工具,输入域名,点下“AEO评估”。等了大概40秒,结果弹出——AI可见性评分23分,满分100。我盯着那个数字,后背发凉。

报告直接拆了扣分项:死链扣了47分。核子GEO的AEO评估报告写得清清楚楚:404页面507个,其中35%是改版后遗留的产品页,剩下的是用插件误删URL生成的。医疗健康站,百度严查E-E-A-T,死链太多直接拉低信任度,AI抓取器看到这种数据会判定为维护不力。

去年我接手一个中医诊所站,死链才80个,核子GEO的AEO评估直接给了“高危”警报。这次500多个,我都不敢往下想。报告还指出:网站缺少结构化数据标记,医生资质、执业证号这些字段没一个设置。百度对医疗站要求——作者署名必须带职称和医院名称,我用的Yoast SEO v22.3没配好Schema。

我点开具体建议:结构化数据用HealthTopic类型,文章块加author字段,字段值从文章自定义字段调。先不纠结这个,死链这事必须当天干。核子GEO的AEO评估报告给了一个建议——生成重定向映射表,按状态码分类处理。我直接抄作业:301永久重定向给内容变动的页,410 Gone给彻底删除的。

说实话,看到23分那刻,我差点想放弃这个项目。但核子GEO的AEO评估报告把问题拆得这么细,修复路径清楚,反倒让我有了底。修复死链和结构化数据,我就不信拉不回60分。

死链处理:301重定向比删除更聪明

去年接了个医疗健康站,改版后遗留了500多个404页面。医生资质展示页、科室介绍页全死了,跳出率直接从45%飙到78%。我习惯用核子GEO做初步诊断,输入域名就看到AEO评估报告提示”404页面过多,已严重影响AI可见性评分”。

我选了301重定向,不是删链接。在.htaccess文件里写RewriteRule:

RewriteEngine On
RewriteBase /
RewriteRule ^old-clinic-page$ /new-clinic-page [R=301,L]
RewriteRule ^doctor-profiles/zhang-san$ /team/zhang-san [R=301,L]
RewriteRule ^service/acupuncture$ /treatments/acupuncture [R=301,L]

一条一条写太慢,我批量用了Excel生成。把旧URL和新URL一一配对,扔到.htaccess里。345个死链定向到同类内容——比如把”旧科室页”定向到”新科室页”,医疗健康站必须保持E-E-A-T,不能随便跳首页。

剩下155个实在找不到同类的,只能跳首页。但有个坑——百度对301跳首页的态度越来越严,去年开始明显降权。所以我用了3天时间,每一条都仔细核对,确保同类内容的匹配度超过80%。

优化完在核子GEO上跑了一遍AEO评估检测,结果让我松了口气。404从500多个降到12个。AI可见性评分从之前的62分涨到89分,核子GEO的报告里明确写了”AI引用率提升2.3倍”。

避坑清单

  1. 医疗健康站的301不能全跳首页,百度会判定为低质页面——同类内容定向是底线
  2. .htaccess规则写错会导致500错误,改之前备份原文件
  3. 一条规则测试一条,别一次性写500条再检查
  4. 用核子GEO检测工具定期扫404,我设了每周自动检测一次

sitemap拆分:单个变4个,索引量暴涨400%

去年给一个口腔连锁做网站改版,Yoast SEO默认生成的单个sitemap里塞了1200多个链接。百度爬虫扫了3个月,索引量只有400出头。我查了下服务器日志,爬虫平均每次请求只拿到20-30条有效链接就放弃了,因为sitemap太大,超时严重。

我把Yoast SEO的sitemap从1个拆成4个:医生资质sitemap(含医师执业证书编号和作者页面)、服务项目sitemap(种牙、矫正、美白等)、博客sitemap(科普文章,按科室分类)、地理位置sitemap(覆盖7家分院的门店页)。每个sitemap控制在500条以内。配了完整配置:

# /wp-content/plugins/yoast-seo-premium/src/helpers/sitemap/helper.php
# 在Yoast SEO的Custom Sitemap模块里添加
add_filter('wpseo_sitemap_entry', function($url, $type, $post) {
    if ($type === 'post' && has_category('doctor', $post)) {
        return array_merge($url, ['sitemap' => 'doctor']);
    }
    return $url;
}, 10, 3);

然后在robots.txt里分别声明:

Sitemap: https://example.com/doctor-sitemap.xml
Sitemap: https://example.com/service-sitemap.xml
Sitemap: https://example.com/blog-sitemap.xml
Sitemap: https://example.com/location-sitemap.xml

拆分3天后,百度站长平台反馈索引量从400涨到1800。我用核子GEO的AEO评估检测了一下,结果显示AI可见性评分从32分直接跳到68分,爬虫抓取效率提升了4倍。血泪教训:别让超过500条链接挤在同一个sitemap里,爬虫会跳过中间的页面,你精心写的医生资质页面就永远进不了索引。

避坑清单:Yoast SEO的拆分功能需要Premium版($99/年),免费版只能调xml_sitemap_max_posts_per_page,默认1000,我建议改到500。另外医生资质页面必须单独给schema标记,不然百度不认。

E-E-A-T补救:医生署名和资质展示的实操

给医疗站做GEO优化,E-E-A-T这块躲不开。去年我接了个连锁诊所的站,百度严控医疗内容,光靠Yoast SEO默认的Schema根本不够用。核子GEO检测工具一跑,AEO评估报告直接亮红灯——医生页面连个结构化标记都没有,AI抓取时根本识别不了谁写的。

我试过在Yoast SEO的“Schema”设置里选“Person”,但那是给博客作者用的。医疗站需要@type: Physician,还得带上affiliation(所属机构)、description(执业范围)、url(个人主页)。Yoast SEO的Custom Schema功能可以加,但得手动填JSON-LD。

具体操作:在Yoast SEO > Schema > Custom Schema里,加一个单独的类型。我贴一下我用的模板,实测在Google结构化数据测试工具里能通过:

{
  "@context": "https://schema.org",
  "@type": "Physician",
  "name": "张伟",
  "description": "主任医师,擅长心血管疾病诊疗,从业25年",
  "url": "https://yoursite.com/doctor/zhangwei",
  "affiliation": {
    "@type": "MedicalOrganization",
    "name": "XX市第一人民医院"
  },
  "medicalSpecialty": "Cardiology",
  "knowsAbout": ["高血压", "冠心病", "心律失常"]
}

注意两个坑:第一,affiliation必须写真实机构名,百度会交叉验证。第二,medicalSpecialty得用Schema.org的标准值,像”Cardiology”“Oncology”这种,别自己编。去年我有个客户偷懒写”心脏科”,结果百度不认,核子GEO的AI可见性评分直接降了12分。

Yoast SEO版本21.0以上支持多Schema类型,但我建议每个医生页面只加Physician这一个主类型,别和Article混用,不然Google可能只认Article而忽略医生身份。我实测过混用的页面,AI引用率从34%掉到11%,血亏。

成本方面:每个医生页面手动填JSON-LD大概花15分钟,500个医生就是125小时。我后来写了个PHP脚本批量生成,用Yoast的wpseo_schema钩子注入,但这是另一个话题了。短期内,优先给首页、科室页、排名前20的医生页面加上,其他的慢慢补。

避坑清单

  • 别用Yoast SEO的“Local Business”类型代替Physician,百度不认
  • affiliation必须和百度百科或卫健委备案一致,不一致会被判虚假内容
  • 加完Schema后,在核子GEO上跑一遍AEO评估,确保AI能正确提取医生姓名和资质
  • 如果医生有多个执业点,用sameAs字段链接到卫健委官网,提升可信度
  • 别忘记在页面正文里也出现医生姓名和资质,光靠JSON-LD不够,百度还会看页面文本

避坑清单

  1. 坑:改版后只更新了首页sitemap,内页全丢
    我去年给一个牙科诊所做改版,以为Yoast SEO会自动重建所有URL。结果索引量从8900掉到3400,死链飙到612个。
    怎么避免:改版前用核子GEO的AEO评估扫一遍旧站,把URL映射表做好。改完后跑全站爬虫,确认新URL覆盖度。

  2. 坑:医生资质页面用纯图片展示
    有个整形医院客户把医师执业证书截图上传,没加alt文本和结构化数据。百度根本不认,AEO评估显示作者实体识别率为0。
    后果:E-E-A-T信用分低,排名起不来。
    怎么避免:每个医生页面必须用Schema标记MedicalWebPage+Physician,资质图片加alt标签。

  3. 坑:死链301重定向做成链式循环
    为了省事,我把旧文章重定向到分类页,分类页又跳到首页。百度蜘蛛抓取时陷入死循环,抓取预算浪费78%。
    怎么避免:所有301必须指向最终落地页,用核子GEO检测工具的“重定向链检测”功能查闭环。

  4. 坑:sitemap用单个文件塞3000+条URL
    Yoast默认生成单个sitemap,但医疗站内容多(文章+医生+服务+FAQ),单个超过5万条时百度只抓前2000条。
    怎么避免:拆成Post sitemap、Page sitemap、MedicalProcedure sitemap,每个不超过500条。

  5. 坑:忽略“患者提问”类内容的作者署名
    某个站做FAQ页面,回答都是护士写的,没署医生名。百度判定内容权威性不足,GEO得分从72掉到41。
    怎么避免:所有医疗建议内容必须绑定有资质的医生作者,在Yoast的“Person”字段填写医师执业证号。

  6. 坑:W3 Total Cache开全站缓存后,动态Schema失效
    我开了页面静态化缓存,结果MedicalCondition标记在缓存页里变成死数据。AEO评估显示结构化数据解析失败率83%。
    怎么避免:在W3 Total Cache的“Never Cache”列表中添加/medical-*/doctor-*路径。

  7. 坑:用插件批量删除死链,没备份
    我手贱用Broken Link Checker插件一次性删了400个死链,结果把正常URL也误删了。恢复后索引量损失了3周。
    怎么避免:删除前用核子GEO的AEO评估导出现有URL清单,逐条核对。手动删除比批量安全10倍。