2009-05-05 98 views
17

可以搜索引擎,如Google索引JavaScript生成的網頁嗎?當您右鍵單擊並在由JavaScript生成的頁面中選擇查看源代碼(例如,使用GWT)時,您看不到動態生成的HTML。我想,如果一個搜索引擎也看不到生成的HTML,那麼沒有太多索引,對吧?搜索引擎可以索引JavaScript生成的網頁嗎?

回答

12

您的懷疑是正確的 - 不能依靠JS生成的內容對搜索漫遊器可見。任何關閉JS的人都無法看到它 - 而且,上次我在一個我正在研究的網站上添加了一些測試(這是一個龐大的主流觀衆網站,每月有數十萬個獨立訪問者) ,約有10%的用戶沒有以任何形式運行Javascript。這包括搜索機器人,禁用JS的PC瀏覽器,許多手機,使用屏幕閱讀器的盲人等等等等。

這就是爲什麼通過JS生成的內容(沒有後備選項)是一個非常糟糕的想法。

回到基本。首先,使用裸機(X)HTML,根據類似於REST的原則(至少在要求POST請求進行狀態更改時)創建您的站點。簡單的語義標記,忘掉CSS和Javascript。

第一步是爲了讓您的整個網站(或儘可能多的有意義)適用於搜索漫遊器和類似Lynx的用戶代理。

然後添加一個可視圖層:用於視覺擦亮的CSS /圖形/媒體,但不會顯着更改原始(X)HTML標記;允許原文純文字網站保持完整並正常運作。保持你的標記清潔!

三是增加一個行爲層:Javascript(Ajax)。爲具有Ajax功能的JS的用戶/瀏覽器提供更快,更流暢,更好的體驗......但只限於那些用戶。沒有Javascript的用戶仍然歡迎;搜索機器人,視障人士,許多手機等。

在網頁設計圈子裏,這叫做漸進增強。這樣做,您的網站以合理的形式適用於所有人。

7

如果搜索引擎也無法看到生成的HTML則沒有太多的索引

這大約總結起來。從技術上講,沒有什麼能夠阻止搜索引擎爲他們的機器人/蜘蛛實現一個JavaScript引擎,但它通常不會完成。他們可以,但他們不會。

另一方面,您可以嗅探搜索引擎的用戶代理併爲其提供可讀的內容。但是搜索引擎通常不會這樣,如果他們檢測到您發送給普通瀏覽器的差異,就會嚴重懲罰您。

1

谷歌正在執行簡單的Javascript來發現一些內容 - 但他們當然不執行完整的腳本。如果你擔心搜索引擎優化,那麼你需要考慮提供靜態版本的頁面。

+0

谷歌在實施它的任何參考資料/鏈接? – 2009-05-05 18:44:15

+0

在YouTube上尋找matt cutts的網站管理員視頻。有一個在JavaScript上。 – 2009-05-05 20:43:26

+0

此鏈接:https://developers.google.com/webmasters/ajax-crawling/docs/html-snapshot – phabtar 2013-07-17 10:11:49

6

一個很好的經驗法則:如果你能在Lynx看到它,它可以被谷歌索引。

Lynx是一個很好的測試,因爲它也讓你瞭解盲人屏幕閱讀器如何看你的網頁。

2

在GWT中有幾種方法可以處理這個問題,this是關於這個問題的一個很好的討論。 似乎最好的選擇是在用戶代理是bot時提供靜態SEO內容,只要SEO內容與通過GWT路由提供的內容相同。這可能是很多工作,但如果你真的想要一個爲搜索引擎優化的完全豐富的GWT應用程序,它可能是值得的。

1

看一看Single Page Interface關於SPI(AJAX密集型)應用程序如何被Google和其他抓取工具編入索引的宣言。有多難取決於所使用的Web框架。

0

即使他們執行的基本JavaScript MOSTLY網站上使用LIBRARIESFRAMEWORKS,我不這麼認爲,像谷歌機器人或任何其他蜘蛛機器人也將加載Js文件與網頁和鏈接,而無需加載它們的JS代碼將產生錯誤。

/*Correct Me If I am wrong*/