【问题标题】:Meteor.js spiderable nothing in body tagMeteor.js 在body标签中什么都没有
【发布时间】:2013-10-13 21:07:19
【问题描述】:

我在用meteor.js 索引我的静态html 页面时遇到问题

我已将可爬取程序包 phantomjs 添加到我的服务器 $PATH 中。 spiderable 包添加了<meta name="fragment" content="!">

如果我执行curl,我不会在正文标签中返回任何内容。

网站托管在 stackful.io 上:Ubuntu 12.04 64-bit with Nginx

网站站长工具返回索引页面(从头部),但未检测到网站上的任何结构化数据

【问题讨论】:

  • 如果您运行 curl,在返回 html 之前是否有明显的暂停(如超时)?
  • @alanning 是的,有点像超时问题。我会卷曲,它会停顿一会儿,然后返回空的正文标签。
  • 更新:实际上问题只发生在我的远程服务器上,在本地主机上它正确返回数据!任何帮助 apreciated :)
  • 您解决过这个问题吗?我在 nginx 服务器后面工作时遇到了同样的问题。看起来 nginx 不支持 websocket 连接。我找到了这两个资源,但对 nginx 的工作原理还不够熟悉,无法理解它们:

标签: seo meteor phantomjs


【解决方案1】:

Spiderable 和 nginx 不喜欢玩得很好,因为某些原因与请求的 websocket 连接有关。我最终使用 Meteor 中的设置对象通过自定义端口直接连接到我的应用程序。请参阅Using the Meteor.settings feature 了解更多信息。希望这会有所帮助!

【讨论】:

  • initURL 不是记录在案的配置设置。你能解释一下你在哪里找到的吗?
  • 我不确定....我尝试了与提出上面链接问题的个人列出的相同,它开始向我的网站提供 html。其他人指出 initURL 也不是配置设置,所以我不确定为什么我的页面现在正在为搜索引擎加载 html:-/
【解决方案2】:

Spiderable 对您发布的订阅的工作方式特别敏感。在内部,spiderable 将wait until all subscriptions are in their 'ready' state,但也有一个timeout 以确保它不会永远坐在那里。

根据您的描述,听起来您的订阅之一在超时到期之前没有返回“就绪”。

我在制作meteor-roles 时遇到了同样的问题。要解决此问题,请查看所有发布函数并确保它们都返回游标、调用 this.ready、this.error 或 this.stop。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-02
    • 1970-01-01
    • 2011-09-12
    • 2014-11-12
    • 1970-01-01
    • 2016-03-31
    • 2018-09-25
    • 2015-08-19
    相关资源
    最近更新 更多