在工作中,我設計了內部使用的web應用程序,所以seo是無關緊要的。我通常使用javascript mvc作爲前端。我正計劃建立一個面向公衆的網站,其中seo將非常重要。有沒有什麼辦法可以使用JavaScript MVC或類似的框架,仍然有一個SEO友好的網站?使用JavaScript大量應用程序保持seo友好的好方法是什麼?我需要爲爬蟲創建一個獨立的javascript免費版嗎?搜索引擎優化友好的JavaScript框架
回答
搜索引擎(好吧,除了所有的強大的谷歌)不處理Javascript,所以從SEO和JS你只能選擇一個。
js框架只是等式的一半。您還需要一個服務器端框架來呈現靜態內容。
我相信你已經碰到過這個,但是完成這個的兩個工具是#!和pushState。發現諸如mysite.com/#!/blog之類的hashbang的Googlebot立即請求
mysite.com?_escaped_fragment_=blog並將其找到的任何內容歸功於#!網址。這就是你在服務器端框架進來的地方。
Pushstate更清潔,但只支持在較新的瀏覽器中。使用pushState,您可以生成乾淨的網址 - (mysite.com/blog) - 不訴諸於#,這會使頁面無法刷新,並且無法使用先前技術中的js。但谷歌機器人仍然不會執行你的js,所以如果他們登陸你的主頁 - (mysite.com) - 並看到一個鏈接 - (mysite.com/blog) - 你需要一個服務器端框架來切斷靜態版本該頁面。如果有人要求鏈接,你可以將它們切斷爲靜態頁面,但允許你的js從那裏接管。
總而言之,我還沒有找到一個感覺乾淨的js應用程序的系統。我的解決方案也沒有非常幹,因爲他們通常需要兩套模板。雖然node.js爲這個問題提供了一個可能的解決方案,我想可能有服務器端模板語言可以編譯成js理解的東西。
在這一點上只是咆哮,但它似乎像'最好的解決方案'將是如果谷歌可以直接閱讀你的API的JSON。所以,如果你有:
[{
"title": "mysite",
"content": "more of the same",
"links": {
"link1": "http://api.mysite.com/blog"
}
}]
凡的Googlebot會知道,標題是一樣的東西<h1>
和內容有點像<p>
。鏈接可以遵循下一個API請求。但我不知道,我只是做了最後一部分。儘管如此,谷歌仍然充滿了在這方面工作的聰明人。他們一定會盡快找出答案。
他們都可以在沒有JavaScript的情況下工作,但是您需要使用NodeJs。
JavaScript MVC(單頁應用程序)也可以支持SEO。關於這個有an excellent article here。
該示例使用Angular.js。 source code在github上發佈。
谷歌的AJAX crawling詳細介紹了他們的網站管理員幫助頁面。
- 1. ASP.NET - 搜索引擎優化友好?
- 2. 搜索引擎優化友好模態框
- 3. 搜索引擎優化友好的替代品的iframe?
- 4. htaccess的重定向URL搜索引擎優化友好的URL
- 5. 漂亮的URL和搜索引擎優化友好的網址?
- 6. 在軌道搜索引擎優化友好的網址
- 7. 自定義MVC3搜索引擎優化友好的網址
- 8. 搜索引擎優化友好的HTML/PHP表單提交
- 9. 搜索引擎優化友好的網址 - 如何?
- 10. mod_rewrite的和搜索引擎優化與重定向友好301
- 11. 搜索引擎優化友好的網址(Apache)
- 12. 搜索引擎優化友好的動態內容?
- 13. .htaccess搜索引擎優化友好網址
- 14. Disqus和搜索引擎優化友好評論
- 15. 搜索引擎優化友好路由2查詢字符串
- 16. JavaScript鏈接和搜索引擎優化?
- 17. Javascript和搜索引擎優化
- 18. Grails的搜索引擎友好的URL
- 19. 程序員友好的搜索引擎?
- 20. 搜索引擎友好的鏈接
- 21. 搜索引擎友好的網址與/
- 22. 搜索引擎友好的鏈接
- 23. 搜索引擎友好的URL
- 24. 搜索引擎友好的URL路由
- 25. 相關搜索引擎優化和PHP框架
- 26. 使文本搜索引擎友好
- 27. 如何友好的URL轉換的搜索引擎優化PHP頁面
- 28. 搜索引擎優化友好的網址,以避免重複的內容
- 29. 多語言網站的搜索引擎優化和用戶友好的網址
- 30. 搜索引擎優化友好的URL和查詢數據庫php
+1雖然短但現貨。 –
確保在HTML文檔中包含一個部分,以便抓取工具可以獲取並優化它。這部分不會受到JS的影響。 – FloppyDisk
「SEO和JS你只能選一個」 - 我不同意這個。總有千種方法可以實現這兩種。 –