资讯文章 资讯 · NEWS
条目页上那张站点截图:自动生成该怎么做,以及它救不了没有文字的页面
2026-10-23 约 1,334 字 预计阅读 3 分钟 yiyunkj
条
用户在目录站上看到的只是一个站名加两行描述,点进去才知道是什么。放一张真实截图,这个判断成本就降下来了。我加了这个功能之后,条目页的跳出率掉了七八个百分点,这个幅度在目录站上不算小。

图片来源:网络,版权归原作者所有,侵权请联系删除
生成:无头浏览器定时跑
用 Puppeteer 或 Playwright 打开对方 URL,等渲染完截图。几个参数值:
| 参数 | 取值 | 原因 |
|---|---|---|
| 视口 | 1280×800 | 首屏足够;整页截图体积大,下半部分通常是空白或重复 |
| 等待 | networkidle 后再等 2 秒 | SPA 和懒加载都需要时间 |
| 超时 | 15 秒 | 超了标失败进重试队列,别阻塞 |
| 产物 | 两张:宽 800 的中图 + 宽 300 的缩略图 | 列表页用缩略图,详情页用中图 |
| 格式 | WebP | 同等观感下比 JPEG 小三成左右 |
三类失败,要提前想到
白屏。单页应用首屏靠 JS 渲染,等待太短截下来是空白。这类站比例不低,靠延长等待解决;还不行就标失败。
占位灰块。图片懒加载,截下来整页都是灰底占位图。处理办法是截图前先滚动到底再滚回顶部,让懒加载触发完。
遮罩。Cookie 提示、年龄验证、登录弹窗挡住整个首屏。这种直接标失败,别硬存一张遮罩图上去——那比没有更糟,用户点开看到的是一块弹窗。
失败之后要有降级:先退回 favicon,再退回到按分类给的默认占位图。别让条目页出现破图。
更新频率和存储
三个月到半年更新一次就够了。站点首页不会天天变,频繁重截纯属浪费。
想省存储,可以在截图后算一个哈希,和上一张一致就跳过保存,只更新「最近确认时间」。实测下来能省掉一半以上的写入。一万条目每张 60KB,半年一次,一年的增量也就 1GB 出头,用对象存储成本可以忽略。
另外一个用法:截图哈希可以作为改版检测。哈希突然大幅变化说明对方改版了,这时候顺带触发一次人工复核——看看分类还准不准、描述要不要改。这个比定期全量复核省事得多。
收录侧的四个要点
图片路径要能被抓。别放在需要 JS 才生成的路径,也别放在 robots 挡住的目录里。截图是静态文件,直接给静态 URL。
给 alt。写站点名加一句功能描述,别写「截图」「preview」这种没信息的词。
图片站点地图可以列 CDN 域名。官方文档明确允许在图片 sitemap 里列出跨域的 image:loc,只要你在站点地图里声明了这个域名。图存在对象存储上也能被收。
别让截图成为页面唯一的内容。这条最重要。有些条目页就是一张图加一个站名,文字描述一行没有。图片不被索引的时候,那个页面等于空页面。截图永远是辅助,文字描述必须有。
两条法律上的注意
著作权。网页截图的内容归对方。作为目录站的小幅预览使用,在实务上争议不大,但如果你把整页长图存下来提供下载,性质就不一样了。只截首屏、只做预览,是相对稳妥的做法。
商标和名称。截图里出现对方的 logo、品牌名是正常的。但如果对方站点改版后用了未授权的第三方品牌标识,你这张截图就变成了传播载体。巡检里加上「内容是否异常」这一项,发现就换图或下架。
同样地,给别人一个更换或移除截图的通道。这个入口做在条目页底部就行,成本极低,但真遇到投诉时,有没有它完全是两种局面。
最后提醒一句:截图不能替代你对这个站的判断。用户看图是为了快速判断要不要点,不是让你把编辑工作交给一张图。描述该写的还是得写,那才是页面真正的内容。