最近我注意到Facebook的Object Debugger无法抓取我网站的任何页面。在对互联网进行故障排除和搜索之后,我对可能导致此错误的原因感到茫然。
每当我尝试获取我的网站的新网页时,都会返回以下错误:
解析输入网址时没有错误,没有缓存任何数据,也没有删除任何数据。
当点击“查看我们的刮刀看到你的网址的确切内容”时,刮刀会返回:
文档没有返回数据
由于缺乏数据,这显然有点难以调试。这是我到目前为止所尝试的内容:
fb:app_id
,og:title
,og:description
,og:site_name
,og:url
和og:type
都在场。我对可能造成这种情况的原因感到茫然。如果有人有任何想法,或需要更多信息,我很乐意提供。
检查访问日志后,我看到以下内容:
173.252.112.115 - - [22 / Jun / 2015:20:49:02 +0000]“GET / HTTP / 1.1”404 993“ - ”“facebookexternalhit / 1.1 (+ http://www.facebook.com/externalhit_uatext.php)“
但这很奇怪,因为普通用户会紧接着:
[user ip] - - [22 / Jun / 2015:20:48:09 +0000]“GET / HTTP / 1.1”200 28227 “ - ”“Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 535.7(KHTML, 像Gecko)Chrome / 16.0.912.63 Safari / 535.7“
robots.txt中没有任何内容可以禁止机器人。
编辑:这个网站在Django上运行,AngularJS正在为我的网页提供服务。我正在使用django-seo-js与prerender一起工作以改善SEO。答案 0 :(得分:1)
当我在Chrome中访问您的网页并将facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)
作为User-Agent
标题的值发送时,我也获得了404(我使用了ModHeader扩展程序),而使用普通Chrome用户的请求-Agent向我展示你的起始页就好了。
因此,如果您有任何插件,“防火墙”规则或类似的设置来对抗“机器人”的请求 - 可能会在FB刮刀的访问方面有点过于热心。 德尔>
这似乎不是它(只是一个有根据的猜测,因为这通常是这些问题的原因),但正如你所说,
它抛出了一个Javascript堆栈跟踪。这似乎可能是由prerender引起的
- 如果您找到确切原因,请告知我们。