2014-11-23 44 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