本文是Vercel和MERJ通過實際測試揭開 Google 渲染的真實情況;翻譯自 Vercel 的 Blog 文章《How Google handles JavaScript throughout the indexing process》。注:Vercel 是 Next.js 的前端云平臺;MERJ 是數據驅動的營銷公司。 了解搜索引擎如何抓取、渲染和索引網頁是網站 SEO 的重要基礎。然而,隨著 Google 等搜索引擎的技術不斷變化,尤其是涉及客戶端 JavaScript,掌握有效的優化方法變得更加困難。 也有許多過時的觀點仍然存在,導致大家對應用 SEO 的最佳實踐感到困惑: 為了驗證這些觀點,Vercel 與數據工程咨詢公司 MERJ 合作,進行了關于 Google 抓取行為的實驗,分析了超過 100,000 次 Googlebot 抓取,涵蓋了各種類型的網站,以測試并驗證 Googlebot 處理 JavaScript 的能力。 我們先回顧 Google 渲染技術的發展歷程,然后探討我們的研究發現及其對現代 Web 應用程序的實際影響。 多年來,Google 在抓取和索引網頁內容的能力上發生了顯著變化,了解這一演變對于掌握現代 Web 應用的 SEO 現狀至關重要。 在搜索引擎早期,Google 主要索引靜態 HTML 內容。由 JavaScript 生成的內容在很大程度上對搜索引擎不可見,因此靜態 HTML 被廣泛應用于 SEO 。 Google 推出了?AJAX 動態渲染,允許網站提供動態生成內容的 HTML 快照。這是一種權宜之計,需要開發者為頁面創建單獨的可抓取版本(針對爬蟲使用服務器端渲染 SSR,針對用戶采用客戶端渲染 CSR)。 (我之前也寫過一篇?JavaScript SEO?的內容,當時主要推薦這種方法,現在已經又升級了) Google 開始使用沒有頭部的 Chrome 渲染頁面,這是一次重要進步,然而這一早期瀏覽器版本在處理現在的 JavaScript 功能上仍存在局限性。 如今,Google 使用最新版本的 Chrome 進行渲染,與最新的 Web 技術保持同步。關鍵功能有: 今天,Google 的索引過程看起來是這樣的: 先簡單說下研究方法,我們分析了 2024 年 4 月期間從多個網站收集的數據,研究了 Googlebot 如何渲染網站。 通過特殊工具跟蹤爬蟲行為,我們確認了哪些頁面被成功渲染、渲染所需時間,以及不同內容的處理方法。本次研究涉及 37,000 多個頁面,為驗證相關說法提供了可靠的數據支持。 這一誤解讓許多開發者避免使用 JavaScript 框架,或者采用復雜的解決方案來適配 SEO。 為驗證 Google 渲染 JavaScript 內容的能力,我們重點測試了以下方面: 我們發現,在分析超過 10 萬次 Googlebot 抓取后(排除錯誤和不可索引頁面),所有 HTML 頁面均被成功完整渲染,包括具有復雜 JavaScript 交互的頁面。 我們通過以下方法測試了 Google 是否會對 JavaScript 密集型頁面進行不同處理: 一些人認為 JavaScript 密集型頁面由于渲染隊列的存在會導致索引延遲。為驗證這一點,我們研究了 Google 渲染頁面的時間延遲和模式。 另外發現 URL 參數和更新頻率也會影響渲染速度: 有人認為 JavaScript 為主的網站會讓 Google 更慢發現頁面,我們的研究對此提出了新見解。 本次研究揭示了 Google 對大量使用 JavaScript 網站的處理方式,打破了一些常見誤解,并提供了以下關鍵結論和建議: 保持 sitemap.xml 更新可以大大縮短或消除不同渲染方式之間的頁面發現時間差異。 Google 的渲染通常不會失敗。如果發生失敗,往往是因為資源被 robots.txt 阻止或特定的特殊情況導致的。 盡管渲染方式可能存在細微差異,但無論使用哪種策略,Google 都會快速發現和索引你的網站。與其過度擔心 Google 的渲染過程,不如專注于提升網頁性能,為用戶提供更好的體驗。 頁面速度仍是一個排名因素,Google 會通過核心網頁指標 (Core Web Vitals) 評估網站性能。同時,加載速度更快也能提升用戶體驗,每節省 100 毫秒的加載時間,網站轉化率可能提升 8%。更少的用戶跳出頁面,也會讓 Google 認為頁面更相關。性能影響疊加,毫秒決定成敗。 * 原文鏈接《How Google handles JavaScript throughout the indexing process》https://vercel.com/blog/how-google-handles-javascript-throughout-the-indexing-process * 《將動態渲染作為臨時解決方法》https://developers.google.com/search/docs/crawling-indexing/javascript/dynamic-rendering?hl=zh-cn
Google 渲染功能的演變
2009 年之前:JavaScript 支持有限
2009-2015:AJAX 動態渲染方案
2015-2018:早期 JavaScript 渲染
2018年至今:現代渲染能力
研究方法
誤解 1:“Google 無法渲染客戶端 JavaScript”
測試情況
測試結論
誤解 2: “Google 對待 JavaScript 頁面有不同的處理方式”
測試情況
測試結論
誤解 3 :“渲染隊列和時間對 SEO 的影響顯著”
測試情況
測試結論
誤解 4: “以 JavaScript 為主的網站頁面抓取速度較慢”
測試情況
測試結論
sitemap.xml
?能大大縮短不同渲染方式之間的頁面發現時間差異。
總體影響和建議
主要結論
建議
<a href="...">
),而非 JS 導航。<lastmod>
?標簽提示 Google 最新內容。
不同渲染策略的優缺點
參考鏈接
文章為作者獨立觀點,不代表DLZ123立場。如有侵權,請聯系我們。( 版權為作者所有,如需轉載,請聯系作者 )

網站運營至今,離不開小伙伴們的支持。 為了給小伙伴們提供一個互相交流的平臺和資源的對接,特地開通了獨立站交流群。
群里有不少運營大神,不時會分享一些運營技巧,更有一些資源收藏愛好者不時分享一些優質的學習資料。
現在可以掃碼進群,備注【加群】。 ( 群完全免費,不廣告不賣課!)