大多数站点的页面里,图片和媒体文件往往占了最大的体积份额,却常常是最少被检查的部分。栏目规划、内链、标题模板这些容易被反复讨论,图片却经常停留在“能显示就行”的状态。实际上,图片同时影响两件事:访客的加载体验,以及搜索蜘蛛在有限抓取预算下愿意走多深。
先摸清家底:图片到底占了多少
自查的第一步不是优化,而是统计。打开站点日志或 CDN 报表,按资源类型看请求量和流量占比,再挑几个代表性页面,用浏览器开发者工具的 Network 面板看实际加载情况。
- 单页图片总请求数是多少,有多少张是首屏根本不需要的。
- 单张图片体积分布:有没有超过 500KB 的大图,有没有几十张 200KB 以上的中等图。
- 同一张图是否在不同页面被重复加载了多个尺寸版本。
- 图片请求的响应时间是否明显慢于 HTML 本身。
把这些数字记下来,一个月后再对比,比凭感觉说“好像快了一点”有用得多。
体积与格式:最容易见效的一步
图片优化里,收益最直接的是压缩和格式选择。JPEG 适合照片,PNG 适合需要透明或线条清晰的图,WebP 和 AVIF 在同等观感下通常体积更小。不需要一次性全站替换,先把首屏大图和列表页缩略图换掉,效果就足够明显。
几个常见做法
- 上传前先按实际展示尺寸裁剪,不要上传 3000px 宽的图再靠 CSS 缩到 300px。
- 用响应式图片属性提供多档尺寸,让不同设备取合适的版本。
- 首屏之外的图片使用懒加载,但要注意实现方式,见下文抓取部分。
- 压缩时保留合理质量,压到画面发糊反而伤害体验。
文件名与替代文本:图片也是可理解的资源
图片文件名和 alt 文本,是蜘蛛理解图片内容的少数线索之一。随机字符串命名、alt 留空,等于主动放弃这部分信息。
- 文件名用简短英文描述内容,多个词用连字符分隔,避免中文和空格。
- alt 写清楚图片表达的内容,装饰性图片可以留空,不要为每张图硬塞关键词。
- 图片周围的正文要与图片相关,上下文比 alt 本身更重要。
坏图与失效图片:比 404 更隐蔽
页面返回 200,但里面的图片全挂了,这种问题爬虫和访客都会遇到,却很少被监测到。常见原因包括:图片目录迁移后没做跳转、CDN 回源配置改了、文件名大小写不一致(Linux 服务器区分大小写),以及防盗链规则误伤了搜索引擎的抓取。
自查方式很直接:抓取一批页面,逐个请求其中的图片地址,统计非 200 的比例。如果某段时间坏图率突然上升,优先检查最近是否改过存储路径或 CDN 配置。
抓取层面容易踩的几个坑
懒加载挡住蜘蛛
如果图片地址是通过脚本在滚动时才写入的,而蜘蛛并不滚动,那么这些图片对蜘蛛来说等同于不存在。稳妥的做法是首屏图片直接输出,其余图片用原生懒加载属性,或确保脚本在无交互时也能拿到地址。
robots 与防盗链
检查 robots.txt 是否误屏蔽了图片目录,检查防盗链规则是否只允许浏览器来源而拒绝了蜘蛛。这两条一旦出错,图片流量会整体掉下去,而页面本身看不出任何异常。
图片站点地图
如果有大量以图片为主的页面,可以考虑单独维护图片站点地图,把重要图片的地址、标题和说明整理进去。它不保证被抓取,但能让发现路径更明确。
图片自查不需要一次做完,先解决大图和坏图这两类问题,通常就能覆盖大部分影响。
可执行的月度清单
- 导出上月图片请求与流量数据,和这个月做对比。
- 抽查 10 个主要页面,看单页图片总体积是否超标。
- 批量检测坏图,记录失效地址和来源页面。
- 检查新增图片的文件名与 alt 是否符合规范。
- 确认 robots.txt、防盗链、CDN 缓存规则近期没有变化。
把这些动作固定下来,图片这块就不会长期处于无人看管的状态。它不像内容更新那样显眼,但属于那种一旦松手就会持续累积成本的基础工作。