链接分享出去为什么没有封面图?

4 个讲解板块 · 关联 3 款站内工具 · 内容最后核对 2026-10-09

抓取是平台服务端做的,不执行页面脚本;图必须是绝对地址、尺寸达标、能被公开抓到。

直接答案

先理解抓取发生在哪一端:是平台的服务端爬虫来读你的页面源码,它不执行 JavaScript。所以用脚本在浏览器里动态写入标签的做法,抓取时看到的往往是空的,卡片就退回默认样式。

再看规范要求。图片地址必须是包含协议与域名的绝对地址,相对路径爬虫无法补全;尺寸上通常建议至少一千二乘六百三十像素、比例约一点九一比一,微信的下限更低但低于六百见方容易被压糊;格式只吃常见位图,动图只取静态帧,矢量与新一代格式多数平台不认;体积过大也会被放弃。

剩下两种是「能写对但抓不到」与「写了但没生效」:前者是防盗链、跨域策略、页面用加密而图片用明文、重定向过长;后者是平台强缓存,必须用官方调试工具强制刷新,否则可能几天后才自然更新。

分享卡片看着像个前端问题,其实它完全发生在服务端:内容由平台的爬虫读取,图片由平台抓取并缓存。理解这一点,排查方向就完全不同了。

所以「本地预览一切正常」并不能说明什么——浏览器能显示的图,爬虫可能因为防盗链、跨域策略或明文传输而拿不到。

这一篇把五类原因、对应的验证动作,以及微信特有的坑排开。

1五类原因与验证动作

按这个顺序查,基本一轮定位。

原因典型表现怎么验证
地址不是绝对路径卡片只有文字,没有图看源码里图片地址是否以协议开头
尺寸或比例不合规有图但被裁掉关键信息,或直接不展示量一下实际宽高与比例
格式或体积不支持部分平台有图、部分没有确认是常见位图格式且体积不过大
被拦住抓不到图地址在浏览器能开,爬虫拿不到用爬虫的标识去请求一次,看响应码
平台缓存旧结果改了没生效,过几天又好了用平台的调试工具强制刷新

微信内的浏览器对这套协议解析较弱,常退回到页面里的第一张图片,因此要强控就得补充它自己的私有标签。

2硬性规格

这些数字是各平台文档里反复出现的底线。

项目建议值说明
尺寸至少一千二乘六百三十像素比例约一点九一比一
微信下限不低于三百见方低于六百见方容易模糊
格式常见位图动图只取静态帧,矢量与新一代格式多数不认
体积控制在一到五兆以内过大时多数平台直接放弃
数量只留一张最优的允许写多张,平台取第一张

换图时改文件名(带版本号)比覆盖原图更可靠,因为部分平台会按地址去重或长期缓存。

3用户看不到的那些拦路虎

这几种最容易被忽略,因为浏览器里一切正常。

防盗链与来源校验
图片服务器按来源头或签名放行,爬虫的请求头不同就被拒
跨域策略
缺少跨域放行头时,某些平台的抓取会失败
混合内容
页面走加密而图片走明文,现代平台会直接拒绝加载
重定向过长
抓取方对跳转次数有上限,超过就中止并报错
被爬虫规则挡住
图片路径恰好落在禁止抓取的规则里

统一的处理方式是把分享图放到稳定路径(例如专门的分享图目录),配好跨域与缓存头,并避免带动态参数。

4动态站点的额外注意

页面多起来之后,这一条最容易漏。

每页都要输出自己的标签
只配首页会导致内页分享出去全是首页封面
在服务端渲染时注入
抓取不执行脚本,所以标签必须在返回的源码里
地址要与实际页面一致
避免被抓取方判定为跳转,从而取到别处的内容
改版后回归一次
模板层改动最容易把标签弄丢,用调试工具复测几页

一句话总结:抓取在服务端、看的是源码、图要能被公开抓到——按这三条查,八成问题当场定位。

相关疑问

为什么我在后台改了封面,微信里还是旧的?

平台对这套标签有强缓存。用官方调试工具触发一次重新抓取即可,否则要等缓存自然过期。改文件名比改内容更省事。

用新一代图片格式能更清晰更小,为什么平台不显示?

部分平台尚未支持这类格式,会当作不认识的类型忽略。分享图建议用最通用的位图格式,体积用压缩控制,不要用格式赌兼容性。

需要同时写多套社交平台的标签吗?

基础协议被多数平台识别,但个别平台有自己的扩展。稳妥做法是基础协议写全,再按目标平台补它的私有标签,并用各平台调试工具各验一次。

为什么有些页面有图,有些没有?

多半是模板不一致:内页模板少写了标签,或者内页的图地址是相对路径。逐页抽查源码是最快的定位方式。

内容标识:本页内容由人工智能辅助生成,并经人工核对与编辑。详见 人工智能生成内容标识说明。
内容说明:本页针对具体使用问题作答,方法步骤与数值由本站自行整理与复算,事实性内容以对应官方规范与文档为准。内容最后核对日期:2026-10-09。若发现错误,欢迎通过页脚反馈入口告知。