图片SEO别只盯alt:大图上62%的字页面里找不到

图片SEO别只盯alt:大图上62%的字页面里找不到
张文保 更新 26 分钟阅读 3,712 阅读
本文目录
  1. 为什么最想让人看见的那句话,最后总会变成一张图?
  2. 这次到底量了什么,怎么量的?
  3. 先考尺子:OCR在这类图上到底靠不靠谱?
  4. 815张首页大图上,有多少张真的写着字?
  5. 图上的那些字,页面里找得到吗?
  6. alt这道后备通道接住了多少?
  7. 漏得最狠的是价格,不是标语
  8. 有几个站把整段举证材料画进了图里
  9. 那四分之一做对的站,是怎么做对的?
  10. AI搜索时代,这一层为什么更要命?
  11. 自己站上怎么查,三步就够
  12. 哪些字本来就该留在图里?
  13. 常见问题解答
  14. 搜索引擎真的读不到图片里的文字吗?
  15. 把图上的文字全部抄进alt,是不是就解决了?
  16. 用CSS背景图放文字,和用img有区别吗?
  17. 为什么这次要下载原图,而不是直接截屏?
  18. OCR会不会把纹理认成字,把结果做高?
  19. 产品图上包装自带的文字,也算漏吗?
  20. 这次的样本能代表所有独立站吗?
  21. 权威参考资料

摘要:131个电商独立站首页,其中114个取到了可分析的大图,共815张,OCR一共从上面读出1460行文字。把这些字拿回页面里逐字对照,62.4%的字符在整个文本层里一个都找不到——不在正文,不在alt,不在meta,也不在结构化数据。alt本该是那道后备通道,可在有字的图上,它对图上文字的覆盖率中位数是0%。漏得最狠的不是标语,是价格:识别到的54个价格词里45个只活在像素里。

随手打开一个做得漂亮的独立站首页,把浏览器的阅读模式打开,或者干脆按Ctrl+A全选复制到记事本里。你会发现一件有点扫兴的事:刚才屏幕上那句最大、最有劲、你花了两周和设计师来回改稿的话,粘出来是空的。

它不在文本里。它在一张图里。

这件事本身谁都知道。真正没人量过的是:到底漏了多少,漏的都是哪几句。所以保哥把131个电商独立站的首页挨个打开,把渲染面积最大的那几张图按原始地址下载下来,用OCR读一遍,再把读出来的每一行字拿回那个页面的文本层里逐字比对。下面是这一轮的全部结果,包括尺子本身准不准。

为什么最想让人看见的那句话,最后总会变成一张图?

这不是谁偷懒。它是一连串合理决定叠出来的结果。

设计稿里那句主标语要压在模特照片上,字要描边、要有渐变、要跟着背景的明暗走。用HTML加CSS也能做,但要处理断行、要处理不同语言长度不一、要处理小屏幕下压到人脸上。把整块交给设计导出一张图,一次搞定,所有屏幕表现一致,谁都不用再吵。

产品图上的净含量、成分比例、认证标志,本来就印在包装上,拍照就带进来了,没人会想到再抄一遍到页面上。奖项徽章是主办方给的图,媒体评价是设计师排版排出来的一整块,脚注里的数据来源要用小字压在角落——这些都是图。

于是形成一个很别扭的规律:一句话在页面上越重要,越倾向于被做得醒目;越要做得醒目,越容易被交给设计;越是交给设计,越可能以像素而不是字符的形式落地。醒目和可读,在实操里是反着走的。

而这件事不会报错。页面照样加载,Lighthouse照样跑绿,SEO插件照样打勾。此前实测132个独立站首页有28个是空壳,那种漏是整页的,一眼能看出来;这一次的漏是零碎的,藏在最漂亮的地方。

这次到底量了什么,怎么量的?

样本是131个电商与消费品牌的独立站首页。127个跑完了采集(其余4个卡在超时或反爬),这127个里又有13个没能取到任何符合尺寸门槛的图片——要么首页全是视频和纯色块,要么图被CDN挡住下不来。最终进入统计的是114个站、815张图。每个站的流程是这样的:

  • 用真实浏览器打开首页,等页面稳定,再往下滚三屏、回到顶部,把懒加载的图都逼出来。
  • 收齐机器能拿到的全部文本:可见正文、DOM里的全部文字节点(包括当前不可见的)、所有alt/title/aria-label/placeholder属性、全部meta标签内容、全部JSON-LD结构化数据。这一整份合起来叫“文本池”。
  • 挑出渲染面积最大的8张图(面积下限约200×90),按原始地址把图片文件本身下载下来,而不是截屏。这一步很关键:截屏会把压在图上面的HTML文字一起拍进去,那些字本来就在文本层里,会把结果算漂亮。
  • 对每张图跑OCR,逐行拿到文字和置信度。
  • 把每一行字拿回文本池里找。找得到,算这句话有文本备份;找不到,算它只活在像素里。

比对时有两个必须钉死的细节。第一,两侧必须用同一个归一化函数:OCR那边本来就丢标点,如果文本池这边保留标点,就成了两把尺子。第一版就栽在这儿——boohoo的alt里写着“Serving Looks, Ignoring Emails”,OCR读出的是“serving looks ignoring”,中间那个逗号让整行匹配失败,被误判成“只在像素里”。把两侧的标点全抹平之后才对上。

第二,OCR经常把词之间的空格吃掉,rothys的按钮读出来是“SHOPTHESEASON”。所以除了原样匹配,还要拿去掉全部空格的版本再匹配一次,两边都对不上才算漏。

先考尺子:OCR在这类图上到底靠不靠谱?

这一步没法省。如果OCR把布料纹理认成字母,那“只在像素里”的数字就全是假的;如果它读不出白字压深色照片,那漏掉的又全是最典型的那一类。所以在跑正式数据之前,先用两种办法考了它两轮。

第一轮是自己画图当标准答案:用已知文案生成12张图,覆盖大标题、中号徽章、小字条款、极小号有效期、低对比度、白字压照片、参数表、细体字,再额外做四张“像真图一样难”的——强JPEG压缩、缩到实际展示尺寸再压缩、低对比度压在照片上。另外三张负例是纯噪点、渐变和纯色块,图里一个字都没有。

一开始用的是tesseract。结果是:大字全对,负例零误报,但强压缩的22px小字和缩到45%再压缩的小字,召回率是0%。这个失败方向本身是有意义的——它漏掉的正好是条款、有效期、成分这类小字,也就是最要紧的那一类。

第二轮是拿真图人工标注。从采集到的图里随机抽24张,逐张肉眼看过并分成三类:人写上去的营销文案、只有品牌logo或包装标签、完全没有文字。然后拿OCR的结果去对。这一轮把tesseract判了死刑:

OCR引擎图片级精确率图片级召回率营销文案那3张的召回
tesseract(psm 3)100%10.0%33.3%
tesseract(psm 11)66.7%20.0%33.3%
RapidOCR87.5%70.0%100%

具体到那三张营销图:rothys首屏上那行压在照片上的白色大字“THE FALL EDIT”,tesseract一个字没读出来;shein那张手写体的“Rust Ritual”,读不出来;lookfantastic角落那个圆形“25% OFF”角标,也读不出来。换成RapidOCR之后,三张全部读到,rothys那张连底下那行小字“Your style shift starts here with rich ReVelvet Penny Loafers.”都完整读了出来。

RapidOCR那唯一一个假阳性还有个小插曲。stanley1913首页那张图被我标成了“完全没有文字”,OCR却读出了STANLEY和FARMRO。把那块像素放大一看,画面里女孩抱着的保温杯上印着STANLEY的商标和联名款的FARM RIO字样——是标注的人漏看了,不是机器读错了。把这张改判之后,精确率其实是100%。剩下3个漏读都是B类,全是照片深处几毫米大的品牌小标,漏了不影响这篇的结论。

所以正式跑的是RapidOCR。这里有个必须说清楚的方法论后果:换一把更强的尺子,被读出来的字变多了,而“文本层里有没有”这件事不变,所以结论只会更稳、不会被放大。用弱尺子反而会让漏掉的字看起来更少。

还做了一次敏感性检查:把置信度门槛从0.6提到0.8,样本从1648行缩到1460行,“只在像素里”的字符占比从64.6%变成62.4%。把及格线抬高整整三分之一,结论只动了2.2个百分点,说明这个数字不是靠低置信度的噪声撑起来的。下文所有数字都用更严的0.8。

815张首页大图上,有多少张真的写着字?

815张大图里,OCR读出文字的有319张,占39.1%。也就是说每五张首页大图里,有两张不只是照片,它同时还是一块版面。

按站看,中位数是每站2张图带字,四分之一的站有5张以上,最多的站8张全带字。这个分布本身说明了两种做法并存:一部分品牌严格把文字留在HTML里,图只放照片;另一部分把整个首屏当画布用。

图上的那些字,页面里找得到吗?

这是整篇的核心。1460行、12292个字符拿回文本池里逐行对,结果是:

口径算法文本层里找不到的比例
词级(最宽松)这个词在页面任何角落出现过就算有47.3%
整行级整行原样出现在文本池里才算有53.8%
字符级按只在像素里的行折算成字符数62.4%

三个口径要一起看。词级是刻意放宽的下限——只要“free”这个词在页面某个角落出现过,哪怕是页脚的免运费提示,图上那个“free”也算有备份。就这么宽松,仍然有近一半的词哪儿都找不到。整行级更接近人真正读到的那句话,53.8%的行整句失踪。字符级最能说明信息量:图上每读出10个字符,有6个多在整个文档里没有第二份。

另一个角度:只有25.4%的站做到了一行都不漏。剩下四分之三的站,多多少少都有句子只存在于像素里。中位数是每站漏2行,四分之一的站漏8行以上,最狠的一个站漏了56行。

alt这道后备通道接住了多少?

规范其实说得很清楚。W3C的图片教程在“文字图片”这一节里写的是:在那些不得不用文字图片的少数场合,替代文本必须包含图中呈现的同样文字。这是“必须”,不是“建议”。

实测下来,这道通道基本是空的:

  • 有字的图里,alt对图上文字的覆盖率中位数是0%,平均17.8%。
  • 70.9%的有字图,alt一个字都没覆盖到图上的内容。
  • 覆盖过半的只有18.9%。

更细一层,把815张大图按alt的形态分开看,能看出问题出在哪:

alt的形态全部大图其中有字的图
写了一句人话56.0%55.5%
alt写成空字符串,明确声明为装饰32.5%35.7%
连alt属性都没有4.0%3.1%
alt像文件名或随机串1.3%1.3%
CSS背景图,连alt这个位置都没有6.1%4.4%

注意那个35.7%:图上明明写着字,alt却是空字符串,等于主动告诉所有读取器“这里没内容,跳过”。这不是忘了写,空的alt是有人特意敲上去的,它在W3C关于装饰性图片的说明里是一个正当且常用的写法——前提是那张图真的只是装饰。问题在于,判断一张图是不是装饰的人,看的是它在版面里的角色,不是它上面有没有印字。

剩下55.5%写了人话的,问题换了一种:写的是画面,不是文字。getquip首屏那张banner上印着四条产品卖点——可更换刷头、牙医建议每3个月换一次、更少细菌、对地球更友好——alt写的是“Promotional banner”。drinkolipop的产品图上印着“Supports Digestive Health”和“12 fl oz (355 mL)”,alt写的是口味名“Blackberry Vanilla”。都写了,都没写到点上。

这跟WebAIM每年那份百万首页体检的口径不一样,得对齐着看。WebAIM Million在2026年2月扫了100万个首页,结论是16.2%的图片缺alt、10.8%的alt内容可疑(比如写成image、graphic或文件名)。它量的是alt有没有、写没写得像样;这次量的是alt就算写了,写的是不是图上那句话。两个口径都合格的图,在这次的标准下仍然可能整句漏掉。权威大样本和自己的小样本对不上时,先比口径再比数字。

漏得最狠的是价格,不是标语

把识别出来的词按类型分开统计,结果和直觉不太一样:

类型识别到只在像素里占比
价格与金额544583.3%
紧迫感用词(now、ends、limited等)26519.2%
折扣与促销词(sale、off、free等)2926.9%
物流与售后词(shipping、returns等)200%

折扣词和物流词漏得少,是因为“sale”“free shipping”这类词在页面别处几乎一定会再出现一次——导航里有促销入口,页脚有配送政策。它们被词级口径救了回来。

价格不一样。一个具体的金额是唯一的,页面别处不会碰巧再写一遍,所以它一旦只印在图上,就是彻底的孤本。boohoo那张banner上的“FROM 16”、dollarshaveclub产品图上的“30 mL | 1 US FL OZ”和“177 mL / 6 US FL OZ”、drinkolipop的“12 fl oz (355 mL)”——净含量、规格、起售价,全在像素里。

这类信息恰好是结构化数据审计里最该核对的那几个字段,也是AI回答比价和选购问题时最需要抓的东西。

有几个站把整段举证材料画进了图里

把“只在像素里”的行按站翻一遍,会发现漏掉的不是随机的字,它们高度集中在四类上,而且四类都是最需要被机器看见的那种。

第一类是举证材料。govee首页上有一张1288×247的窄图,OCR从上面读出了完整的数据来源脚注:来自Euromonitor International的销售额口径、统计范围是2025年美国零售渠道的家用户外常亮照明、调研完成于2026年6月。

这段话是用来支撑它那个“全美第一”宣称的全部依据,而它的alt是空字符串。同一张图上那句“IN THE USA”也只在像素里。baseus那张榜单图同理,标题写进了alt,但“Source: Omdia Smart personal audio estimate (sell-in) H1 2026”这行来源没有。

第二类是第三方背书。eufy首页有一整块奖项与媒体评价:T3、CNET、WIRED、IFA的奖章排成一行,下面三个气泡框里是TechRadar和tom's guide的原话引用。整块是一张图,alt是空字符串。这是标准的经验、专业、权威、可信材料,人一眼能看到,机器读到的是零。

第三类是产品的硬参数与承诺。avocadogreenmattress那张720×700的图上写着“Made with ≥95%”,后面接的是什么材料比例,OCR只读到这里,页面文本里也没有下文,而那张图连alt属性都没有。

第四类是法律与合规声明。casetify的联名banner上印着“2026 Mars or Affiliates. M&M'S Brand used under license.”,alt写的是“M&M'S | CASETiFY”。flyingtiger的三张首页图上都印着“AI MODIFIED”——这是图片是否经过AI处理的披露标签,本身就是给人看的合规声明,结果它自己也只存在于像素里。

还有一类没法归进上面四类但很有意思:charleskeith的中文首页banner上是两行运营公告,“新进行时,官网升级中!”和“了解商品详情,欢迎扫码前往小程序商城选购”。这是整条业务通知,alt是空的。everlane更彻底,一张710×888的图里画着完整的品牌可持续性叙事,从“Everything we make has an impact.”开始一共七八行,连alt属性都没有。

把这四类摆在一起,规律就很清楚了:越是需要举证、越是要显得郑重、越是排版复杂的内容,越容易被整块交给设计,也就越容易掉出文本通道。而这恰好是做外贸B2B时最看重的那批视觉信任信号

那四分之一做对的站,是怎么做对的?

114个站里有29个一行都没漏。这个数字第一眼像好消息,拆开看就不是了。

29个里有19个的做法是:首页大图上压根没有字。它们的图就是照片,所有文案都用HTML排在图的旁边或上面。这不算解决了问题,这算绕开了问题——虽然从结果上说,绕开也确实有效。

真正做到“图上有字、文本层里也有”的只有10个:awaytravel、brompton、cluse、fahertybrand、fromourplace、gymshark、ikea、ruggable、stokke、wusthof。而且它们图上的字都不多,最多的cluse也只有6行。

换句话说,在这个样本里,没有一个站是靠把大量图上文字逐句补进alt来过关的;过关的路径要么是不往图上写字,要么是图上只写一两句而且那一两句本来就在HTML里。这对落地方式是个提示:与其事后补alt,不如在设计评审那一步就把“这句话要不要进文本”定下来。

顺带把样本量的事说清楚。这次是114个站、815张图的小样本,HTTP Archive那边的Web Almanac无障碍章节覆盖一千多万个站,两边测的东西不同——它测alt有没有、是不是空的,不测alt和图上文字对不对得上。但有一个数字正好能对上:那份全量报告里,有alt属性的图片中30%的alt值是空的,而且这个比例还在往上走(2022年是27%)。这次只取首页最显眼的几张大图,测出来是32.5%。

两个口径几乎一样,说明一件事:空alt不是小图和图标的专利,页面上最大最重要的那几张图,同样有三分之一被声明成了装饰。顺便一提,那份报告里通过Lighthouse替代文本检查的图片比例从2022年的59%涨到了2024年的69%,alt写没写这件事在变好,写没写对这件事没跟上。

AI搜索时代,这一层为什么更要命?

传统搜索里,图上的字漏掉,损失是有限的。搜索引擎还有一大堆别的信号可用:标题、正文、内链锚文本、外链、历史表现。它对图片本身也有自己的理解能力——Google在图片SEO最佳实践文档里的说法是,它会结合alt文本、计算机视觉算法和页面内容来理解一张图的主题。注意这句话的落点是“主题”,不是“把图上的字抄进索引当正文用”。

生成式检索的路子不一样。它先把页面切成段落级的可引用单元,再决定引用哪一段。被检索和被引用是两套不同的机制,而这两套都吃文本。一张图在这条流水线上贡献的是零个字符——它不参与切段,不参与向量化,也不会成为被引用的那一句。

后果是很具体的。当用户问“这个牌子在美国是第几”,govee首页那段Euromonitor来源就是最该被引用的举证,但它不在文本里。当用户问“这款牙刷刷头多久换一次”,quip首页banner上印着牙医建议每3个月换一次刷头,同样不在文本里。从1亿条引用数据看被引源分布就能看出,能被引的前提永远是先能被读到。

更麻烦的是它对品类层面的主题归属有系统性影响:如果你把品类里最有分量的那几句话都画成了图,模型在总结这个品类时,用的就是别人家的句子。

这也是GEO技术端那三步——抓得到、读得懂、引得出里最容易被跳过的一环:大家都在盯抓取和渲染,很少有人回头检查渲染完之后那些字到底进没进文本。

自己站上怎么查,三步就够

不用搭这套实验台,手工版十分钟能跑完,而且结论八九不离十。

第一步,用全选复制当粗筛。打开首页,Ctrl+A、Ctrl+C,粘到纯文本编辑器里。然后对着浏览器里的页面往下滚,把屏幕上看得见、粘贴稿里搜不到的句子记下来。这一步能抓出绝大多数问题,因为它模拟的就是纯文本提取器看到的东西。

第二步,重点盯四类内容。按上面那个分类挨个找:有没有奖项徽章、有没有媒体引用、有没有数据来源脚注、有没有净含量或成分比例、有没有价格或折扣数字、有没有授权或披露声明。这四类只要出现在图上,就必须在文本里再写一遍。

第三步,把alt逐条对着图重写。判据只有一条:如果这张图上印着字,alt里就必须出现那些字;如果这张图上没有字,alt才可以是描述画面,或者干脆留空。反过来说,看到一张带字的图配着一个空的alt,那就是一处确定的漏。批量体检alt与图片属性的做法可以把这步自动化到只剩人工判断。

补一个更省事的做法:很多站的这类内容其实已经在CMS里存过一份了——产品的净含量在商品字段里,媒体引用在“媒体报道”那个模块里,奖项在关于我们页面上。问题只是首页那张图没有引用它们,而是重新排了一遍版。把已有的字段渲染成HTML再叠图,比让设计重新导出一张图省事得多,也不用改视觉。

哪些字本来就该留在图里?

这篇不是在说“图上一个字都不能有”。有几类情况,字留在图上是对的,硬要搬进文本反而添乱。

产品包装上本来就印着的字——瓶身标签、成分表、条形码——那是拍摄对象的一部分,不是页面在说话。这类图的alt应该描述这是什么产品,而不是把标签逐字抄一遍。上面那些净含量之所以算漏,是因为它同时是页面在承诺的规格,而页面别处没写。判据是这句话是不是页面自己的主张,不是它出现在哪。

纯粹的装饰性文字,比如背景里虚化的招牌、模特衣服上的品牌字样、街景里的路牌,本来就不承载信息,把alt写成空字符串是正确写法,抄进去只会污染文本。

logo里的品牌名也不用重复抄。品牌名在title、导航、页脚、结构化数据里已经出现过很多遍,这次实测里logo文字基本都被词级口径判为“文本层有”,符合预期。

另外提醒一句反向的坑:不要为了补齐而把图上的字塞进alt再堆关键词。Google在同一份文档里明确说了,往alt里塞关键词会带来糟糕的用户体验,还可能被当成垃圾信号。alt本来就不是网页排名的杠杆,它的价值在可读性和图片搜索这两条线上,别指望它做别的。

顺带说,这一层的问题不止图片一种形态。规格书在屏幕上是好好的泰语、机器复制走却是另一串字符PDF要被索引得先满足一堆条件视频里说出口的话也得有文字版才算数连OG图上的emoji都会在断行时裂成两个方块。同一个道理:换了介质,字就掉出了通道,而且换的时候不会有人提醒你。

要判断自己站上还有多少这样的地方,可以从页面结构与语义标签的整体体检入手,再配合把内容当结构化数据来生产的那套做法,把“这句话存在哪个字段里”这个问题在生产环节就定死,而不是在首页改版时临时决定。AI可见性审计里最常漏的那一层也是同一个毛病:能被读到的东西堆了很多,真正要紧的那几句反而没在里面。

最后一件事,改完要验。改alt、把图上文字搬进HTML这类动作,效果不会立刻反映在排名上,但用加上去再撤下来的对照方式测AI引用是能看出因果的。做之前先把当前状态存一份,后面才有得比。

常见问题解答

搜索引擎真的读不到图片里的文字吗?

准确的说法是:它有办法理解图片的内容,但不会把图上的文字当作页面正文来索引。Google的官方表述是结合alt文本、计算机视觉和页面内容来理解图片的主题。理解主题和抽取字符是两件事——它可能知道这是一张打折海报,但那个具体的折扣数字不会进入页面的文本索引,也不会成为可被引用的句子。生成式检索这边更直接,它切段和向量化用的是文本。

把图上的文字全部抄进alt,是不是就解决了?

对“不得不用文字图片”的场合,这是规范要求的做法。但不要把它当成通用解法。alt是一句替代文本,长段落塞进去对屏幕阅读器是灾难,对搜索引擎也容易被判为堆砌。更好的顺序是:能用HTML加CSS做出同样视觉的,就用HTML;实在要用图,再让alt承载图上那句话;如果那句话很长,把它同时写进图片附近的正文里。

用CSS背景图放文字,和用img有区别吗?

有,而且更糟。CSS背景图连alt这个位置都没有,没有任何标准通道可以给它挂替代文本。这次实测里6.1%的大图是背景图形式。如果背景图上印着字,只能靠在附近放一段可见文本或视觉隐藏文本来补,没有别的办法。

为什么这次要下载原图,而不是直接截屏?

因为截屏会把叠在图上面的HTML文字一起拍进去。那些字本来就在文本层里,OCR读到之后一比对当然能找到,结果就是“文本层覆盖得很好”的假象。下载原始图片文件,读到的字才确定来自像素本身。这个选择让数字变得更保守也更可信。

OCR会不会把纹理认成字,把结果做高?

会,所以这次做了三道防线。一是负例测试,纯噪点、渐变、纯色三张图的误报都是0。二是词过滤,长度不足3个字符、不含元音又不是数字的词一律丢掉,布料缝线被认出的那些两字母碎片过不了这关。三是置信度敏感性检查,门槛从0.6提到0.8,核心结论只动了2.2个百分点。人工标注的24张真图也验证过一轮,用来定的正是换引擎这个决定。

产品图上包装自带的文字,也算漏吗?

看那句话是不是页面自己的主张。瓶身上的品牌名、条码、装饰性文案属于拍摄对象,不算。但净含量、成分比例、功效声明这类东西,如果页面在别处没有写,那它事实上就是页面唯一一次说出这个规格,此时它算漏。判据不是这个字印在哪里,而是页面还有没有第二份。

这次的样本能代表所有独立站吗?

不能,得说清楚边界。样本是131个有一定规模的电商与消费品牌站,实际进入统计的114个,只看首页,桌面端1440宽视口,每站最多取8张最大的图。小型站、B2B站、内页、移动端都没覆盖,OCR只跑了英文与中文。可以拿来判断这个问题普遍到什么程度,不适合当成行业基准值引用。

权威参考资料

分享到
标签
版权声明

本文标题:《图片SEO别只盯alt:大图上62%的字页面里找不到》

本文链接:https://zhangwenbao.com/image-text-not-in-text-layer-ocr-audit.html

版权声明:本文原创,转载与引用请注明作者与原文链接。许可协议: CC BY 4.0

继续阅读
发表评论
分享到微信 或在下方手动填写
支持 Ctrl + Enter 提交