代码之家  ›  专栏  ›  技术社区  ›  David Geismar

无法显示带有og标签的富社交媒体帖子

  •  0
  • David Geismar  · 技术社区  · 8 年前

    我在社交媒体共享的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)

    然而,我不断收到来自每个社交媒体的错误消息,“页面未找到”

    我在这里做错了什么?

    更新

    使用facebook调试器和我的url后:

    https://developers.facebook.com/tools/debug/og/object/?q=https%3A%2F%2Fstaging-starsetmetiers.herokuapp.com%2Prix coup de coeur du public%2F17701%2Notification enter image description here

    似乎facebook能够抓取我的url。它甚至向我展示了潜在职位的预览。两个问题仍然没有解决:

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

    如何解决这些问题?

    1 回复  |  直到 8 年前
        1
  •  0
  •   atsui    8 年前

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

    1. 看起来你的Facebook共享链接中有一个奇怪的右括号。如果您删除它,该页面将正常找到。

    2. 看起来你的元标记是用开放图属性(og:url等)正确标记的,所以我不明白为什么爬虫没有抓到它。我唯一能想到的是,meta标签中属性和属性属性的顺序与Facebook网站上显示的示例相反,但我怀疑这是否重要。。。