facebook - 正在缓存 Facebook 评论框的 "URL is unreachable"错误?

标签 facebook facebook-opengraph facebook-comments

我们的网站使用 Facebook 评论框插件。我们在我们的防火墙后面的暂存站点上包含评论框,这意味着 Facebook 无法访问它并生成“URL 无法访问”错误。这个我明白了。

但是,一旦页面发布,并且可以通过 Facebook 访问,错误仍然显示。这可以通过单击随错误一起提供的调试链接轻松修复,但我的内容编辑者不想每次都这样做,他们有时会忘记。

一旦您使用调试器,可达状态似乎已被缓存并重置。谁能想到另一种解释?

我想我可以从暂存站点中省略 Facebook 评论框,但我不想这样做。还有其他想法吗?

最佳答案

Like Button 的文档中他们解释页面何时被抓取:

When does Facebook scrape my page?

Facebook needs to scrape your page to know how to display it around the site.

Facebook scrapes your page every 24 hours to ensure the properties are up to date. The page is also scraped when an admin for the Open Graph page clicks the Like button and when the URL is entered into the Facebook URL Linter. Facebook observes cache headers on your URLs - it will look at "Expires" and "Cache-Control" in order of preference. However, even if you specify a longer time, Facebook will scrape your page every 24 hours.

The user agent of the scraper is: "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)"

这里有三个选项:

  1. 您可以通过发出一个简单的 http 请求来调用调试器,您可以在发布文章(或您要发布的任何内容)时从服务器执行此操作,而不必使用调试器工具.

  2. 您可以检查请求的用户代理字符串,如果它是 facebook scraper 允许它以便它可以缓存页面。

  3. 您可以为生产和暂存使用不同的 url,这样暂存页面的缓存在生产中就无关紧要了。

关于facebook - 正在缓存 Facebook 评论框的 "URL is unreachable"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10609763/

相关文章:

facebook - 如何删除我开发的 Facebook 应用程序?

为 Facebook 应用程序批准崩溃而构建的 iOS 模拟器

ios - Facebook通过iOS中的Facebook SDK通过应用程序登录?

javascript - 如何检索资源的 og/meta 属性?

facebook - 为什么 Facebook sharer.php 在多个 og :images have been scraped? 时不提供图像选择

facebook - 无法让 Facebook 评论审核工作

javascript - 结束后获取 Facebook 用户 session

facebook - 允许用户添加 disqus/facebook 评论插件

javascript - 如何使用 JavaScript 显示 Facebook 评论?