记录一下那天晚上的排查过程。图片懒加载把真实地址写在 data-src,src 里放的是占位图,图片搜索里收录的全是那张灰色占位图。

排查方向其实有限,先把可能性排一排。懒加载只改了属性,没有保留可抓取的 src。另一种情况是滚动事件由 JS 触发,蜘蛛不执行滚动。

不容易想到的是,object-fit 容器里的图连占位图都没有。

第一件事是检查源码里 img 的实际属性

curl -s https://www.example.com/a/ | grep -o 'data-src="[^"]*"' | head

保留 src 为真实地址,延迟交给浏览器

loading="lazy"

或用 noscript 提供回退图片

curl -s https://www.example.com/a/ | grep -c 'noscript'

隔了一天再看,现象没变,说明不是偶发。

怎么算真的好了,看的是同一批现象。图片真实地址出现在初始 HTML 里,图片搜索开始收录实际内容。

原生 loading 属性已经能实现懒加载,不需要自己写 data-src,自定义方案最容易把可抓取的地址弄丢。主题升级后要重新检查一次,新版本可能又把 src 换成了占位图。同一份配置在测试环境跑通,不代表线上没事,两边的默认值经常不一样。

作者 9823189