做站点运营时,正文和連結通常被反复打磨,图片、视频封面、附件這類媒体资源却常被放到最後。但從服務器日誌看,一次頁面抓取里,图片請求往往占了不小的比例。如果這些請求大量落在失效地址、占位图或者第三方拦截上,被抓取配額就被消耗在没有产出的地方。
图片不參與排名,但會影响抓取效率
蜘蛛解析 HTML 时,會從 img 的 src、srcset 以及部分懒加载属性里提取资源地址,然後逐個發起請求。每一個請求都要走一遍 DNS、连接、响應流程,占用的是同一份抓取配額。正文頁一天可能只更新一次,但如果頁面上挂着几十張失效图片,蜘蛛每次来都要重新撞一遍墙。
這不意味着图片有問题就一定會掉排名,而是说它會持續拉低整站的抓取效率,让真正需要被重新抓取的頁面排在後面。
几個高频問题
- 懒加载占位地址寫進 src:真實图片放在 data-src 里,src 指向一張 1x1 透明图或空地址。蜘蛛拿到的是占位图,有时甚至直接是 404。
- 缩略图服務返回错誤頁:參數拼错或图片已被刪除,接口仍然返回 200,内容却是一段错誤提示文字,形成事實上的软 404。
- 外鏈图片被對方拦:图片托管在第三方域名,對方 robots.txt 禁止抓取,蜘蛛每次訪問都被拒,白白浪費請求。
- 多尺寸重复存储:同一張图按 200、400、800 像素各存一份,HTML 里却没有任何尺寸說明,蜘蛛把三份都抓一遍。
- 命名與 alt 随意:文件名是 IMG_2381.jpg,alt 要么缺失,要么寫着一串和内容無關的關鍵詞。
自查的五個步骤
- 從訪問日誌里筛出图片扩展名的請求,看狀態碼分布和請求次數排名。
- 抽查首頁、栏目頁、内容詳情頁各一到两個模板,逐個看 img 标簽的實际寫法。
- 確認懒加载方案在禁用 JavaScript 时是否還有可讀的资源地址。
- 检查图片 Sitemap 是否還在收錄已经刪除的图片地址。
- 核對所有外鏈图片域名,看對方是否允许抓取、是否設定了防盗鏈。
日誌里先看三類請求
第一類是返回 404 或 410 的图片,說明地址已经废弃;第二類是返回 200 但体积異常小的,可能是占位图冒充真图;第三類是被 403 拒绝的,多半是外鏈或防盗鏈問题。這三類加起来,往往就是浪費的主要来源。
抽查典型頁面时看什么
重点不是图片好不好看,而是地址是否稳定、是否指向真實资源。同一張图在列表頁和詳情頁是否用了同一個地址,尺寸參數是否寫死在模板里,图片尺寸和後缀是否對應。顺手把明顯無意义的文件名改成能描述内容的英文或拼音短词,成本很低。
懒加载要留一條不用 JS 也能讀到的路径
如果图片必须靠脚本才加载,至少保證 src 指向一張真實的占位图而不是空值,或者通過 noscript 给出真實地址。完全依赖脚本的寫法,在渲染能力不足的抓取环境里就是一個空洞。
處理时的几個原則
- 能修就修,不留半成品:图片地址失效,與其換成空 src,不如替換成同類图片或直接刪除该标簽。
- 彻底废弃的返回明确狀態碼:让蜘蛛知道這個地址不會再恢复,而不是反复回訪。
- 控制單頁图片數量:列表頁限制每頁條目數,避免一個頁面拖出上百個资源請求。
- 图片 Sitemap 只放值得被索引的图:图标、装饰性背景、广告位图片没有必要放進去。
图片资源的問题通常不會一次性暴露,而是以「頁面更新越来越慢、日誌里图片請求越来越多」的形式慢慢顯現。定期看一眼,比等到抓取配額明顯不够用再回头排查要省事。
把图片和媒体资源纳入常規自查清單,本质上是在做同一件事:让蜘蛛每次来訪都有明确的收获,而不是把時間花在找不到、打不開、看不了的资源上。這項工作不需要額外工具,從日誌和模板入手就能完成大半。