好的,我已经找到了错误!我正在使用来自http://www.typography.com/的字体,如果我从<head>
中删除了字体的链接(或者甚至将其放入正文中),则每次都会正确获取该网站!
摘要 :如果您使用的是从远程域加载的webfonts(也会进行某种许可审批流程),那么spiderable包将破坏!
所以我使用meteor.js构建了这个简单的网站。它位于Digital Ocean上,使用meteor up部署(启用了phantomjs)并使用spiderable包。
Here's the site, it's a simple portfolio
现在,当我为exampel做curl http://portfolio.new-doc.com/?_escaped_fragment_=
时,它将首先返回一个空体(经典流星 - 无蜘蛛行为),但如果我在几秒内做同样的卷曲,它会返回正确的结果。 (如果我在我的机器上卷曲localhost:3000,情况也是如此)。
首先,spiderable包没有做到这一点,然后它确实如此。感觉就像第一个curl
它返回空站点(但加载了服务器上的所有publiscations / subscriptions),而第二个curl
它使用现在加载的订阅并返回正确的结果
Google网站管理员工具也是如此。我的第一个fetch as google bot
返回一个空体,第二个(如果在第一个之后快速生成)返回正确的页面。
该网站只有一个发布和一个订阅。发布要么从订阅返回一个或多个页面,要么运行this.stop()
。订阅是在应用程序的唯一iron-router路由中的waitOn
功能中设置的。这里没有复杂的东西。
由于curl命令返回正确的结果,有时我认为错误不在publish / subs中吗?
过去我已经开始使用spiderable包了,但是我也花了很多时间来对抗它! 相当令人沮丧。
有什么想法吗?谢谢!
答案 0 :(得分:0)
好的,我已经找到了错误!我正在使用来自http://www.typography.com/的字体,如果我从中删除了字体的链接(或者甚至将它放在正文中),每次都会正确获取网站!
摘要: 如果您使用的是从远程域加载的webfonts(也会进行某种许可审批流程),那么spiderable包将破坏!