为Twitter分享和Facebook分享使用独特的标题标签... og:title覆盖了twitter:title

5

我有两个社交分享的元标签,分别是用于Facebook的og:title和用于Twitter的twitter:title。我需要它们各自不同。Twitter总是使用开放图谱标题,我需要找到一种方法来给每个分享标题添加不同的内容。目前我的代码如下。

<meta content="my unique title for facebook" property="og:title" />
<meta content="a description tag here for facebook" property="og:description" />

<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="my unique title for twitter content" />

分享功能使用的是 "Add This" https://www.addthis.com/academy/setting-the-url-title-to-share/ 软件,这是一个多个网站模板,因此不容易编辑HTML。我希望只使用元标记来找到解决方案。

我正在使用

<meta name="twitter:title" content="my content" />

并且分享到 Twitter 仍在使用 OG 标签。

Add This 代码如下:

    <!-- AddThis Button BEGIN -->
    <!-- Go to www.addthis.com/dashboard to customize your tools -->
    <script type="text/javascript">

      var addthis_config = {
          services_compact: 'email, facebook, twitter, digg, reddit, linkedin, myspace, plaxo, blogger, livejournal, more',
          services_exclude: 'print'
      };
      var addthis_share = {
           url_transforms : {
                shorten: {
                     twitter: 'bitly'
                }
           }, 
           shorteners : {
                bitly : {} 
           }
      };

    </script>
    <script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-56e1e3b04418084b"></script>
<!-- AddThis Button END -->

HTML

                            <a href="javascript:;" class="menuLink addthis_button"><i class="fa fa-share"></i> <span>Share</span></a>

尝试改变顺序是否有帮助...?如果不行,那么您可能需要通过服务器端读取请求的User-Agent,并仅输出一个OG元数据集。 - CBroe
谢谢,我确实尝试过这个方法,但是 Twitter:title 仍然没有被识别。 - Alex Borsody
2
应该使用<meta name="twitter:title" content="blah"> 而不是property。看看是否有帮助,因为Twitter文档中所说的你想做的事情是完全可能的。 - Jon Church
@JonChurch 你应该将这个作为答案添加。根据我在 https://cards-dev.twitter.com/validator 上进行的测试,现在它已经按预期工作了。而且 OP 已经编辑了问题,所以赏金应该归你。 - Kul-Tigin
我试过了,它仍然使用原始标签。 - Alex Borsody
1个回答

2
Twitter的爬虫总是优先采用Twitter元标签而不是Open Graph标签。根据他们的文档,当Twitter卡片处理器查找页面上的标签时,它首先检查Twitter特定属性,如果不存在,则使用支持的Open Graph属性。这允许两者在页面上独立定义。OP编辑了他们的问题,他们最初使用的是property标签而不是name标签。应该使用而不是。更改后,它就可以工作了。

没有这个更改,结果仍然是一样的。 - Alex Borsody
如果是这种情况,那很可能是您使用的共享插件出了问题,而不是您的元标签。请分享您正在使用的共享框的代码。 - Jon Church
我已经发布了分享插件的代码,标签现在似乎都是正确的,但仍在使用OG。 - Alex Borsody
我联系了他们以添加此支持,并且他们这样说:“……当用户使用我们的工具分享网页时,我们会抓取该URL的OG标签或Twitter卡片并将其发送到社交服务进行处理。话虽如此,您正在帮助的用户无法正常工作,这很奇怪。最好是如果他们可以分享出现此问题的网站的URL,以便我们进一步调查。您能否要求他们直接与我们联系,以便我们解决此问题?” - Jon Church
谢谢,你应该得到这份奖励!我会自己继续努力的。 - Alex Borsody
很酷,您随时可以授予悬赏 =] - Jon Church

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接