2014年5月30日星期五
作者:
Erik Hendriks and Michael Xu, Software Engineers, and
Kazushi Nagayama
, Webmaster Trends Analyst
回首
1998
年,當我們的伺服器在
Susan Wojcicki
的車庫中運作時,我們還不用真的去擔心 JavaScript 或 CSS 的問題。當時,這些技術運用的層面不廣。或者說,JavaScript 的用途就是讓網頁元素可以更炫一點而已。然而,隨著時間過去,很多事情都大不相同。現在,網路上遍佈各種內容豐富、採用動態技術的出色網站,這些網站都大量運用 JavaScript。今天,我們要談談如何轉譯內容更豐富的網站。這代表我們以更接近現代網路瀏覽器的角度看待您的網站內容,包含外部資源、執行 JavaScript 並且使用 CSS。
我們傳統上只注重從 HTTP 回應內文中獲得的原始文字內容,並未確實解讀執行 JavaScript 的典型瀏覽器看到了哪些內容。因此,當這些具備重要內容 (由 JavaScript 轉譯) 的網頁開始出現時,我們無法協助搜尋者找到這些網頁,造成搜尋者與網站管理員雙輸的局面。
為了解決這個問題,我們決定嘗試以執行 JavaScript 的方式來解讀網頁。就目前網路的規模而言,要達成這個目標相當困難,但我們認為這絕對值得一試。我們已經花了好一段時間來逐步改善作業方式。在過去這幾個月中,我們的索引系統已經轉譯了相當大量的網頁,而且在檢視網頁時,角度盡量與一般使用者的瀏覽器 (啟用 JavaScript) 保持一致。
在轉譯作業執行期間,有時結果不盡如人意,這可能會對您網站的搜尋結果產生負面影響。以下說明部分潛在的問題,以及您可如何盡量協助避免問題發生:
- 如果位於獨立檔案中的 JavaScript 或 CSS 等資源遭到封鎖 (例如使用 robots.txt),那麼 Googlebot 就無法擷取這些資源,我們的索引系統也無法以一般使用者的角度檢視您的網站。建議您允許 Googlebot 擷取 JavaScript 和 CSS,以獲得更理想的內容索引效率。這點對行動版網站而言更加重要,因為 CSS 與 JavaScript 等外部資源可協助我們的演算法瞭解網頁已 針對行動裝置進行最佳化處理 。
- 如果您的網路伺服器無法處理大量的資源檢索要求,那麼我們轉譯您網頁的能力也會受到負面影響。如果您想要確保 Google 能夠轉譯您的網頁,請務必使用足以處理資源檢索要求的伺服器。
- 適度讓自己的網站降級 (不要採用過多網頁技術) 也是不錯的做法。如此一來,就算使用者的瀏覽器並未實作相容的 JavaScript,仍然可以順利檢視您的內容。除此之外,停用/關閉 JavaScript 的訪客和當下無法執行 JavaScript 的搜尋引擎也能因此受惠。
- 有時 JavaScript 可能過於複雜或難以解讀,導致我們無法執行。在這種情況下,我們便無法精確而完整地轉譯網頁。
- 部分 JavaScript 會移除網頁內容,而不是新增內容,造成我們無法為內容建立索引。
為了讓偵錯更簡便,我們目前正在開發相關工具,協助網站管理員進一步瞭解 Google 如何轉譯網站。希望不久之後就能在
網站管理員工具
中為您提供這項工具。
如果您有任何問題,歡迎隨時造訪我們的說明論壇。