Google 是否抓取包含正文內容的 JavaScript


從歷史上看,像 Googlebot 這樣的搜尋引擎爬蟲只能讀取靜態 HTML 原始碼,無法掃描和索引使用 JavaScript 動態編寫的材料。然而,隨著富 JavaScript 網站和 Angular、React 和 Vue.JS 等框架的興起,以及單頁應用程式 (SPA) 和漸進式 Web 應用程式 (PWA) 的發展,這種情況發生了改變。為了在索引網頁之前正確顯示網頁,Google 已修改並停止了其以前的 AJAX 爬取技術。雖然 Google 通常可以抓取和索引大多數 JavaScript 資訊,但他們建議不要使用客戶端解決方案,因為 JavaScript “難以處理,並且並非所有搜尋引擎爬蟲都能正確或及時地處理它。”

什麼是 Google 抓取?

Google 和其他搜尋引擎使用稱為 Google 爬蟲(也稱為搜尋機器人或蜘蛛)的軟體掃描網路。換句話說,它“爬行”網際網路,從頁面到網站查詢 Google 資料庫中尚不存在的新內容或更新內容。

每個搜尋引擎都有自己獨特的爬蟲集合。對於 Google 而言,有超過 15 種不同的爬蟲,其中 Googlebot 是主要的爬蟲。由於 Googlebot 執行抓取和索引操作,因此我們將更詳細地研究其工作原理。

Google 爬蟲如何工作?

包括 Google 在內的任何搜尋引擎都不會維護一個每次建立新頁面時都會更新的 URL 中心登錄檔。這意味著 Google 必須搜尋網際網路以查詢新頁面,而不是自動“收到”有關新頁面的通知。Googlebot 不斷地在網際網路上漫遊,尋找要新增到 Google 現有的網頁庫存中的新網頁。

找到新網站後,Googlebot 透過載入所有 HTML、第三方程式碼、JavaScript 和 CSS 在瀏覽器中呈現(或“視覺化”)它。搜尋引擎使用儲存在其資料庫中的此資料對頁面進行索引和排名。如果頁面已被索引,則將其新增到 Google 索引中,Google 索引是另一個非常龐大的 Google 資料庫。

JavaScript 和 HTML 渲染

冗長的程式碼可能難以被 Googlebot 處理和渲染。如果程式碼雜亂無章,爬蟲可能無法正確渲染您的網站,在這種情況下,它將被視為為空。

關於 JavaScript 渲染,請記住,該語言正在快速發展,並且 Googlebot 有時可能會停止支援最新版本。確保您的 JavaScript 與 Googlebot 相容,以避免您的網站顯示錯誤。確保 JavaScript 載入速度快。如果指令碼載入超過五秒鐘,Googlebot 將不會呈現和索引由指令碼生成的內容。

何時使用 JavaScript 進行抓取?

即使 Google 通常會呈現每個頁面,我們仍然建議在首次分析網站以查詢 JavaScript 時有選擇地使用 JavaScript 抓取。JavaScript 用於利用已知的客戶端依賴項進行審計,以及在部署大型網站期間。

必須檢索有選擇地抓取所有資源(包括 JavaScript、CSS 和影像),以便在後臺的無頭瀏覽器中顯示每個網頁並構建 DOM。JavaScript 抓取速度較慢且工作量較大。

雖然對於較小的網站來說這不是問題,但它會對擁有數百甚至數百萬個頁面的較大網站產生重大影響。如果您的網站不嚴重依賴 JavaScript 來動態更改網頁,則無需花費時間或資源。

在處理 JavaScript 和具有動態內容的網頁時,爬蟲必須讀取和評估文件物件模型 (DOM)。載入和處理所有程式碼後,還必須生成此類網站的完全顯示版本。瀏覽器是我們用來檢視顯示的網頁的最簡單工具。因此,JavaScript 抓取有時被描述為使用“無頭瀏覽器”。

結論

未來會有更多 JavaScript,因為它將繼續存在。只要在建立網站架構的早期階段與 SEO 討論,JavaScript 就可以與 SEO 和爬蟲和平共處。爬蟲仍然只是搜尋引擎機器人的行為的複製品。除了 JavaScript 爬蟲之外,我們強烈建議使用日誌檔案分析、Google 的 URL 檢查工具或移動友好測試工具來了解 Google 可以抓取、渲染和索引的內容。

更新於: 2022年12月28日

422 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告