Twitter分享HTTPS链接时缩略图偶现不显示问题排查
Twitter分享HTTPS链接无缩略图问题排查
问题现象
- 在Twitter平台输入
www.8billionminds.com或http://8billionminds.com分享时,链接缩略图可正常展示 - 输入
https://8billionminds.com分享时缩略图无法加载 - 该异常仅在Twitter平台出现,LinkedIn、Facebook平台同链接的分享展示均正常
站点当前Meta标签配置
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>8Billionminds | worldwide live learning platform</title> <meta name="description" content="We are a free online interactive learning platform where you can learn, teach and chat about almost anything." /> <meta name="keywords" content="live learning, online learning" /> <meta property="og:site_name" content="8Billionminds" /> <meta property="og:type" content="website" /> <meta property="og:location" content="en_UK" /> <meta property="og:url" content="http://www.8billionminds.com/" /> <link rel="canonical" href="http://www.8billionminds.com" /> <meta property="og:title" content="8Billionminds | worldwide live learning platform" /> <meta property="og:description" content="We are a free online interactive learning platform where you can learn, teach and chat about almost anything." /> <meta property="og:image" content="${webAppRoot}images/8BM-open-graphic.png" /> <meta property="og:image:alt" content="${webAppRoot}images/8BM-open-graphic.png" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:site" content="@8Billionminds" /> <meta name="twitter:title" content="8Billionminds | worldwide live learning platform" /> <meta name="twitter:description" content="We are a free online interactive learning platform where you can learn, teach and chat about almost anything." /> <meta name="twitter:image" content="${webAppRoot}images/8BM-open-graphic.png" /> <meta name="twitter:image:alt" content="${webAppRoot}images/8BM-open-graphic.png" />
问题原因说明
- 核心差异来自各平台爬虫的地址归一化逻辑不同
页面中og:url和canonical标签都硬编码为http://www.8billionminds.com/,Facebook、LinkedIn的爬虫会自动将同域名下不同协议(HTTP/HTTPS)、不同子域(根域/WWW子域)的地址识别为同一资源,直接复用已抓取到的元数据(含缩略图)。但Twitter爬虫的地址校验逻辑更严格,当用户输入的分享入口https://8billionminds.com和页面声明的权威URL在协议、子域两项都不匹配时,不会直接复用已有缓存,会触发独立的资源校验流程。当时如果HTTPS根域的抓取链路出现临时波动(比如证书链校验临时异常、爬虫节点访问超时、规则缓存错误),就会出现元数据抓取不全、缩略图加载失败的问题。 - 未修改配置自动恢复的原因
Twitter爬虫的分享元数据缓存默认有效期为7天左右,缓存到期后爬虫会重新对所有常见访问入口(HTTP根域、HTTP带WWW、HTTPS根域)做全量抓取,识别到三个地址返回的页面内容完全一致后,会自动做地址归一化、合并缓存数据,缩略图即可恢复正常展示。 - 现有配置的不规范点(不影响本次故障,但建议修正)
目前og:image:alt、twitter:image:alt字段填写的是图片资源路径,alt属性本应填写图片的文本替代描述,供无障碍读屏场景使用,填写资源路径不符合规范。
更新:目前缩略图展示已恢复正常,期间未对站点配置做任何修改。
内容的提问来源于stack exchange,提问作者shidoro
相关产品推荐
相关产品推荐

