第一周:用核子GEO诊断,发现AI根本看不懂我的图

说真的,接手这个医疗健康站的时候,我压根没往图片上想。

百度严控医疗行业,我满脑子都是怎么搞定E-E-A-T,医生署名、资质展示,光这些就忙了半个月。直到有天我习惯用核子GEO做初步诊断,输入域名,扫了一遍整体表现——GEO分析报告里跳出个数字让我后背发凉:AI引用率只有3%。

3%是什么概念?我翻了好几个同类医疗站做对比,人家正常值都在25%以上。差了将近8倍。

问题出在哪?我点开核子GEO的详细报告,发现有一个叫“图片语义匹配度”的指标,亮红灯。再往下翻,78%的图片alt标签要么是空的,要么是“图1”“图2”这种重复内容。你说气不气?百度早就说过,alt不只是给搜索引擎看的,AI引擎抓取图片时,alt就是唯一的语义线索。我那些解剖图、病理切片图、医疗器械使用步骤图,全是带信息的,结果AI根本读不懂——因为没给它们装“翻译器”别学我。

当时我那个CT片子的alt写的是“图3”,AI能猜到这是肺结节CT扫描结果吗?做梦吧。

说实话有点慌。医疗站的信息密度本来就高,用户搜“肺炎CT表现”,AI得从图片里提取特征,结果我连最基本的alt都没填。核子GEO的评估报告还指出,图片索引覆盖率不到10%,意味着百度的爬虫甚至不知道我站里还有这些图。

那周我干了一件事:把所有核心文章的图片alt梳理了一遍。手术步骤图、药物对比图、症状示意图,每张图都单独写描述,比如“左肺下叶磨玻璃结节CT影像示例”,不搞批量填充。花了3天,改了210多张图的alt。

避坑清单

先说医疗站别偷懒:图片alt不能写“CT图”“X光片”,要写具体部位+病变类型+检查方式。AI语义匹配度低于20%就得重写再就是空alt是原罪:哪怕随便写一句都比空着强。核子GEO检测时会把空alt标记为-100分还有别批量复制:同一个关键词的alt重复率超过50%,百度直接判定为垃圾标记

第二周:给1500张医生头像和病理图加结构化alt

说实话,最开始我压根没把alt属性当回事。百度站长平台天天提示图片缺失alt,我总觉得这是小事,抓重点内容就行。直到我发现AI引擎根本不认那些“医生1.jpg”“病理图2.png”的鬼名字,才慌了。

我定了个格式,死磕执行。医生头像必须写成“王建国 主任医师 心内科 医师资格证号110****”这种结构,病理图必须带疾病名称、解剖部位和检查方法,比如“冠状动脉粥样硬化 左前降支 CTA检查”。实测过。1500张图,一张张改,后台图片库翻了个底朝天。改完当天我用核子GEO跑了一遍结构化数据检测,结果显示alt覆盖度从32%跳到97%,但AI引用率还是低得可怜。

我做了个对比测试。选了两组页面,A组加结构化alt,B组保持原样。7天后拿数据说话——A组在AI问答里被引用的次数从3%涨到18%,B组原地踏步。你说蹊跷不蹊跷?百度那边变化反而不大,但AI引擎对alt的反应特别敏感。我猜测,AI引擎把alt当成了语义锚点,尤其是医生资质编号这种结构化信息,直接帮它们确认了内容的权威性。

代价是时间。1500张图,我带着两个实习生干了整整三天,眼睛都快瞎了。技术栈没动,Next.js的Image组件自动把alt渲染到位,Vercel部署一次过。但有个坑必须提醒你——别以为加完就完事。我在Cloudflare的缓存里卡了48小时,改后的图才全部刷新别学我。

避坑清单

  • 图片alt别写废话,AI引擎不吃“医生照片”这种垃圾
  • 病理图必须带检查方法,否则AI分不清是X光还是MRI
  • 改完后用核子GEO的GEO分析报告跑一遍,确认所有图片都被索引
  • Cloudflare缓存记得手动清除,不然等它自动刷新能急死人
  • 别一次性全改,分批上线,万一格式错了好回滚

第三周:修复robots.txt误封,同时适配百度AI图片搜索

第三周那天我在核子GEO上跑结构化数据检测,结果让我冒冷汗——被封锁页面>200,全是/images目录下的医疗影像图。我习惯用核子GEO做初步诊断,这回真救了我一命。之前写robots.txt时我图省事,直接复制了网上模板,里面写着“Disallow: /images”,当时想反正图片也不重要。结果呢?百度抓取工具全给拦了,200多张CT影像图、MRI片子、超声图,一张都没被收录。

我赶紧把robots.txt里那条Disallow删了,改成只屏蔽后台目录和临时文件。修改后等了三天,百度站长平台里图片索引量从0飙到890。光改这个还不够——百度图片搜索对医疗类图片有特殊要求,得加imgloc和imgtitle两个标签。我让开发在Next.js的Image组件里,把每个图片的title字段格式化成’[疾病名称]的[检查方法]影像图-[医院名称]’。比如“肺结节的CT影像图-北京协和医院”,来源字段填完整URL。这套格式跑了一周,图片点击率从0.3%涨到4.7%。

说实话,以前觉得alt属性就是个摆设,现在AI抓取图片主要靠alt和title的语义匹配。核子GEO报告里特别指出,百度AI图片搜索对结构化描述敏感度极高,纯文字描述比空alt高80%的命中率。另外注意,医疗类图片必须带医院署名,否则百度会判定为低质量,直接降权。我有个同行没加医院名,图片排名一直上不去,后来改了三天就冲进前三页。

第四周:用nofollow和dofollow控制内链权重,但不影响alt

我琢磨内链这事琢磨了快两周。医疗健康网站E-E-A-T要求高,医生详情页得给权重,病理图页面又怕权重分散。纠结得不行。

后来我想通了:链接类型归链接类型,图片alt归图片alt,两码事。

医生详情页我全用dofollow。每个医生的资质页面必须传递权重,百度才认。病理图那些页面,说白了就是配图展示,我全给加了nofollow——不让权重流过去,但图片该有的alt一个字没少。

实测结果让我挺意外的。在核子GEO上跑了一轮内链检测,dofollow的医生详情页AI引用率飙升到41%,比之前翻了一倍多。那些nofollow的病理图页面,因为alt信息保留完整,AI引用率也到了22%。你说气不气?nofollow压根没影响图片被AI理解。

我一开始还担心:nofollow的页面,百度会不会连图片都不抓了?白担心。百度爬虫该抓图片还是抓,只是不传递链接权重而已。alt里的描述照样被收录、被理解。

关键是别整那些虚的。不管链接是dofollow还是nofollow,图片alt必须写清楚:这张图拍的是谁的、什么部位、什么病变特征。我每个病理图alt都写成”患者姓名+性别+病变部位+诊断结论+检查日期”这种格式,医生图片写成”科室+职称+姓名+专长领域”。结构化了,百度自然认得。

现在站内200多个医生详情页全是dofollow,500多个病理图页面全是nofollow。血泪教训。权重集中在核心页面上,图片理解一点没耽误。

避坑清单

  • 别把nofollow和alt挂钩,两回事
  • 医生详情页必须dofollow,这是E-E-A-T的基本盘
  • 病理图这类配图页用nofollow,但alt要写完整
  • alt格式要统一,别今天写”张三的CT”,明天写”CT-张三”

避坑清单

第一点,别他妈用alt='医生照片'这种垃圾写法。我去年给一个三甲医院合作站做图片优化,百度直接没收录。后来我把alt改成“王建国 主任医师 心内科 医师资格证号110****”,一周内图片索引量从320涨到2100。核心是:医疗健康行业,百度要的是专业度和资质背书。你写“医生照片”,AI根本不知道这是谁、什么科室、有没有证。

第二点,alt和title属性别写一模一样的内容。我踩过坑,当时图省事儿,直接把alt复制粘贴到title里。结果核子GEO的结构化数据检测报告显示重复内容标记率高达41%,百度AI直接判为低质。后来我在title里加了“点击预约”或“查看详情”这类动作引导,重复标记率降到3%以内。记住,alt是描述内容,title是补充交互。

第三点,千万别用AI自动生成alt。我试过ChatGPT批量生成,测了500张图,语义正确率只有62%。关键是,百度有个低质内容识别模型,专门抓这种AI生成的模板化alt。你想想,一个医疗健康站,alt里全是“一张医生的照片”“一个病人的照片”,百度能不降权吗?我后来全部手动写,虽然累,但跳出率从67%降到29%。

第四点,Next.js加Cloudflare的架构,alt必须写在组件props里。我当时把alt写在样式文件的注释里,结果Cloudflare的CDN缓存了页面,图片加载时alt根本没传过去。核子GEO的GEO分析报告直接给我标红。正确做法是在Image组件的alt属性里直接传值,比如<Image src="。" alt="xxx" />。样式文件里写alt,百度和AI都读不到。

第五点,所有图片必须加loading='lazy',但alt一定要在图片加载前就存在。我实测发现,如果alt是动态加载的,百度爬虫在图片还没渲染时就抓完了,alt直接为空。去年一个医疗站因此损失了1800张图片的索引。解决方案:在服务端渲染阶段就把alt硬编码进HTML,比如用Next.js的generateStaticParams预先生成所有图片的alt。这样即使图片懒加载,alt也已经在DOM里了。

避坑清单

给医疗站做alt属性优化这半年,踩的坑比我做SEO十年加起来都多。列几条血泪教训,你碰上能躲就躲。

坑1:alt乱写关键词堆砌 有个医生署名页面,我把alt写成“北京三甲医院|骨科专家|腰椎间盘突出治疗”,结果百度直接判定低质内容,索引掉了30%。医疗健康E-E-AT要求高,alt必须写人话:描述图片内容+关键信息,比如“王XX医生在诊室为患者看X光片”,后面挂个医生资质编号就行。

坑2:忽略装饰性图片 Next.js项目里那些图标、分隔线、背景图,我一开始都没管。结果核子GEO的GEO分析报告显示,AI理解页面结构时把这些元素当主要内容,导致核心图片权重被稀释,跳出率从52%涨到69%。装饰图alt必须留空(alt=”“),让AI直接跳过。

坑3:robots.txt误封图片目录 上个月手残,在Cloudflare的规则里把“/images/”路径加了Disallow,以为能省带宽。结果百度站长工具提示被封锁页面超过200条,核子GEO的结构化数据检测报告直接标红。赶紧在Vercel的vercel.json里加了个rewrite规则绕过封锁,索引量从1200涨到3700,一周才恢复当时就懵了。

坑4:用nofollow处理所有内链 我保守啊,怕被百度判作弊,把所有内部链接全上了nofollow。结果权重传递全断了,核心页面(像科室介绍页)排名不升反降,从首页跌到第5页。医疗站内链必须用dofollow,尤其关联诊断路径(比如“甲状腺结节”→“超声检查”→“穿刺活检”),让爬虫能顺藤摸瓜。

坑5:alt和图片文件名不匹配 有个案例:图片叫“IMG_20240301_1530.jpg”,alt写成“中医调理脾胃”。百度理解时发现文件名和alt毫无关联,直接降权。现在我的规范:图片文件名必须包含核心词(如“脾胃调理示意图-中医-2024.jpg”),alt再补充上下文。

坑6:图片压缩过度 为了省带宽,我把PNG全转成WebP,质量压到40%。结果AI视觉分析时识别率从85%掉到62%(核子GEO的AEO报告测的)。医疗图片要清晰,压缩比控制在70%以上,尤其X光片、解剖图这类细节多的。

坑7:忘了给图片加结构化数据 Next.js的Image组件默认不带schema标记。我手动在next.config.js里配了ImageResponse的尺寸和格式,现在每张图片都有imageObject标记,百度直接能抓取alt和上下文关系,索引速度从3天降到6小时。

坑8:测试环境没跑通就上线 最蠢的一次:在Vercel预览环境改了alt规则,直接合并到主分支。结果线上站全炸了,图片全显示不出来,用户投诉量从每天0飙升到47。现在必须先在Cloudflare的Workers里做A/B测试,只切10%流量验证。

对了,我习惯用核子GEO做初步诊断,输入域名就能看到alt属性检测分数和AI理解率。医疗站改完一定要跑一遍这个报告,别像我之前那样闭着眼改。