【问题标题】:facebook is not recognizing my meta tagsfacebook 无法识别我的元标签
【发布时间】:2011-05-24 11:53:06
【问题描述】:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
   <html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:og="http://ogp.me/ns#"
      xmlns:fb="http://www.facebook.com/2008/fbml">
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="Content-Language" content="en" />
        <title></title>
            <meta property="og:title" content="Katha Screenplay Darsakatvam (KSD) Appalaraju "/>
        <meta property="og:type" content="movie"/>
        <meta property="og:url" content="http://reviewumpire.com/movies/54-katha-screenplay-darsakatvam-ksd-appalaraju-"/>

        <meta property="og:image" content="http://reviewumpire.com/images/uploads/movie/vertical/54/vert.jpg"/>
        <meta property="og:site_name" content="ReviewUmpire"/>
        <meta property="fb:app_id" content="162180660488445" />
        <meta property="fb:admins" content="57728908711" />
        <meta property="og:description" content="23% scored on reveiwumpire."/>

        <meta name="google-site-verification" content="RXjWilEYk0eC_6ulYSV_AaFVSQe8nHI6Zw4_W9dVR5I" />
        <script src="/javascripts/vendor/jquery.min.js?1306239220" type="text/javascript"></script>
    <script src="/javascripts/vendor/quote.rotator.js?1306239220" type="text/javascript"></script>

    <script src="/javascripts/vendor/scroll.js?1306239220" type="text/javascript"></script>
    <script src="/javascripts/vendor/rails.js?1306239220" type="text/javascript"></script>
    <script src="/javascripts/application.js?1306239220" type="text/javascript"></script>
        <link href="/stylesheets/compiled/grid.css?1306239220" media="screen" rel="stylesheet" type="text/css" />
    <link href="/stylesheets/compiled/text.css?1306239220" media="screen" rel="stylesheet" type="text/css" />
        <link href="http://fonts.googleapis.com/css?family=Play:regular,bold&amp;subset=greek,latin" media="screen" rel="stylesheet" type="text/css" />
        <link href="http://fonts.googleapis.com/css?family=Ubuntu:regular,bold&amp;subset=greek,latin" media="screen" rel="stylesheet" type="text/css" />
        <meta name="csrf-param" content="authenticity_token"/>
    <meta name="csrf-token" content="ZrmCr3Qg7dNgPynFSSyFEHNaSpOUMYNEput1oUcyMIE="/>
      </head>

当我使用 facebook lint http://developers.facebook.com/tools/lint 它没有检测到我的任何 facebook 标签

Warning
Required Property Missing   og:title is required
Required Property Missing   og:type is required
Required Property Missing   og:image is required
Required Property Missing   og:url is required

【问题讨论】:

  • 您尚未接受答案。您确定问题的原因了吗?

标签: facebook facebook-opengraph


【解决方案1】:

我知道这是一个老问题,但我真的看不到我找到的答案 - 只需删除 facebook 元代码末尾的斜杠 (/)。

如果你没有使用正确的 DOCTYPE,Facebook 会创建错误的代码:

<meta property="og:title" content="Katha Screenplay Darsakatvam (KSD) Appalaraju "/>

正确的是:

<meta property="og:title" content="Katha Screenplay Darsakatvam (KSD) Appalaraju ">

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,我发现 Facebook 可以识别

    AddMetaData("og:url", "yourURL")
    

    然后转到你的 URL 以获取其他标签信息,例如 og:title...等

    【讨论】:

    • 根据我的经验,大多数开放图元数据问题要么是这个(og:url 指向一个缺少元数据的页面),要么是该页面向 Facebook 爬虫返回的 HTML 与返回给常规浏览器的 HTML 不同
    【解决方案3】:

    我检查了我的代码,发现我在标签之前输出了一些数据。这导致 facebook 解析器搞砸了,一旦我从这些标签之外删除了 html,它就可以正常工作。

    【讨论】:

      【解决方案4】:

      您在og:url 元标记中指定的网址包含无效的fb:admin。请使用有效的管理员 ID 更新它,然后重试。

      Facebook Debugger Tool 上查看 Lint 信息

      “website”类型的 URL“http://reviewumpire.com/movies/54-katha-screenplay-darsakatvam-ksd-appalaraju-”上的对象无效,因为属性“fb:admins”的给定值“57728908711”无法解析为类型“fbid”。 Invalid Admins -> fb:admins 字段包含一些无效的 id,即 57728908711

      【讨论】:

      • 这是我需要的链接。我需要重新抓取 OG 对象,而不是重新抓取 OG 标签本身。
      【解决方案5】:

      您缺少命名空间定义 xmlns:fb="http://www.facebook.com/2008/fbml" xmlns:og="http://opengraphprotocol.org/schema/"

      编辑: <html xmlns:fb="http://www.facebook.com/2008/fbml" xmlns:og="http://opengraphprotocol.org/schema/" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">

      【讨论】:

      • 你还需要原来的命名空间定义。
      • 你能粘贴整行让我试试。
      • 仍然失败请看下面的 url reviewumpire.com/movies/…
      • 我正在使用javascript sdk来生成like按钮
      • 您在实际页面的源代码中缺少 DOCTYPE 定义...通过验证器运行您的页面validator.w3.org
      【解决方案6】:

      检查您的服务器为该页面发送的 HTTP 响应标头。

      如果缺少 Content-Length 字段,那就是您的问题。根据我的经验,如果缺少该字段,Facebook 将不会解析您的页面。

      【讨论】:

        【解决方案7】:

        对我来说,这是因为我有一个 302 重定向来访问带有 OG 元标记的实际页面。我的猜测是 Facebook 爬虫不遵循重定向,因此您必须确保在第一次请求时返回 200。

        【讨论】:

          【解决方案8】:

          元标记中的编码双引号也可能是错误的,例如您已将代码从浏览器复制到编辑器中。

          我使用 linter 在我的页面标记中发现了大量错误 https://developers.facebook.com/tools/debug/

          下面是一个功能:“确切地查看我们的抓取工具为您的 URL 看到的内容”,这真的很有帮助。

          【讨论】:

            【解决方案9】:

            尝试删除

            <meta property="fb:app_id" content="162180660488445" />
            <meta property="fb:admins" content="57728908711" />
            

            并使用它来测试您的 url 和错误信息

            http://developers.facebook.com/tools/debug

            【讨论】:

              【解决方案10】:

              我们注意到,facebook 爬虫愿意跟踪 og:image url 中的重定向,但 facebook 客户端不这样做。举这个例子。

              尝试将以下链接发布到 Facebook。如果 facebook 之前已经查看过该 url,那么他们的爬虫将正确缓存该图像。如果没有,就不会。为了模拟这种行为,将一个随机字符串放入下面 url 的 ref 参数中。

              http://www.blipboard.com/4fac51e571272e0100000015?ref=1

              如果您尝试发布此 url(插入随机 id),它将无法在第一次显示正确的图像。如果您然后重新加载 facebook 页面并尝试再次发布,这一次它将起作用。

              元标记如下(需要重定向):

              <meta property="og:image" content="http://graph.facebook.com/1000484548/picture?type=large" />
              

              对此我的最佳解释是 facebook 客户端代码不遵循重定向,但爬虫会遵循重定向(调试器也是如此)

              【讨论】:

                猜你喜欢
                • 2014-07-15
                • 2017-05-08
                • 1970-01-01
                • 2022-01-05
                • 2015-12-26
                • 1970-01-01
                • 1970-01-01
                • 2013-05-08
                • 2017-11-04
                相关资源
                最近更新 更多