Facebook link 中的作者姓名预览未显示

Author name in Facebook link previews not displaying

我正在尝试让 Facebook link 共享元标记为我的 Blogger 网站工作,尽管我得到的 link 预览大部分都有效(图像、标题、自定义描述等。 ), 我无法让作者 link 显示。

这是显示我所指内容的屏幕截图:

然而,这是我的博客的 link 预览,如使用 FB 共享调试器所见:

Facebook 说明只说检查我的个人资料设置中的“谁可以关注我”是否设置为“Public”,并在我的模板 <head> 中添加 <meta content='<FB_profile_URL>' property='article:author'/> .我已经做到了这一点,并在调试器中调试了我的元标记,这样就只剩下几个无关紧要的 errors/warnings (一个关于丢失的 fb:app_id 属性 (我没有 FB应用程序),有时还会出现有关 post 图片因小于 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 -->


更新: 之前我正在修改一个测试 post,当我在 Facebook 上预览它时,作者标签起作用了。我之前没有更改博客模板或元标记中的任何内容——它只是随机出现的。然而,在用不同的测试 post 再次测试时,作者标签消失了。我试过各种不同的东西 – post 长度(从 9 个段落到只有 10 个单词),是否有图像,等等 – 但我无法让作者标签重新出现,即使它就在那里
更新 #2: 以下是进一步测试的结果。 (请删除 link 中 https 周围的括号以使其正常工作。)

首先: 我 post 发了一条通知,说我要进行一系列测试 post,当我分享 link 对于 post,作者标签立即显示。
共享调试器 link: [https:]//developers.facebook.com/tools/debug/sharing/?q=https%3A%2F%2Fpreliator2.blogspot.com%2F2017%2F08%2F13-Tinkering-around-with-some-test-post.html
Object 调试器 link: [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

SECOND: 我创建了“Test post 2”,作者标签也显示了。 (原文post已被删除,爬虫信息暂存)
共享调试器 link: [https:]//developers.facebook.com/tools/debug/sharing/?q=https%3A%2F%2Fpreliator2.blogspot.com%2F2017%2F08%2Ftest-post.html
Object 调试器 link: [https:]//developers.facebook.com/tools/debug/og/object/?q=https%3A%2F% 2Fpreliator2.blogspot.com%2F2017%2F08%2Ftest-post.html

THIRD: 然后我创建了“Test post 3”,它与上面的“Test post 2”相同,除了稍微不同的标题和 permalink。然而,作者 link 从未出现过这个。下面的调试信息也与“Test post 2”相同。 (原文post已被删除,爬虫信息暂存)
共享调试器 link: [https:]//developers.facebook.com/tools/debug/sharing/?q=https%3A%2F%2Fpreliator2.blogspot.com%2F2017%2F08%2Ftest-post-3.html
Object 调试器 link: [https:]//developers.facebook.com/tools/debug/og/object/?q=https%3A%2F% 2Fpreliator2.blogspot.com%2F2017%2F08%2Ftest-post-3.html


更新#3:我已经尝试了所有我能想到的方法。就目前而言,也许 1 link in 10 I post 到 Facebook 会显示作者标签,​​而且似乎完全是随机的(虽然 可能 它们更经常出现在 links 到更短的 posts,或者更短的 titles/URLs/meta 描述......不过无法确认)。

例如,我 post 昨晚编辑了这个,作者 link 显示正常(屏幕截图 link):
[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

我有一个适合我的解决方案。在 this similar question 中,有人建议使用 FB_ID 而不是您的别名 FB URL。我试过了,最初在对象调试器中没有发现任何区别。一两个小时后,Facebook 提示我确认链接的发布,然后我可以在调试器中正确看到它:

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

我做了这个更改后,Facebook 通知我并要求我确认链接的出版物,你必须手动输入你为谁写的 FB 页面的名称,然后单击 "Add" 按钮,一次确认它看起来像:

这发生在引入 Facebook Instant Articles 之后,只有经过验证的 author/publisher 名称才会出现在 Link 预览中。

解决问题所需的步骤如下:

  1. 注册到Facebook Instant Articles,您可以在注册时选择需要关联的页面。

  2. 注册后,在配置部分,在工具部分下,您将被要求输入域详细信息(等等example.com),您必须按顺序验证您的网站发布即时文章。

  3. 按照说明添加meta标签,如果你用的是wordpress,可以看说明here。希望假设您会有其他元详细信息,例如 app_id、出版商名称、作者 link 等

  4. 您很快就会收到 Linked 发布的通知,要求确认。 Linked Publication Preview

就是这样。很快作者个人资料 link 就会出现在 Link 预览中。