我在使用社交媒体共享的 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 & 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">
我该如何解决这些问题?