【问题标题】:"URL is unreachable" error for Facebook comments box being cached?缓存 Facebook 评论框的“URL 无法访问”错误?
【发布时间】:2012-05-15 22:35:24
【问题描述】:

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

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

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

我想我可以从临时站点中省略 Facebook cmets 框,但不希望这样做。还有其他想法吗?

【问题讨论】:

    标签: facebook facebook-opengraph facebook-comments


    【解决方案1】:

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

    Facebook 何时抓取我的页面?

    Facebook 需要抓取您的页面以了解如何显示它 网站。

    Facebook 每 24 小时抓取一次您的页面,以确保属性是 最新。当 Open Graph 的管理员时,该页面也会被抓取 页面点击 Like 按钮,当 URL 输入到 Facebook URL Linter。 Facebook 会观察你的 URL 上的缓存标头 - 它 将按优先顺序查看“Expires”和“Cache-Control”。 但是,即使您指定更长的时间,Facebook 也会抓取您的 每 24 小时一页。

    刮板的用户代理是:“facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)"

    这里有三个选项:

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

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

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

    【讨论】:

    • Nitzan,感谢您确认行为并提供建议。
    猜你喜欢
    • 2014-02-07
    • 1970-01-01
    • 2012-01-27
    • 2012-02-06
    • 1970-01-01
    • 2013-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多