无法使用 og 标签显示丰富的社交媒体 post

Cant display rich social media post with og tags

我在社交媒体分享的 og 元标签方面遇到问题。

我的应用程序中有 link 用于社交媒体分享:

 = link_to "http://www.facebook.com/share.php?u=#{request.base_url}#{request.env['PATH_INFO']}" do
    #i{class: "fa fa-facebook-square social-icon", "aria-hidden"=>"true"}
  = link_to "http://www.linkedin.com/shareArticle?mini=true&url=#{request.base_url}#{request.env['PATH_INFO']}&source=#{request.base_url}" do
    #i{class: "fa fa-linkedin-square social-icon", "aria-hidden"=>"true"}
  = link_to "http://twitter.com/intent/tweet?status=#{request.base_url}#{request.env['PATH_INFO']}" do
    #i{class: "fa fa-twitter-square social-icon", "aria-hidden"=>"true"}

每个link获取当前页面的绝对url并将其插入每个特定社交媒体的分享url。

我有一个带有 Twitter、Facebook 和 linkedn 共享按钮的通知页面。我包含了以下 og 标签:

- content_for(:page_meta) do
  %meta{ property: 'og:title', content: "J’ai voté pour mon lauréat Stars et Metiers" }
  %meta{ property: 'og:url', content: laureates_url }
  %meta{ property: 'og:description', content: "J’ai voté pour mon lauréat coup de ❤ Stars & Métiers 2016 ! Et vous, quel est votre coup de cœur ? avec lien minimisé vers la page lauréat du site" }

og:url 不是当前页面 url 因为我不希望社交媒体 post 重定向到社交媒体按钮所在的页面,而是重定向到另一个页面(laureates_url)

但是我不断从每个社交媒体收到错误消息“找不到该页面”

我做错了什么?

更新

在我的 url 上使用 facebook 调试器后:

https://developers.facebook.com/tools/debug/og/object/?q=https%3A%2F%2Fstaging-starsetmetiers.herokuapp.com%2Fprix-coup-de-coeur-du-public%2F17701%2F通知

Facebook 似乎能够抓取我的 url。它甚至向我展示了潜力 post 的预览。还有两个问题没有解决:

1) 当我在我的网站上单击 facebook 共享 link 时,我没有像在 facebook 调试器中那样获得预览。我仍然收到找不到页面的错误:

2) 调试器告诉我

The 'og:description' property should be explicitly provided, even if a value can be inferred from other tags.

调试器在预览中确实使用了经典 meta name= "description" 中的描述。但是,我的页面中有一个 og:description,这是我想在我的 post 中显示的描述,它出现在页面上:

<meta content="J’ai voté pour mon lauréat coup de ❤ Stars &amp; Métiers 2016 ! Et vous, quel est votre coup de cœur ? avec lien minimisé vers la page lauréat du site" property="og:description">

我该如何解决这些问题?

感谢您按照我在评论中的建议在 Facebook 调试器中分享您的页面输出。对于你的两个问题,

  1. 您的 Facebook 分享中似乎有一个错误的右括号 link。如果去掉,应该能正常找到页面。

  2. 看起来您的元标记确实正确标记了 Open Graph 属性(og:url,等等),所以我不明白为什么抓取工具不采摘它了。我唯一能想到的是元标记中 属性 和内容属性的顺序与 Facebook 网站上显示的示例的顺序相反,但我怀疑这是否重要...