站点运营

站点运营:图片與媒体资源自查,別让蜘蛛抓不到图也讀不懂图

很多站点的抓取問题不在正文,而在图片和媒体资源。图片被 robots 挡住、懒加载寫成空 src、alt 缺失或堆砌,都會让蜘蛛看不懂頁面。本文從可抓取性、加载方式、alt 文本、文件维護四個角度,给出一套图片與媒体自查方法。

站点运营

站点运营:图片與媒体资源自查,別让蜘蛛抓不到图也讀不懂图

不少站点在排查抓取問题时,只看 HTML 和正文,忽略了图片、视频、PDF 這些媒体资源。實际上蜘蛛會請求頁面里的图片地址,图片搜尋也會带来訪問。如果图片资源本身抓不到,或者頁面没有给出足够說明,蜘蛛對内容的理解就會缺一块。

一、先確認媒体资源能被正常請求

图片、视频、附件通常放在獨立目錄或 CDN 上,容易在配置层面被挡住。自查时不要只看浏览器能否顯示,還要看蜘蛛身份請求时返回什么狀態碼。

  • 检查 robots.txt 是否誤屏蔽了 /uploads/images/static 等目錄,或者把 CDN 域名整体禁止。
  • 用抓取日誌或服務器日誌篩選图片扩展名,看是否有大量 403、404、302。403 常见于防盗鏈、鉴權、CDN 白名單。
  • 確認 CDN 没有對非浏览器 UA 返回驗證頁。有些防護策略會先跳轉再放行,蜘蛛可能停在跳轉上。
  • 如果图片放在第三方图床,检查外鏈是否稳定,是否會在一定時間後失效或更換地址。

二、懒加载和前端渲染別把图片藏起来

為了速度,很多站点用懒加载。做法本身没問题,問题在于初始 HTML 里是否還留有可抓取的图片地址。

常见風險

  • 把真實地址只寫在 data-src 或 JS 變量里,src 留空或寫成占位图。
  • picturesrcset 时,没有给預設 img 回退。
  • 图片由前端框架挂载,服務端返回的 HTML 中没有任何图片信息。
  • 滚動到可视区域才請求,蜘蛛不一定會触發滚動。

更稳妥的做法是让首屏图片保留真實 src,懒加载只作用于首屏之外;或者至少在 noscript 中提供可訪問的图片地址。如果頁面依赖 JS 渲染,要確認渲染後的 HTML 中包含图片連結。

三、alt 和周邊文本决定图片能否被理解

图片抓到了,不代表蜘蛛知道它是什么。alt 文本、文件名、图注和正文上下文,都是判断图片主题的依據。

  • 内容图寫具体 alt,描述画面和用途,不要只寫“图片”“产品图”。
  • 装饰图、分隔线、背景图可以留空 alt,避免制造無意义文本。
  • 文件名用简短英文或拼音,如 server-response-time.png,比 IMG_2093.jpg 更有信息量。
  • 图注和正文里自然提到图片内容,不要為了關鍵詞在 alt 里堆砌。
alt 的第一服務對象是看不到图片的用戶,顺带让蜘蛛理解图片。把它寫成關鍵詞列表,通常两邊都不讨好。

四、媒体文件本身也要做基础维護

图片不是發上去就不用管。体积、格式、地址稳定性、失效清理,都會影响抓取效率和頁面体驗。

  • 压缩大图,按展示尺寸輸出,避免上传後靠 CSS 缩小。体积過大的图片會拖慢頁面,也可能让蜘蛛减少抓取。
  • 在不影响清晰度的前提下使用 WebP、AVIF 等格式,並保留兼容回退。
  • 图片 URL 尽量稳定。換图床或改目錄时,對舊地址做 301 跳轉,別直接返回 404。
  • 定期清理已刪除内容的图片,减少死图和空引用。
  • 有大量图片的站点,可以提交图片站点地图,並确保图片所在頁面本身可訪問。

五、一份可执行的检查清單

  1. 用蜘蛛 UA 請求几張代表性图片,確認返回 200 和正确的内容類型。
  2. 检查 robots.txt、CDN 防護、防盗鏈是否誤伤图片目錄。
  3. 查看初始 HTML 中图片是否有真實 src,懒加载是否影响首屏。
  4. 抽查内容图的 alt、文件名和图注,去掉關鍵詞堆砌。
  5. 检查图片站点地图是否包含有效图片地址和所属頁面。
  6. 統計日誌中的图片 404、403,安排修复或跳轉。

图片和媒体资源自查不需要一次做完。先确保蜘蛛能請求到,再解决能不能看懂,最後才是格式和体积優化。把這几步纳入日常巡检,頁面内容的完整度會比只盯正文更稳。