用 jQuery 調用外部 HTML 文件,會對 SEO 有影響么?
示例代碼:
<script type="text/javascript" src="js/jquery-1.4.2.js"></script> <script type="text/javascript"> $(document).ready(function() { $("#mobileLeft").load("ctrl/left.htm");});
</script>
可以嘗試學習twitter的#號做法。
"默認情況下,Google的網路蜘蛛忽視URL的#部分。但是,Google還規定,如果你希望Ajax生成的內容被瀏覽引擎讀取,那麼URL中可以使用"#!",Google會自動將其後面的內容轉成查詢字元串_escaped_fragment_的值。比如,Google發現新版twitter的URL如下:http://twitter.com/#!/username就會自動抓取另一個URL:http://twitter.com/?_escaped_fragment_=/username通過這種機制,Google就可以索引動態的Ajax內容。「摘自——http://www.ruanyifeng.com/blog/2011/03/url_hash.html簡單地說:會影響。
爬蟲訪問的時候不會執行這個語句的,因此用這種方法載入的內容不能被搜索引擎引索。但是有很多策略是值得考慮的:
- 這此內容並非此頁面的主要內容,搜索引擎是否可觀不重要,比如:僅與當前用戶相關的內容;廣告;
- 不在頁面載入時生成這些內容僅僅是為了提升用戶體驗,讓次要信息延遲載入以獲取更好的首次載入速度,伺服器端可以判斷出當前請求是否是爬蟲發起的而採用不同的策略。
- 那些動載入的內容已經通過其它的靜態化/偽靜態化地址顯示過,作為搜索引擎的專用入口,例如壇程序的歸檔內容。
雖然現在有傳聞 Google 的爬蟲可以獲取到某些通過 Ajax 技術載入的內容,但是目前並沒有確鑿的證據支持,因此最好不要寄希望於它。
有沒有影響只取決於瀏覽器最終編譯的結果,如果調用的內容會出現在最終生成的HTML里(用瀏覽器查看源代碼),就沒有影響;如果被調用的內容不出現在瀏覽器最後生成的源代碼里,就有影響。
其實辨別這個問題很簡單:Google爬蟲有一個重要原則,就是它只看最終結果,不管編譯過程。就是說它看到的是瀏覽器最終編譯完的全部HTML,而不是原始語句,只要最終瀏覽器編譯完的HTML裡面存在你調用的內容,就可以認為對此頁面本身的內容沒有影響。
Google對js的索引確實存在問題,但是問題從來都是在辨別鏈接上而不是在索引內容上(這和flash不同),這一點需要注意。有一定影響,而且不僅對蜘蛛,如果用戶瀏覽器把js禁用的話也顯示不了
給出一個簡單的解決方法:<script type="text/javascript" src="js/jquery-1.4.2.js"></script> <script type="text/javascript"> $(document).ready(function() {$("#mobileLeft").load("ctrl/left.htm");
});
</script> &< nonscript &> &< iframe src="ctrl/left.htm" &> &< /iframe &> &< /nonscript &> 注意一下,這樣的話 蜘蛛也能看到,只是不符合W3C規範了.所以在使用AJAX的時候需要權衡一下ajax載入的文件搜索y引擎是爬不到的
將網頁保存下來的內容就是搜索引擎能搜索到的,沒出現的內容搜索引擎是不會管的
CSS現在的蜘蛛都是能抓取到的,而且從網站日誌上分析看到現在蜘蛛對JS的抓取也很頻繁而且也都能抓取完整
阮一峰的這篇《URL的井號》http://www.ruanyifeng.com/blog/2011/03/url_hash.html
講的很清楚了另外,還不放心搜索引擎的這裡有google的解釋
《 AJAX 抓取:網站站長和開發人員指南》http://www.google.com/support/webmasters/bin/answer.py?hl=cnanswer=174992會,甚至都找不到left.htm這個頁面。
因為:搜索引擎現在到底能不能爬CSS還一直在空中懸著。
沒事,別考驗搜索引擎的智商。有影響吧,搜索引擎爬蟲(百度稱為蜘蛛)不會執行js!
用ajax載入,無非是left的內容要公用或者是動態生成搜索引擎讀不到,為了seo你就先把重要的鏈接放在mobileLeft里就好了
如果你希望你的left.htm能被蜘蛛給抓取到的話,那估計是不行的,比較蜘蛛不執行JS!
但不影響,當前頁面的收錄
推薦閱讀:
※給HTML初學者的30條最佳實踐
※從零開始搭建Vue組件庫 VV-UI
※想要對 HTML 和 CSS 有深入的理解,是不是需要學習傳統排版的知識?如果需要,應該學習到什麼程度?
※可以用JQuery 調用Python對象的function嘛?