我使用jQuery從json請求中檢索數據庫中的內容。然後它將HTML中的通配符(如%title%)替換爲實際內容。這很好,這樣我就可以在數據庫中保留我的多語言文本,但Googlebot只能看到通配符,而不是實際的內容。我知道Googlebot會看到沒有javascript的頁面,但是有沒有辦法處理這個問題?謝謝!Googlebot沒有看到jquery生成的內容
回答
您應該在Google上給this document進行徹底的閱讀。
它討論瞭如何使Googlebot的索引:
- 網頁,這取決於在URL變化
#hashfragment
值含量的變化。 - 頁面內容在加載後立即發生變化,但本身缺少任何特殊的
#hashfragment
。
總之,你看加入<meta name="fragment" content="!">
如「第3步」中討論,並得到所有提供回所有的內容在一次回答關於服務器端特殊要求,你的客戶否則代碼將在頁面加載後生成。這些特殊請求實際上是URL中的?_escaped_fragment_=...
的請求,向服務器指示它應該將所有最終演示文稿預先烘焙(我的話)爲Googlebot的單個響應。這就是說,既然你會爲這個特殊情況輸出填充內容的努力,你可能會更好的在你的一般情況下這樣做(避免需要處理Google的_escaped_fragment_
請求),與也許仍然是在頁面加載後如果需要的話換出標記的方式(例如通過使用具有特定class
或id
的跨度來識別它們)。
Googlebot顯然不會渲染它下載的頁面。這可能與其他搜索漫遊器也使用相同的行爲。
你需要使用服務器端腳本或編譯解決方案(有很多選擇,包括PHP,ASP.NET等)。通過這種方式,您仍然可以保持動態和國際化功能,Googlebot可以按照您的預期方式看到您的頁面。或者至少爲基本頁面屬性(如Googlebot正在評估的標題)執行此操作,並將jQuery更新爲頁面中不重要的部分。 (說實話,使用jQuery替換頁面下載後的令牌可能不是最有效的方式,特別是當服務器端腳本如此簡單和自由時)。
谷歌似乎有在這個答案的時間接近完全或完全功能的JavaScript爬行機器人:
在2009年穀歌提出了一個解決方案,讓AJAX抓取:https://webmasters.googleblog.com/2009/10/proposal-for-making-ajax-crawlable.html
在2015年穀歌已棄用上述方法:https://webmasters.googleblog.com/2015/10/deprecating-our-ajax-crawling-scheme.html
我已經成功地建立了多個單pag e在Google的網站管理員工具中正確呈現的應用程序。
有很多資源在網絡上,如果你想更深入瞭解:
謝謝! '在Google的網站站長工具中正確呈現':您的意思是可以查看GoogleBot的頁面呈現方式嗎?準確地使用哪個工具?其他評論:我的網站的主要內容加載1)谷歌地圖在頁面上呈現2)AJAX調用導入內容。你認爲這會起作用嗎,或者你認爲GoogleBot不會等待1)和2),並且會看到我的網站爲空? – Basj 2016-05-18 21:45:00
我已經使用谷歌網站管理員工具,它會捕獲你的網站的樣子,並呈現給你。您必須創建一個帳戶並確認您擁有該網站。它應該等待地圖加載。一旦你有一個帳戶,你可以玩網站管理員工具。 – BatteryAcid 2016-05-18 22:28:55
- 1. 如何讓Googlebot查看ajax內容
- 2. googlebot看到了什麼?生成的代碼或源代碼?
- 3. 有沒有辦法看到jQuery生成的實際JavaScript?
- 4. jQuery從生成的內容生成內容
- 5. 從jQuery生成內容
- 6. 在界面生成器中看不到480px下的UIScrollView內容
- 7. 將jquery應用於生成的內容
- 8. 關於動態生成內容的jquery
- 9. googlebot抓取由ajax加載的內容?
- 10. IE沒有看到jQuery?
- 11. 從ContentTemplate生成的內容沒有設置Silverlight ContentControl的DataContext
- 12. 生成的類似維基百科的內容表,沒有JavaScript
- 13. CSS打印樣式表生成的內容沒有顯示
- 14. CTE沒有生成我期待的內容?
- 15. JQuery將點擊事件綁定到html()生成的內容
- 16. Eclipse沒有看到包含以下內容的頭文件:/
- 17. UWP Visual State Manager沒有看到DataTemplate的內容
- 18. Eclipse沒有看到來自目標/生成源的類
- 19. 派生類模板沒有看到基類的成員
- 20. jQuery append li在頁面上生成新內容,但新鏈接沒有響應
- 21. 生成不同的內容
- 22. jQuery - 如何查看jQuery生成的html?
- 23. jQuery ajax post:PHP get的沒有內容
- 24. 通過訪問一個iframe的內容沒有成功「內容()」
- 25. 使用MSBuild生成輸出內容並且沒有VS項目
- 26. 如果內容沒有空格,則div不會生成新行。
- 27. jquery沒有看到新的元素
- 28. jQuery的複製HTML內容沒有子內容
- 29. 搜索引擎是否會查看CSS生成的內容?
- 30. 揚鞭代碼生成 - 生成Spring的MVC GET沒有得到設置內容類型
我已經使用PHP檢索數據,所以對於翻譯,我現在刪除了jQuery,讓PHP做w ildcard填充。乾杯! – John 2011-06-07 12:54:35