站点运营

站点运营:图片與媒体资源自查,別让大图和坏图拖住加载與抓取

图片和媒体文件往往是頁面里体积最大的部分,却最容易被忽略。本文從体积統計、格式選擇、文件名與替代文本、坏图檢測,以及懒加载、robots、防盗鏈等抓取层面的细节入手,整理一份可以按月执行的图片资源自查清單。

站点运营

站点运营:图片與媒体资源自查,別让大图和坏图拖住加载與抓取

大多數站点的頁面里,图片和媒体文件往往占了最大的体积份額,却常常是最少被检查的部分。栏目規划、内鏈、标题模板這些容易被反复讨论,图片却经常停留在“能顯示就行”的狀態。實际上,图片同时影响两件事:訪客的加载体驗,以及搜尋蜘蛛在有限抓取预算下愿意走多深。

先摸清家底:图片到底占了多少

自查的第一步不是優化,而是統計。打開站点日誌或 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 是否誤屏蔽了图片目錄,检查防盗鏈規則是否只允许浏览器来源而拒绝了蜘蛛。這两條一旦出错,图片流量會整体掉下去,而頁面本身看不出任何異常。

图片站点地图

如果有大量以图片為主的頁面,可以考虑單獨维護图片站点地图,把重要图片的地址、标题和說明整理進去。它不保證被抓取,但能让發現路径更明确。

图片自查不需要一次做完,先解决大图和坏图這两類問题,通常就能覆盖大部分影响。

可执行的月度清單

  1. 導出上月图片請求與流量資料,和這個月做對比。
  2. 抽查 10 個主要頁面,看單頁图片總体积是否超标。
  3. 批量檢測坏图,记錄失效地址和来源頁面。
  4. 检查新增图片的文件名與 alt 是否符合規范。
  5. 確認 robots.txt、防盗鏈、CDN 缓存規則近期没有變化。

把這些動作固定下来,图片這块就不會長期處于無人看管的狀態。它不像内容更新那样顯眼,但属于那種一旦松手就會持續累积成本的基础工作。