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

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