<meta name='twitter:card' content='summary_large_image'>
<meta name='twitter:title' content='文章标题'>
<meta name='twitter:image' content='https://www.example.com/share/cover.jpg'>

Twitter Card Validator 报 Unable to render Card preview,页面明明写了 twitter:card,抓取日志里显示的 card 却是空值。这类现象通常不是突然出现的,往前翻半天日志能看到苗头。

追下去是这么回事:twitter:card 的值被写成了 sumary_large_image,少一个 m,校验直接判为无效。标签用的是 property 而不是 name,部分抓取器读不到。

「Twitter Card 校验失败」排查到最后往往是很小的一处差异,前面那些复杂猜测可以先放一放。权限不要一口气开到最大,先加到够用再往上试,范围小才好收。

把复现步骤压到三条以内,交给同事也能跑出来,才算真的定位清楚。改动写完就同步给同事,下一个人踩同一个坑,成本还是你的。

验证用真实数据走一遍,测试数据太干净,边界情况根本碰不到。能分两步做的操作就别合成一步,中间看一眼返回值,出问题好判断。

处理上按这个顺序:把值改成 summary_large_image 并逐字核对;twitter 系列统一用 name 属性;补 twitter:image 的绝对地址 不要写相对路径。

确认没问题再收工,校验工具里能渲染出大图卡片,不再出现 Unable to render 的报错。

作者 9823189