站点运营

站点运营:图片与媒体资源自查,别让蜘蛛抓不到图也读不懂图

很多站点的抓取问题不在正文,而在图片和媒体资源。图片被 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,安排修复或跳转。

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