【问题标题】:Facebook og: tags not found - operation timeout (Meteor)Facebook og:未找到标签 - 操作超时(流星)
【发布时间】:2015-12-09 22:55:10
【问题描述】:

我正在开发一个流星应用程序,并试图在人们分享链接时显示 Facebook 元数据。我们正在使用 Iron Router 并最终希望拥有动态元内容,但现在我只是想让静态元内容工作。我阅读了很多关于可蜘蛛的建议,但我认为这更适用于提供动态内容。也许是我弄错了?

我一直在使用 Facebook 调试器,但我不确定如何处理它提供的错误。在 Facebook 调试器中输入我们的网站 URL 时出现以下错误:

1) URL 'https://www.mywebsiteURL.com' 上的“网站”类型的对象无效,因为未提供“字符串”类型的必需属性“og:title”。

2) 卷曲错误:OPERATION_TIMEOUTED 操作在 10000 毫秒后超时,收到 0 个字节

3) 必须修复的错误对象缺少必需的值 - 位于 URL 'https://www.mywebsiteURL.com' 的类型为 'website' 的对象无效,因为类型为 ' 的必需属性 'og:title'未提供字符串'。

我们确实有一个 og:title,所以我认为这实际上不是问题。

似乎由于超时,它没有获取任何东西。我有一个标题块,当我从谷歌网站管理员工具执行“以谷歌方式获取”时,获取网页标题没有问题。下载时间为 0.084 秒。我最近做了一个新的索引请求,但我认为这不会导致 Facebook 的抓取工具出现问题。

来自我的 index.html 文件:

<head>
  <title>Company Name</title>
  <meta name="description" content="Description here">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"/>   
  <link rel="shortcut icon" href="image path">

  <!-- Facebook Meta -->
  <meta property="og:title" content="My Page Title"/>
  <meta property="og:type" content="website" />
  <meta property="og:site_name" content="My Website title"/>
  <meta property="og:url" content="https://www.mywebsiteURL.com" />
  <meta property="og:image" content="MyImagePath" />
  <meta property="og:description" content="Website Description" />

  <!-- Twitter Meta -->
  <meta name="twitter:card" content="summary" />
  <meta name="twitter:site" content="@companyname" />
  <meta name="twitter:title" content="My page title" />
  <meta name="twitter:description" content="My page description" />
  <meta name="twitter:image" content="My image path" />
  <meta name="twitter:url" content="https://www.mywebsiteURL.com" />
</head>

我很困惑。任何建议都会很棒!

【问题讨论】:

  • 我正在使用这个包atmospherejs.com/manuelschoebel/ms-seo 并且我得到了非常好的结果,我也可以在fb中与动态图像共享动态数据。 :)
  • 谢谢,我会试一试,如果成功了再告诉你。
  • 很遗憾我还没有成功。我使用了这个包,它似乎正在向 DOM 提供标头数据,但 FB scraper 仍然有相同的错误。检查控制台时似乎发生了 websocket 错误。我想知道这是否与 FB 的超时错误有关。错误是:WebSocket 连接到“...”失败:... WebSocket 握手期间出错:意外响应代码:400
  • fb 缓存 url 数据一段时间如果你想更新数据去这个 url developers.facebook.com/tools/debug 并输入你的 url 并点击 debug 然后点击 fetch new scrap 这将获取新数据,我认为这在本地不起作用
  • 感谢您的建议,但我每次都在获取新的刮痕。同样的错误。

标签: facebook-graph-api meteor meta-tags


【解决方案1】:

我最终通过下载Spiderable package 解决了这个问题。我不完全确定为什么 Facebook 的爬虫程序无法在 HTML 标头中获取静态元内容,而 Google 机器人似乎可以。

我使用 Homebrew 来安装 PhantomJS。如果您没有返回游标,请不要忘记在发布函数中包含 this.ready()!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多