Twitter卡元标记问题

时间:2019-08-13 14:35:03

标签: html debugging facebook-opengraph twitter-card

有问题的网址:https://www.halleonard.com/viewpressreleasedetail.action?releaseid=10261

当您在浏览器和开发人员工具中查看源代码时,可以看到Open Graph和Twitter的所有元标记。我已经检查了Facebook Debugger,除了一些规范性的问题之外,我对结果非常满意。

我还将上面的URL插入了第三方Open Graph Debugger: http://debug.iframely.com/ 并且所有用于Open Graph,Twitter和其他标签的标签都恢复了正值。

为什么Twitter的Card Validator会返回一个

INFO:  Page fetched successfully
INFO:  9 metatags were found
ERROR: No card found (Card error)

enter image description here

对我如何使Twitter正确显示有何见解?

3 个答案:

答案 0 :(得分:1)

我认为您可能正在阻止或重定向Twitterbot代理。

我用Twitterbot伪造了一个curl特工:

curl -A 'Twitterbot' https://www.halleonard.com/viewpressreleasedetail.action?releaseid=10261 -o ~/Desktop/what-twitterbot-sees.html

这是您的服务器返回的信息:

enter image description here

如您所见,有10个元标签(如果不包括<meta charset>,则是卡片验证程序指示的内容,根本没有<meta name="twitter:*">标签。

如果可以设置自定义用户代理字符串,则可以使用浏览器进行复制。使用谷歌浏览器可以做到这一点:

enter image description here

我很确定在您的Web服务器级别或您的应用程序代码中都有某种重定向规则。


根据developer.twitter.com,我使用的用户代理字符串是正确的:

  

Twitter使用Twitterbot的用户代理(版本,例如Twitterbot / 1.0)

答案 1 :(得分:0)

我用w3c验证程序检查了您的源代码。

https://validator.w3.org/

似乎Google标记管理器未正确安装:您必须将google tag manager (noscript)部分顶部的body(第10:13行)移到head上,并将其完全删除部分。

您可以在此处找到一些信息 https://support.google.com/tagmanager/answer/6103696?hl=en

,以及(更具体地)在您的代码管理器页面中(如附件所示)

tag manager install instructions

答案 2 :(得分:0)

由于您选择了twitter:card类型,因此出现错误。您忘记添加twitter:image内容。这些都应该添加。

<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="ADD IMAGE URL">

Reference Link