站点运营

站点运营:图片與媒体资源自查,別让抓取预算耗在空资源上

图片和媒体文件常被当成小事,但一次頁面抓取里它們可能占掉相当比例的請求。本文從日誌、img 标簽、懒加载、图片 Sitemap 和外鏈资源几個角度,给出可以落地的图片资源自查步骤,帮站点把有限的抓取预算留给真正需要更新的頁面。

站点运营

站点运营:图片與媒体资源自查,別让抓取预算耗在空资源上

做站点运营时,正文和連結通常被反复打磨,图片、视频封面、附件這類媒体资源却常被放到最後。但從服務器日誌看,一次頁面抓取里,图片請求往往占了不小的比例。如果這些請求大量落在失效地址、占位图或者第三方拦截上,被抓取配額就被消耗在没有产出的地方。

图片不參與排名,但會影响抓取效率

蜘蛛解析 HTML 时,會從 img 的 srcsrcset 以及部分懒加载属性里提取资源地址,然後逐個發起請求。每一個請求都要走一遍 DNS、连接、响應流程,占用的是同一份抓取配額。正文頁一天可能只更新一次,但如果頁面上挂着几十張失效图片,蜘蛛每次来都要重新撞一遍墙。

這不意味着图片有問题就一定會掉排名,而是说它會持續拉低整站的抓取效率,让真正需要被重新抓取的頁面排在後面。

几個高频問题

  • 懒加载占位地址寫進 src:真實图片放在 data-src 里,src 指向一張 1x1 透明图或空地址。蜘蛛拿到的是占位图,有时甚至直接是 404。
  • 缩略图服務返回错誤頁:參數拼错或图片已被刪除,接口仍然返回 200,内容却是一段错誤提示文字,形成事實上的软 404。
  • 外鏈图片被對方拦:图片托管在第三方域名,對方 robots.txt 禁止抓取,蜘蛛每次訪問都被拒,白白浪費請求。
  • 多尺寸重复存储:同一張图按 200、400、800 像素各存一份,HTML 里却没有任何尺寸說明,蜘蛛把三份都抓一遍。
  • 命名與 alt 随意:文件名是 IMG_2381.jpg,alt 要么缺失,要么寫着一串和内容無關的關鍵詞。

自查的五個步骤

  1. 從訪問日誌里筛出图片扩展名的請求,看狀態碼分布和請求次數排名。
  2. 抽查首頁、栏目頁、内容詳情頁各一到两個模板,逐個看 img 标簽的實际寫法。
  3. 確認懒加载方案在禁用 JavaScript 时是否還有可讀的资源地址。
  4. 检查图片 Sitemap 是否還在收錄已经刪除的图片地址。
  5. 核對所有外鏈图片域名,看對方是否允许抓取、是否設定了防盗鏈。

日誌里先看三類請求

第一類是返回 404 或 410 的图片,說明地址已经废弃;第二類是返回 200 但体积異常小的,可能是占位图冒充真图;第三類是被 403 拒绝的,多半是外鏈或防盗鏈問题。這三類加起来,往往就是浪費的主要来源。

抽查典型頁面时看什么

重点不是图片好不好看,而是地址是否稳定、是否指向真實资源。同一張图在列表頁和詳情頁是否用了同一個地址,尺寸參數是否寫死在模板里,图片尺寸和後缀是否對應。顺手把明顯無意义的文件名改成能描述内容的英文或拼音短词,成本很低。

懒加载要留一條不用 JS 也能讀到的路径

如果图片必须靠脚本才加载,至少保證 src 指向一張真實的占位图而不是空值,或者通過 noscript 给出真實地址。完全依赖脚本的寫法,在渲染能力不足的抓取环境里就是一個空洞。

處理时的几個原則

  • 能修就修,不留半成品:图片地址失效,與其換成空 src,不如替換成同類图片或直接刪除该标簽。
  • 彻底废弃的返回明确狀態碼:让蜘蛛知道這個地址不會再恢复,而不是反复回訪。
  • 控制單頁图片數量:列表頁限制每頁條目數,避免一個頁面拖出上百個资源請求。
  • 图片 Sitemap 只放值得被索引的图:图标、装饰性背景、广告位图片没有必要放進去。
图片资源的問题通常不會一次性暴露,而是以「頁面更新越来越慢、日誌里图片請求越来越多」的形式慢慢顯現。定期看一眼,比等到抓取配額明顯不够用再回头排查要省事。

把图片和媒体资源纳入常規自查清單,本质上是在做同一件事:让蜘蛛每次来訪都有明确的收获,而不是把時間花在找不到、打不開、看不了的资源上。這項工作不需要額外工具,從日誌和模板入手就能完成大半。