什麼是網路爬蟲?
為了讓您的網站出現在搜尋結果中,Google(以及其他搜尋引擎如 Bing、Yandex、Baidu、Naver、Yahoo 或 DuckDuckGo)會使用網路爬蟲來瀏覽網站,以發現網站及其網頁。
不同的搜尋引擎在各國有不同的市場佔有率。
本指南主要涵蓋 Google,因為它是大多數國家中最大的搜尋引擎。話雖如此,您可能需要檢查其他搜尋引擎及其指南,特別是如果您的目標客戶位於中國、俄羅斯、日本或南韓。
雖然在排名 (Ranking) 和渲染 (Rendering) 方面存在一些差異,但大多數搜尋引擎在爬取 (Crawling) 和索引 (Indexing) 方面的工作方式非常相似。
網路爬蟲是一種模擬使用者並透過網站上的連結進行導覽以索引頁面的機器人。網路爬蟲使用自訂的使用者代理 (user-agents) 來識別自己。Google 有多種網路爬蟲,但最常用的是 Googlebot Desktop 和 Googlebot Smartphone。
Googlebot 如何運作?
Googlebot 索引網頁的流程
該過程的概覽如下:
- 尋找 URL:Google 從多個來源獲取 URL,包括 Google Search Console、網站之間的連結或 XML 網站地圖 (XML sitemaps)。
- 加入爬取佇列 (Crawl Queue):這些 URL 會被加入 Googlebot 的爬取佇列中進行處理。爬取佇列中的 URL 通常只會停留幾秒,但根據情況可能需要幾天,特別是如果頁面需要渲染、索引,或者如果 URL 已經被索引但需要刷新。這些頁面隨後會進入渲染佇列 (Render Queue)。
- HTTP 請求:爬蟲發送 HTTP 請求以獲取標頭,並根據返回的狀態碼採取行動:
- 200:爬取並解析 HTML。
- 30X:跟隨重新導向。
- 40X:記錄錯誤且不載入 HTML。
- 50X:可能會稍後回來檢查狀態碼是否變更。
- 渲染佇列 (Render Queue):搜尋系統的不同服務和組件會處理 HTML 並解析內容。如果頁面有一些基於 JavaScript 的客戶端內容,URL 可能會被加入渲染佇列。渲染佇列對 Google 來說成本較高,因為它需要更多資源來渲染 JavaScript,因此被渲染的 URL 僅佔網際網路上所有頁面的一小部分。其他一些搜尋引擎可能沒有與 Google 相同的渲染能力,這就是 Next.js 可以幫助您制定渲染策略的地方。
- 準備索引:如果滿足所有條件,這些頁面可能有資格被索引並顯示在搜尋結果中。
在接下來的幾節中,我們將深入探討搜尋系統流程的每個主要組件:爬取與索引 (crawling and indexing) 以及渲染與排名 (rendering and ranking)。
延伸閱讀
- Google:SEO 入門指南
- MDN:MDN:使用者代理 (User-Agents)