2014-11-23 42 views
1
  1. Website是基于PHP的(很快就会对每一个职位更文本)使用REST请求并呈现
  2. 数据使用javascript模板
  3. 页是“无限(无止境)滚动”(它实际上finite..but由大约3K项目

For SEO purposes,我需要以某种方式生成静态HTML页面。我正在考虑可以在这里帮助的phantomjs(或任何无头浏览器),但是无尽的滚动存在一个大问题,因为页面必须向下滚动(或向上)以渲染更多项目,phantomjs将无法渲染所有数据,除了页面加载时(最大页面数据的一小部分)时最初呈现的数据。phantomjs HTML快照,谷歌机器人(无尽的滚动页)

什么方法可以静态渲染这样的设置?
你们甚至认为这可能吗?

谢谢。

+0

http://stackoverflow.com/questions/16561582/how-to-scroll-down-with-phantomjs-to-load-dynamic-content – 2014-11-23 18:58:45

+0

ha..he使用间隔并手动更改滚动位置。这将需要一段时间才能完全生成一个大型的“无尽”页面。我认为这种技术不好。更好的方法是让幻影进入一种模式,在这种模式下,js一次渲染所有项目,而不用等待滚动。不知何故。无论如何,发布你提到的是处理一个特定的案件,我是一个更广泛的解决方案。我根本不想手动处理滚动。 – vsync 2014-11-23 19:02:40

+0

那是什么模式?滚动是即时的。这篇文章非常全面,是您无法更改页面的方式。既然你可能可以改变你的,我会建议添加一个全局的JavaScript函数,它可以自己加载所有的项目,而不需要PhantomJS来触发滚动。也许你甚至可以直接提供escaped_fragment的完整数据。也许我误解了你,并且询问你想要预渲染多少项目的最佳实践。 – 2014-11-23 19:08:54

回答

1

的读取与无限滚动一个网页将是非常棘手:

  • 静态文件将是巨大的和Googlebot不喜欢大页面与too many links。这不会给你一个SEO优势。
  • 抓取非常长的网站将是困难的。性能会受到影响,可能需要很长时间,并且可能会经常失败。

如何修改网站本身,并有paginated version of posts for SEO purpose

优点:

+0

我担心这种情况,谷歌不会喜欢这样一个生成的长页面。那么,我们在服务器发送JSON的地方使用REST,并且JS模板正在构建DOM,每个滚动到底部加载N个新项目。这很容易维护,根本没有太多的代码。移动到页面不是我们想要在我们的网站上使用的用户体验,但我想知道是否有方法向静态页面提供谷歌机器人。这不幸意味着服务器也必须呈现相同的模板,并且我们最终会得到两个分离的模板做同样的事情。难以维护。 – vsync 2014-11-24 10:13:20