0

我在使用社交媒体共享的 og 元标签时遇到问题。

我的应用中有社交媒体共享的链接:

 = 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"}

每个链接获取当前页面的绝对 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,因为我不希望社交媒体帖子重定向到社交媒体按钮所在的页面,而是重定向到不同的页面 (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%2Fnotification 在此处输入图像描述

似乎 facebook 能够抓取我的网址。它甚至向我展示了潜在帖子的预览。两个问题仍未解决:

1)当我点击我网站上的 facebook 共享链接时,我没有像在 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,我的页面中有一个礼物,这是我想在我的帖子中显示的描述,它出现在页面上:

<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">

我该如何解决这些问题?

4

1 回答 1

0

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

  1. 您的 Facebook 分享链接中似乎有一个杂散的右括号。如果删除它,该页面应该可以正常找到。

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

于 2016-11-16T18:36:45.270 回答