无法使用 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 & 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 调试器中分享您的页面输出。对于你的两个问题,
您的 Facebook 分享中似乎有一个错误的右括号 link。如果去掉,应该能正常找到页面。
看起来您的元标记确实正确标记了 Open Graph 属性(og:url,等等),所以我不明白为什么抓取工具不采摘它了。我唯一能想到的是元标记中 属性 和内容属性的顺序与 Facebook 网站上显示的示例的顺序相反,但我怀疑这是否重要...
我在社交媒体分享的 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 & 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 调试器中分享您的页面输出。对于你的两个问题,
您的 Facebook 分享中似乎有一个错误的右括号 link。如果去掉,应该能正常找到页面。
看起来您的元标记确实正确标记了 Open Graph 属性(og:url,等等),所以我不明白为什么抓取工具不采摘它了。我唯一能想到的是元标记中 属性 和内容属性的顺序与 Facebook 网站上显示的示例的顺序相反,但我怀疑这是否重要...