很多站点的图文内容,文字部分做得挺细,图片却基本处于放上去就不管的状态。结果往往有两种尴尬:用户端图片加载慢、显示不出来;抓取端图片地址压根没出现在 HTML 里,翻完页面也不知道有这些图。图片和媒体文件既是访问入口,也是页面体验的一部分,值得像正文一样过一遍自查。
一、先确认图片地址有没有露出来
图片能不能被发现,前提是它的 URL 要出现在页面源码里。现在不少站点用懒加载或前端框架渲染,图片真实地址被写在 data-src、data-original 或 JS 配置里,首屏 HTML 里只有一个占位图。用户滚动时浏览器会去加载,但蜘蛛不一定会执行滚动。
检查方式
- 用浏览器查看源代码(不是审查元素),搜索图片文件名,看 src 里有没有真实地址。
- 关掉 JavaScript 再看一次页面,判断图片是否还能正常出现。
- 如果确认必须懒加载,至少首屏图片用原生 src,其余图片保留 noscript 或图片站点地图作为补充入口。
图片站点地图
图片站点地图是给图片补一条发现通道的常规做法。它不保证被收录,但能让图片地址有个稳定的提交入口。适合图片量大、图库型栏目或商品图较多的站点。
- 只放当前有效、可公开访问的图片地址。
- 配图归到对应的内容页,而不是单独堆一个图片列表页。
- 站点地图里的地址要和页面上真实加载的地址一致,别一个写原图、一个写缩略图。
二、文件名和替代文本,决定图片能被理解多少
图片本身没有文字,判断图片内容主要靠文件名、alt 属性和上下文。这三样长期缺失,图片就只是页面里的一串字符。
- 文件名:像 IMG_20240103_001.jpg 这种批量命名,等于放弃了唯一的文字线索。改成能描述内容的短名,例如咖啡机除垢步骤对应 coffee-machine-descaling-steps.jpg,用英文、短横线分隔,别堆关键词。
- alt 属性:描述图片里发生了什么,而不是重复标题。装饰性图片可以留空 alt,但功能性图片(图表、流程图、商品细节)必须写。
- 周边文字:图片前后的段落、图注,是最自然的语义补充。图注别只写图片来源四个字。
三、抓取权限与返回状态
图片地址被拦住,通常有三种原因,逐一排除即可。
- robots.txt:检查是否有针对 /images/、/uploads/ 或图片扩展名的 Disallow 规则。图片被屏蔽,页面里就会留下空白占位。
- 防盗链与权限:部分站点的图片只允许特定 Referer 访问,抓取请求会被拒绝,返回 403。这类规则要确认是否误伤了正常抓取。
- 返回码:图片地址返回 404 或 302 跳转,都会让抓取中断。定期抽查图片 HTTP 状态,尤其是改过目录结构、迁移过存储的站点。
图片状态码和页面状态码一样重要。页面还在,图全挂了,内容完整度和体验都会打折。
四、体积、格式与加载体验
图片通常是页面体积的主要来源。原图直出的站点,常常一张图就几 MB。可以做这几件事:
- 按展示尺寸输出,不要用 4000px 原图缩成 400px 显示。
- 优先使用 WebP 等现代格式,同时保留兼容回退。
- 给图片标上宽高属性,减少加载过程中的页面跳动。
- 首屏关键图片优先加载,其余延迟加载。
- 图片放在稳定的 CDN 或对象存储上,避免频繁更换地址。
五、一份可以照着做的自查顺序
- 抽查 5 到 10 个代表性页面,查看源码里图片 src 是否为真实地址。
- 确认 robots.txt 没有误挡图片目录。
- 检查图片 HTTP 状态,清理 404 与多余跳转。
- 整理一批文件名和 alt 明显缺失的图片,按栏目优先级分批修。
- 提交或更新图片站点地图,与页面真实地址对齐。
- 抽查移动端图片是否被裁掉、是否超出屏幕、是否压住正文。
图片自查不需要一次性全站推平,按栏目分批做更现实。每次更新内容时顺手把新图的文件名、alt 和尺寸处理好,存量问题再慢慢消化。图能被看到,内容才算完整交付。