Facebook链接预览中作者名称未显示

8
我试图让我的博客网站的Facebook链接分享元标签正常工作,虽然我已经基本上实现了链接预览(图片、标题、自定义描述等),但我无法显示作者链接。
下面是一张屏幕截图,显示了我所指的内容:
https://istack.dev59.com/jFETc.webp 然而,以下是我的博客的链接预览,使用FB共享调试器查看:
https://istack.dev59.com/qBw8l.webp Facebook的说明只要求检查我的个人资料设置中的“谁可以关注我”,并在我的模板的中添加。我已经这样做了,并在调试器中调试了我的元标签,只剩下几个微不足道且不相关的错误/警告(一个关于缺少属性(我没有FB应用程序)和有时会警告忽略帖子图像,因为它小于200×200)。
以下是我模板中的所有社交媒体元标签(包括Twitter和Google+的标签,以防有人指出任何可能存在的冲突标签或属性)。
<!-- start social media meta tags -->

  <!-- start Facebook/Open Graph meta tags -->
  <meta expr:content='data:blog.title' property='og:site_name'/>
  <meta content='https://www.facebook.com/joemcken' property='article:author'/>
  <b:if cond='data:blog.pageType == &quot;item&quot;'>
    <meta content='article' property='og:type'/>
  <b:else/>
    <meta content='blog' property='og:type'/>
  </b:if>
  <b:if cond='data:blog.postImageUrl'>
    <meta expr:content='data:blog.postImageUrl' property='og:image'/>
  <b:else/>
    <meta content='https://1.bp.blogspot.com/-oXxCTyNh6gc/WY7QMBR_eNI/AAAAAAAAAl0/cGml_-lFF6wfpvr_gnVwuWBgAKN8Ok3awCLcBGAs/s1600/Preliator_favicon_large.png' property='og:image'/>
  </b:if>
  <!-- end Facebook/Open Graph meta tags -->

  <!-- start Twitter card meta tags (source: https://twittercommunity.com/t/blogger-twitter-card-image-display-problem-solution/82315) -->
  <meta content='summary' name='twitter:card'/>
  <meta content='@joemcken' name='twitter:site'/>
  <meta content='@joemcken' name='twitter:creator'/>
  <meta expr:content='data:blog.homepageUrl' name='twitter:domain'/>
  <b:if cond='data:blog.pageType == &quot;item&quot;'>
    <meta expr:content='data:blog.canonicalUrl' name='twitter:url'/>
    <meta expr:content='data:blog.pageName' name='twitter:title'/>
  <b:else/>
    <meta expr:content='data:blog.homepageUrl' name='twitter:url'/>
    <meta expr:content='data:blog.pageTitle' name='twitter:title'/>
  </b:if>
  <b:if cond='data:blog.postImageUrl'>
    <meta expr:content='data:blog.postImageUrl' name='twitter:image'/>
  <b:else/>
    <meta content='https://1.bp.blogspot.com/-oXxCTyNh6gc/WY7QMBR_eNI/AAAAAAAAAl0/cGml_-lFF6wfpvr_gnVwuWBgAKN8Ok3awCLcBGAs/s1600/Preliator_favicon_large.png' name='twitter:image'/>
  </b:if>
  <b:if cond='data:blog.metaDescription'>
    <meta expr:content='data:blog.metaDescription' name='twitter:description'/>
  </b:if>
  <!-- end Twitter card meta tags -->

  <!-- start Google+ meta tags -->
  <b:if cond='data:blog.pageType != &quot;index&quot;'>
    <meta expr:content='data:blog.pageName' itemprop='name'/>
    <meta expr:content='data:blog.canonicalUrl' itemprop='url'/>
  <b:else/>
    <meta expr:content='data:blog.title' itemprop='name'/>
    <meta expr:content='data:blog.homepageUrl' itemprop='url'/>
  </b:if>
  <link href='https://plus.google.com/102494175517749861425' rel='author'/>
  <link href='https://plus.google.com/102494175517749861425' rel='publisher'/>
  <b:if cond='data:blog.metaDescription'>
    <meta expr:content='data:blog.metaDescription' itemprop='description'/>
  </b:if>
  <b:if cond='data:blog.postImageUrl'>
    <meta expr:content='data:blog.postImageUrl' itemprop='image'/>
  <b:else/>
    <meta content='https://1.bp.blogspot.com/-oXxCTyNh6gc/WY7QMBR_eNI/AAAAAAAAAl0/cGml_-lFF6wfpvr_gnVwuWBgAKN8Ok3awCLcBGAs/s1600/Preliator_favicon_large.png' itemprop='image'/>
  </b:if>
  <!-- end Google+ meta tags -->

<!-- end social media meta tags -->
更新: 我之前在测试帖子中进行了一些尝试,当我在Facebook上预览时,作者标签起作用了。在此之前,我没有更改博客的模板或元标记 - 它只是随机出现了。然而,用不同的测试帖子再次测试后,作者标签消失了。我试过玩弄各种东西 - 帖子长度(从9段落到仅十个单词),有无图像等,但即使它刚刚出现,我也无法使作者标签重新出现。
更新 #2: 以下是进一步测试的结果。(请删除链接中https周围的括号以使其正常工作。)
第一: 我发布了一个通知,说我将发布一堆测试文章,当我分享该文章的链接时,作者标签立即显示。
共享调试器链接: [https:]//developers.facebook.com/tools/debug/sharing/?q=https%3A%2F%2Fpreliator2.blogspot.com%2F2017%2F08%2F13-Tinkering-around-with-some-test-post.html
对象调试器链接: [https:]//developers.facebook.com/tools/debug/og/object/?q=https%3A%2F%2Fpreliator2.blogspot.com%2F2017%2F08%2F13-Tinkering-around-with-some-test-post.html
第二: 我创建了“测试文章2”,该文章的作者标签也显示出来了。(原始帖子已被删除,但爬取信息现在仍然存在。)
共享调试器链接: [https:]//developers.facebook.com/tools/debug/sharing/?q=https%3A%2F%2Fpreliator2.blogspot.com%2F2017%2F08%2Ftest-post.html
对象调试器链接: [https:]//developers.facebook.com/tools/debug/og/object/?q=https%3A%2F%2Fpreliator2.blogspot.com%2F2017%2F08%2Ftest-post.html
第三: 然后我创建了“测试文章3”,它与上面的“测试文章2”完全相同,除了标题和永久链接略有不同。但是这一次作者链接从未出现过。下面的调试信息与“测试文章2”完全相同。(原始帖子已被删除,但爬取信息现在仍然存在。)
共享调试器链接: [https:]//developers.facebook.com/tools/debug/sharing/?q=https%3A%2F%2Fpreliator2.blogspot.com%2F2017%2F08%2Ftest-post-3.html
对象调试器链接: [https:]//developers.facebook.com/tools/debug/og/object/?q=https%3A%2F%2Fpreliator2.blogspot.com%2F2017%2F08%2Ftest-post-3.html
更新 #3: 我已经尝试了我能想到的一切。目前为止,我在 Facebook 上发布的链接中,可能只有 10% 的链接会显示作者标签,而且似乎是完全随机的,不能确认哪些链接会显示或不显示(也许它们更容易出现在短帖子的链接上,或者与较短的标题/URL/元描述有关……虽然我不能确定)。
例如,昨晚我发了这个帖子,作者链接正常显示(截图链接):
[https:]//image.prntscr.com/image/uwNewssrRz_GD8-z5kuPBA.jpeg
重新抓取后,标签仍然存在:
[https:]//developers.facebook.com/tools/debug/sharing/?q=https%3A%2F%2Fpreliator2.blogspot.com%2F2017%2F08%2F16-I-feel-Hals-pain-120.html

你解决过这个问题吗?我也遇到了同样的问题,我尝试使用我的普通Facebook URL以及我的ID来代替别名,但似乎都不起作用。 - David Zemens
2个回答

2
这是在引入Facebook Instant Articles后发生的事情,只有经过验证的作者/出版商名称才会出现在链接预览中。
解决此问题所需的步骤如下:
1. 注册Facebook Instant Articles,注册时必须选择要关联的页面。
2. 注册后,在配置部分的工具部分下,您将被要求输入域名详细信息(例如example.com),您必须验证您的网站才能发布即时文章。
3. 按照添加元标记的说明操作,如果您使用WordPress,则可以在此处查看说明。希望您还有其他元详细信息,如app_id、发布者名称、作者链接等。
4. 不久您将收到一个关于Linked Publication的通知,要求确认。
5. 完成以上步骤后,作者资料链接将出现在链接预览中。

1
我有一个解决方案适用于我。在这个类似的问题中,有人建议使用FB_ID而不是您的别名FB URL。我尝试了一下,最初在对象调试器中没有看到任何区别。一两个小时后,Facebook提示我确认链接的发布,然后我可以在调试器中正确地看到它:

enter image description here

首先,使用您的FB_ID而不是别名,例如:https://facebook.com/123456789而不是https://facebook.com/yourname

在我进行这个更改后,Facebook通知了我并要求我确认链接的发布,您必须手动输入您撰写文章的FB页面名称,然后点击“添加”按钮,一旦确认它看起来会像这样:

enter image description here


1
我已经忘记了这个问题。最终,我直接向Facebook发送了一个错误报告,过了一段时间他们修复了它,作者署名开始出现了。但是几周前,它们再次消失了 - 不仅是在我的文章上,而且几乎所有人的文章上都是如此。(请参见https://dev59.com/8aXja4cB1Zd3GeqPW9Lv)似乎FB放弃了以前的署名结构,改用“链接出版物”。问题是我没有我的博客的出版物页面 - 它只是一个个人博客 - 所以对我来说,链接出版物是无用的。对我来说没有更多的署名了。 :( 但很高兴听到它对你有用。 - Walter

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