不少站点在排查抓取问题时,只看 HTML 和正文,忽略了图片、视频、PDF 这些媒体资源。实际上蜘蛛会请求页面里的图片地址,图片搜索也会带来访问。如果图片资源本身抓不到,或者页面没有给出足够说明,蜘蛛对内容的理解就会缺一块。
一、先确认媒体资源能被正常请求
图片、视频、附件通常放在独立目录或 CDN 上,容易在配置层面被挡住。自查时不要只看浏览器能否显示,还要看蜘蛛身份请求时返回什么状态码。
- 检查 robots.txt 是否误屏蔽了 /uploads、/images、/static 等目录,或者把 CDN 域名整体禁止。
- 用抓取日志或服务器日志筛选图片扩展名,看是否有大量 403、404、302。403 常见于防盗链、鉴权、CDN 白名单。
- 确认 CDN 没有对非浏览器 UA 返回验证页。有些防护策略会先跳转再放行,蜘蛛可能停在跳转上。
- 如果图片放在第三方图床,检查外链是否稳定,是否会在一定时间后失效或更换地址。
二、懒加载和前端渲染别把图片藏起来
为了速度,很多站点用懒加载。做法本身没问题,问题在于初始 HTML 里是否还留有可抓取的图片地址。
常见风险
- 把真实地址只写在 data-src 或 JS 变量里,src 留空或写成占位图。
- 用 picture 和 srcset 时,没有给默认 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。
- 定期清理已删除内容的图片,减少死图和空引用。
- 有大量图片的站点,可以提交图片站点地图,并确保图片所在页面本身可访问。
五、一份可执行的检查清单
- 用蜘蛛 UA 请求几张代表性图片,确认返回 200 和正确的内容类型。
- 检查 robots.txt、CDN 防护、防盗链是否误伤图片目录。
- 查看初始 HTML 中图片是否有真实 src,懒加载是否影响首屏。
- 抽查内容图的 alt、文件名和图注,去掉关键词堆砌。
- 检查图片站点地图是否包含有效图片地址和所属页面。
- 统计日志中的图片 404、403,安排修复或跳转。
图片和媒体资源自查不需要一次做完。先确保蜘蛛能请求到,再解决能不能看懂,最后才是格式和体积优化。把这几步纳入日常巡检,页面内容的完整度会比只盯正文更稳。