meteorjs - spiderable& sentomjs for seo

时间:2014-04-21 23:34:19

标签: javascript meteor phantomjs

尝试为SEO安装spiderable和phantomjs。

首先是我添加了蜘蛛侠。

meteor add spiderable

工作正常。安装。当我尝试使用像http://localhost:3000/?_escaped_fragment_=这样的GET参数打开一个URL时,会出现服务器错误 - 缺少phantomjs。

所以我添加了phantomjs智能包。

mrt add phantomjs

当我使用GET参数重新打开我的项目URL时,没有服务器错误,也没有客户端JS错误。但是这个网站的源代码是:

<!DOCTYPE html><html class=" js cssanimations csstransitions"><head>
  <link rel="stylesheet" href="/1c2c36f3a0bb39970171882896d7e916b597a938.css">



[A feeeeeew breaks! About 150 breaks - dunno why.]


<title>My title</title>
    </head></html>

所以这个网站只是白色的。没有内容。

尝试了一些参数和空参数。

例如: 在铁路由器中我设置了/ jobs路径。所以我试过了:

http://localhost:3000/?_escaped_fragment_=jobs

iron-router用于作业的纯HTML模板。没有帮助者或其他人。只是为了测试spiderable包。

没有错误 - 不在客户端而不在服务器上。有什么遗失? Dunno我的代码错了。我还使用了这个列表:http://www.meteorpedia.com/read/spiderable

故障排除...此列表中的所有内容都很好。

信息: 我还在我的操作系统上安装了phantomjs!

 $ phantomjs -v // returns 1.9.7

3 个答案:

答案 0 :(得分:1)

试试这个:

mrt remove phantomjs
npm install -g phantomjs

答案 1 :(得分:1)

我唯一缺少的是缺少<meta>标签。在文件的头部应该有

<meta name="fragment" content="!">

看看Manuel Shoebel的博客可能有所帮助。

http://www.manuel-schoebel.com/blog/meteor-and-seo

答案 2 :(得分:0)

通常的罪魁祸首是spiderable可能正在等待某些订阅以完成返回数据,而那些订阅实际上根本不发送数据。您需要查看项目中使用的软件包以及代码,以查看可能是罪魁祸首的原因。另一个原因可能是PhantomJS无法连接到您的服务器,如果您在负载平衡反向代理之后运行,通常会发生这种情况。

使用?_escaped_fragment进行测试需要多长时间才能加载页面?这将允许您区分这两种情况。

对于其他可能的原因,请查看以下线索:

根据我的经验,导致这些错误的一个程序包是Observatory