【问题标题】:How to stop 403 and 404 http errors from facebook bots and/or refresh share cache如何停止来自 Facebook 机器人的 403 和 404 http 错误和/或刷新共享缓存
【发布时间】:2012-02-09 15:26:33
【问题描述】:

几周前更改服务器上的目录结构后,我从 facebook 机器人那里收到了很多 403 和 404 错误。当然,在这种情况下应该会出现这样的错误,直到缓存被清除,并且在大多数情况下都会发生这种情况。但是,对于一组选定的共享链接,我仍然收到此错误。我已经反复尝试通过相应页面的调试工具清除缓存,并且输出中的一切看起来都很完美,但是错误的请求不断出现。 (皮棉工具:lint tool url)。以下是我的日志中的一些示例:

HTTP 访问日志:

69.171.224.251 - - 443 [13/Jan/2012:06:22:01 -0500] "GET /web/user/images/b0/b0ahhSjq1C1oEX0TBS5gLAmcSX4wKdPT.240.jpg HTTP/1.1" 403 338

和http错误日志:

[Fri Jan 13 05:55:01 2012] [error] [client 69.171.228.249] File does not exist: /var/xxx/www/html/web/user/images/1/ab/abSIktLHDs3rcUPYyFtxsP8J9u7vvaVr.240.jpg

这些 IP 地址指向 facebook。

也许我在整理错误的网址?如何找出这些请求属于哪个 url? facebook 在某个时间点后不会停止请求并刷新其缓存吗?上面的第二个错误在上周每天重复大约 25 次。

(此时我不会考虑重写url。)

【问题讨论】:

  • 要么忽略它们(这对您的网站没有害处),要么将它们重定向到正确的内容(使用301 Moved Permanently;这将导致大多数蜘蛛/自动化工具更新它们的索引)。

标签: facebook share bots http-error


【解决方案1】:

您应该设置 301 永久重定向。或者进行某种 url 重写。无论哪种方式都有效。

您还可以确保您的报告过滤掉 linter/scraper 的用户代理

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-04
    • 2016-10-11
    • 2020-11-10
    • 1970-01-01
    相关资源
    最近更新 更多