Googlebot 是什麼?爬蟲與 SEO、GEO 影響全解析
Googlebot 是 Google 負責發現與抓取網頁的爬蟲,抓取不等於索引、更不等於排名。本文釐清 Googlebot 的運作機制、user agent 字串與驗證方法,並區分 Googlebot 與 GPTBot、ClaudeBot、OAI-SearchBot、Google-Extended 等 AI 爬蟲,說明如何用 robots.txt 精準控制訓練素材與 AI 搜尋曝光。
作者:褚崇名(Sliven)
Googlebot 是 Google 用來在網路上自動發現、讀取網頁的程式,也就是俗稱的爬蟲(crawler)。它負責發現頁面、把內容抓回去;至於要不要收進搜尋索引,是 Google 的索引系統在後續階段決定的,不是 Googlebot 自己說了算。答案很清楚:若 Googlebot 抓不到你的內容,頁面通常很難正常建立索引,更別提爭取排名。但 Googlebot 已經不是今天唯一會敲你伺服器門的訪客,AI 爬蟲(GPTBot、ClaudeBot、PerplexityBot 這些)是另一批大客戶,而且它們跟 Googlebot 想要的東西完全不一樣。
簡單講,這篇要解決一個很多人搞混的問題:把「Google 爬蟲」跟「AI 爬蟲」當成同一回事,結果要嘛誤封了 Googlebot、連搜尋流量一起掉,要嘛全部放行、把自己的內容免費送進別人的模型。這兩種都是虧。本文把 Google 怎麼爬、AI 爬蟲各屬於哪一國、以及你唯一需要認真決定的那件事(要被訓練,還是要被看見)一次講清楚。
重點先看
- Googlebot 只負責發現與抓取網頁,抓了不等於會索引,索引了不等於會排名。它是一個流程的起點,不是終點。
- 行動優先索引(mobile-first indexing)已是預設,多數網站的抓取與索引以手機版內容為主,主力是 Googlebot Smartphone。
- AI 爬蟲分兩種:訓練素材用與搜尋用。GPTBot、ClaudeBot、Google-Extended 偏訓練素材;OAI-SearchBot、PerplexityBot 偏搜尋呈現。封鎖訓練爬蟲不等於退出 AI 搜尋。
- Google-Extended 不影響 Google 搜尋。封掉它不會影響你在 Google 搜尋的收錄與排名,它管的是 Gemini 的訓練素材與接地(grounding)用途。
- robots.txt 是按爬蟲分開管的,可以精準放行 Googlebot、同時擋掉特定 AI 訓練爬蟲,這是現在 SEO 與 GEO(生成式引擎優化)最該做的基本功。
Googlebot 是什麼?它在搜尋流程裡的位置
Googlebot 是 Google 的網路爬蟲,官方分類上屬於「通用爬蟲(common crawler)」,是 Google 爬蟲基礎設施的一環(並非所有 Google 抓取程式都屬這類)。它的任務是沿著連結在網路上移動,發現新頁面、讀取內容,再把抓到的東西交給 Google 的索引系統。你可以把它想成一個永遠在巡邏的自動化瀏覽器,但它巡邏的目的是把網頁送進資料庫,而不是給人看。
這裡有個最關鍵的觀念:抓取(crawl)不等於索引(index),索引不等於排名(rank)。Google 官方把搜尋流程分成三個階段,Googlebot 只負責第一段。很多人把這三件事壓縮成一句「被 Google 收錄」,於是所有判斷都跟著走偏。
| 階段 | 誰在做 | 做什麼 | 你能觀察的指標 |
|---|---|---|---|
| 抓取(Crawling) | Googlebot | 發現網址、下載 HTML 與資源 | 伺服器日誌裡的 Googlebot 訪問 |
| 索引(Indexing) | 索引系統 | 解析內容、判斷值不值得收進資料庫 | Search Console 的「已建立索引」數量 |
| 提供搜尋結果(Serving) | 排名系統 | 從索引中檢索、排序並回傳結果(排名在此發生) | 曝光、點擊、平均排名 |
換句話說,Googlebot 來抓你的頁面,只是讓你「取得被收錄的資格」,不保證一定會被收錄,更不保證會排前面。常見情境(示意):某個站長看著伺服器日誌,發現 Googlebot 天天來、一天抓幾千頁,就以為這些頁面統統在索引裡;結果打開 Search Console 的網頁索引報表,才看到一大票「已檢索,但未建立索引」。Googlebot 來訪頻率高,可能反映抓取需求、內容常更新或頁面熱門度(但也可能來自重複網址、網站搬遷等因素,不一定等於品質肯定)。至於最後收不收錄,是索引系統看內容品質、原創性、與其他頁面的重複關係等決定的(而排不排得上、排第幾,是後續提供搜尋結果階段,依相關性與權重決定的),跟來訪次數沒有直接等號。
索引這一關到底在看什麼?大致是幾個方向:內容是不是原創、夠不夠充實、是不是重複或抄襲來的、以及這個網址是不是權威版本。其中「權威版本」這點常被忽略,當同一份內容出現在多個網址(例如帶追蹤參數的網址、或同時有手機版與桌面版網址),Google 會用標準網址(canonical)來判斷哪一個才是主版本,相關機制可參考本站的 標準網址介紹。這意味著一件事:就算 Googlebot 把十個長得差不多的網址都抓回去了,索引系統可能只把其中一個當主版本收錄,其他被歸為替代版本、通常不各自建立主要索引項目。所以「抓取數」跟「索引數」中間,永遠隔著一道品質與去重的篩選,這道篩選才是決定你最終有多少頁面能上場的關鍵。
那 Googlebot 怎麼發現新頁面?主要有三條路。第一條是已知的連結,包括別人連到你的外部連結,以及你自己站內的內部連結。第二條是 Sitemap,也就是你主動提交的網址清單,相當於遞一份目錄給 Google,做法可參考本站的 Sitemap 完整說明。第三條是手動提交,透過 Google Search Console 的網址檢查工具,把單一新網址直接遞給 Google。其中內部連結是最常被低估的一條,因為 Googlebot 基本上是「沿著連結走」,連得到是主要的發現方式,孤兒頁(沒有任何連結指向的頁面)比較不容易被發現(雖然 Sitemap 或外部連結有時也能讓 Google 找到它們)。不同類型的連結在發現頁面與傳遞訊號上各有分工,完整的比較可以參考連結類型功能全解。
Googlebot 怎麼運作:抓取、轉譯、索引三階段
Googlebot 抓一個頁面,並不是一次就把所有東西讀完。原則上,回傳正常(HTTP 200)的頁面都會進入轉譯佇列等待處理,而對 JavaScript 比較重的網站,這個兩段式機制直接影響你的內容會不會被看到。
第一波是初步抓取。Googlebot 先把 HTML 原始碼抓回去,能直接從 HTML 看到的文字、連結、結構化資料,就先處理掉。第二波是轉譯(rendering)。它用一套以 Chromium 為基礎的轉譯服務(Web Rendering Service,WRS)執行頁面上的 JavaScript,把執行之後才動態產生的內容算出來。這兩波是在不同佇列(queue)裡排隊的,不是抓完立刻接著轉譯。
這個「兩波」設計的實際後果,是 JavaScript 網站的 SEO 痛點。如果你的頁面關鍵內容是靠 JavaScript 產生(例如用前端框架在前端渲染、文字是 API 拉回來才填上的),Googlebot 第一次抓的時候看不到,要等到轉譯那一波才會出現。而轉譯資源是有限的、要排隊,等待時間沒有官方保證的範圍,可能很短,也可能拖上一段時間。這意味著依賴 JS 的關鍵內容,可能會晚一些才被 Google 看見、連帶延後內容處理與連結發現(但不代表 Google 一定會先以不完整內容建立索引)。這也是為什麼 JavaScript SEO 會被獨立拿出來談,相關的排查方法可參考本站的 JavaScript SEO 指南。
要確認 Googlebot 轉譯後到底看到什麼,最直接的工具是 Search Console 網址檢查工具 裡的「測試線上網址」,它會顯示 Googlebot 轉譯後的截圖與可索引的 HTML 內容。說穿了就一件事:不要假設 Googlebot 看到的等於你在瀏覽器看到的,尤其是 JS 渲染的站,這個假設會害你。一個很常見的錯誤(示意)是:開發者在自己瀏覽器看頁面一切正常,就以為 Google 也看得到,結果 Googlebot 抓到的是空的容器,內容根本沒進索引。
至於「Googlebot 多久來一次」「一次會抓多少頁」,這牽涉到爬取預算(crawl budget)這個概念,也就是 Google「能抓且想抓」的網址集合。爬取預算由兩股力量決定:一是 Google 稱為爬取容量上限(crawl capacity limit,又稱 hostload)的抓取能力,跟你伺服器的回應速度與承受能力有關;二是抓取需求(crawl demand),跟你的頁面有多受歡迎、多常更新有關。詳細機制與優化方向,我整理在 爬取預算完整解析,這裡不重複。你只需要記得一個原則:多數小型且更新不頻繁的網站,通常不需要特別優化爬取預算(不過也沒有「當天一定抓完整站」的保證);真正需要斤斤計較的,是 Google 官方點名的幾種情況:百萬級頁面且中度更新、上萬頁且每天快速變動,或大量網址落在「已發現,目前未建立索引」(這是大方向,不是精確門檻)。
Googlebot 的種類與 user agent 字串
「Googlebot」其實是一個共用名稱,底下有幾個不同的變形。其中 Googlebot-Image、Googlebot-Video、Googlebot-News、Google-InspectionTool 在 robots.txt 裡,除了各自的權杖,也會匹配共用的 Googlebot 權杖;至於 GoogleOther 是獨立的,只認 GoogleOther。換句話說,你在 robots.txt 寫一條 User-agent: Googlebot 的規則,前面那幾個子爬蟲會跟著遵守,GoogleOther 不受影響。
| 爬蟲 | robots.txt 權杖 | 用途 |
|---|---|---|
| Googlebot(通用) | Googlebot |
抓網頁給搜尋索引用 |
| Googlebot-Image | Googlebot-Image、Googlebot |
抓圖片 |
| Googlebot-Video | Googlebot-Video、Googlebot |
抓影片 |
| Googlebot-News | Googlebot-News、Googlebot |
抓新聞 |
| Google-InspectionTool | Google-InspectionTool、Googlebot |
Search Console 網址檢查時觸發 |
| GoogleOther | GoogleOther |
Google 內部研究與其他產品用 |
這張表有個實用暗示:如果你在 robots.txt 把 Googlebot 整個封掉,圖片、影片、新聞這些子爬蟲會跟著一起被擋,因為它們共用 Googlebot 這個權杖;但 GoogleOther 會照常運作。反過來說,想精準控制就只能動各自的權杖。
跟一般站長最相關的是兩個 Googlebot 變形:Smartphone(手機版)與 Desktop(桌面版)。它們不是兩個獨立權杖,而是同一個 Googlebot 的兩種使用者代理字串。手機版的字串長這樣,辨識它是不是 Googlebot 的關鍵是 Googlebot/2.1 這一段(要進一步區分這支是手機版還是桌面版,則看字串裡有沒有 Android、Mobile 這類特徵):
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
桌面版則是:
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Chrome/W.X.Y.Z Safari/537.36
字串裡的 Chrome/W.X.Y.Z 是會持續更新的版本號,不用死記數字;真正穩定、用來辨識與寫規則的是 Googlebot 這個權杖,還有 +http://www.google.com/bot.html 這個標記。不過要提醒:這些 user agent 字串任何人都能偽造,所以字串裡的網址標記不能當成可靠的身分辨識依據,真正的驗證方法下一節會講。
行動優先索引(mobile-first indexing)是這裡的重點。Google 從幾年前開始,預設就以 Googlebot Smartphone 抓到的手機版內容為主來建立索引(這也是為什麼大多數 Googlebot 請求來自手機爬蟲,少數來自桌面爬蟲),也就是說,它看的主要是你手機版的頁面。如果你的手機版跟桌面版內容不一樣,例如手機版少了一大段文字、少了結構化資料、或重要內容被藏到需要點擊或滑動才載入,Google 索引到的是那個比較陽春的手機版,排名自然吃虧。絕大多數網站現在都用響應式設計(RWD),手機桌面共用同一份內容,這個問題基本不存在;但如果是獨立手機版(m. 子網域或不同模板),就要特別留意兩邊內容一致。要分清楚兩種情況:內容明明在網頁原始碼(DOM)裡、只是用折疊選單收起來的,Google 通常還是看得到;真正危險的是那種得點擊、滑動或輸入後才透過 JavaScript 載入的主要內容。一個常見的陷阱(示意)是設計師為了手機版的簡潔,把某些主要區塊改成點擊才載入,卻沒意識到 Googlebot Smartphone 在轉譯前抓到的是殘缺版本。
怎麼驗證對方是不是真的 Googlebot
這段很實用,因為任何爬蟲都可以在 user agent 字串裡自稱 Googlebot。光看 user agent 就相信對方是 Google,是資安與日誌分析的大忌。惡意爬蟲、內容扒手常常偽裝成 Googlebot 來混水摸魚,闖過那些只認 user agent 的防護。
Google 官方給的驗證方式是反向 DNS 加正向 DNS 的雙重確認,步驟是固定的,三步缺一不可:
- 拿到來訪的 IP 位址,對它做反向 DNS 查詢(reverse DNS),看它解析成什麼主機名稱。
- 這個主機名稱必須結尾在 Google 官方網域,例如
googlebot.com、google.com或googleusercontent.com,而且要用完整標籤比對(例如.googlebot.com),不能只做任意字串結尾比對。 - 再對這個主機名稱做正向 DNS 查詢(forward DNS),確認它解析回來的 IP,跟第 1 步那個原始 IP 完全一致。
只有三步全部吻合,才能判定對方是真正的 Google 來源。舉個示意流程:某個 IP 來訪、自稱 Googlebot,你先反解得到一個像是 crawl-66-249-66-1.googlebot.com 的主機名稱(結尾是 googlebot.com,過關),再正向查這個主機名稱,如果解回來的還是當初那個 IP,才算數;如果解到別的 IP,就是偽造。第 3 步絕對不能省,因為單純的反向紀錄可以被人動手腳,雙向對起來才保險。補充一點,官方通用爬蟲(common crawler)的 Googlebot 反解主機遮罩是 *.googlebot.com,而 *.google.com 也可能對應某些特殊用途的 Google 爬蟲,驗證時最好先確定你查的是「一般 Googlebot」還是「廣義的 Google 請求」。實務上用 host 或 dig 指令就能做:先 host 來訪IP 看反解名稱,再 host 反解名稱 看是否解回原 IP。
至於大規模的爬蟲身分辨識,例如每天要把幾十萬筆日誌請求分成「Google 搜尋、Bing、各家 AI 爬蟲、可疑偽造」,人工一筆筆查不現實,這時要靠程式批次做反解加比對,相關的分析流程可參考本站的 LLM 爬蟲日誌分析。把爬蟲身分弄對,是後面所有判斷(誰抓了多少、要不要封、封了影響什麼)的地基,這一步馬虎,後面的決策會跟著錯。
Googlebot 不是唯一:AI 爬蟲大軍已經來了
這是現在跟幾年前最大的差別。以前會來抓你網站的,主要就是 Googlebot、Bingbot 這類搜尋引擎爬蟲;現在多了大批 AI 爬蟲,它們分屬不同公司、為了不同目的而來。把它們搞清楚,是做 GEO(生成式引擎優化)的前提,相關的整體概念可參考 GEO 是什麼。
這批 AI 爬蟲為什麼會突然變多?說穿了是生成式 AI 對訓練資料的龐大需求。自從大型語言模型與各種 AI 產品在這幾年爆發,各家業者都需要持續抓取網頁,一來當作訓練模型的素材,二來在產品回答使用者問題時,去網路上抓內容當作引用來源。於是你的伺服器日誌裡,除了老面孔 Googlebot 與 Bingbot,開始擠進 GPTBot、ClaudeBot、PerplexityBot 這些新訪客,在部分站點的觀察裡,AI 爬蟲的請求量相當可觀(不同站點與資料集的分布差異很大,不見得每個站都一樣)。這不是一時現象,而是內容被消費的方式正在擴張:以前你的頁面主要服務「在搜尋結果被點擊」這一種用途,現在還多了一個「在 AI 回答裡被引用」的用途,兩者背後是不同的爬蟲在支撐。
理解這層之後,一個好用的心智模型是把所有訪客分成「服務傳統搜尋的」與「服務 AI 體驗的」,兩邊的爬蟲性格很不一樣。底下這張對照表把 Google 陣營與 OpenAI 陣營放在一起比較,幫你建立直覺:
| 比較項目 | Googlebot | OAI-SearchBot | GPTBot |
|---|---|---|---|
| 所屬公司 | OpenAI | OpenAI | |
| 主要目的 | 建立搜尋索引 | ChatGPT 搜尋的探索與呈現 | 模型訓練素材 |
| 影響 Google 搜尋 | 是,核心 | 否 | 否 |
| 影響 AI 答案曝光 | 影響 Google 的 AI 搜尋功能(如 AI Overviews) | 是(ChatGPT 搜尋) | 否 |
| 封鎖它的後果 | 嚴重損害 Google 搜尋可見度 | 內容不會進 ChatGPT 搜尋答案 | 向 OpenAI 表示後續內容不用於訓練 |
這張表最有價值的一欄是最右邊「封鎖它的後果」。同一間公司的兩個爬蟲(OAI-SearchBot 與 GPTBot),封鎖後的後果完全不同:一個讓內容不會出現在 ChatGPT 搜尋答案裡(網址仍可能作為導覽連結出現),一個只是向對方表明後續不用於訓練。把這個後果搞清楚,你的 robots.txt 才會寫得精準,而不是一刀切。
再把視野拉大一點。AI 爬蟲抓你的內容,最終會反映在兩種曝光上:一種是出現在 ChatGPT、Perplexity 這類生成式搜尋的回答裡,被當作引用來源;另一種是出現在 Google 自己的 AI Overviews(AI 生成的搜尋摘要)裡,後者其實跟你的 Google 搜尋表現綁在一起,相關的影響與應對可參考本站的 Google AI Overviews 對 SEO 的影響。換句話說,「在 AI 回答裡被看見」這件事,現在已經不是單一管道,而是散落在多家生成式引擎與 Google 自己的 AI 功能裡,這也是為什麼 GEO 會被當成一個獨立於傳統 SEO 的新戰場:對手的爬蟲、曝光位置、被引用的方式,都跟以前只看藍色連結排名的時代不一樣了。
底下列出截至 2026 年最常見的 AI 爬蟲,先看一張總覽。雖然 robots.txt 的 user-agent 權杖比對其實不分大小寫(真正區分大小寫的是路徑),但實務上仍建議照官方清單的寫法逐字沿用,方便辨識與維護。
| 爬蟲 | 權杖 | 所屬公司 | 主要目的 |
|---|---|---|---|
| GPTBot | GPTBot |
OpenAI | 抓取內容供未來模型訓練 |
| OAI-SearchBot | OAI-SearchBot |
OpenAI | ChatGPT 搜尋的探索與呈現 |
| ChatGPT-User | ChatGPT-User |
OpenAI | 使用者動作觸發的頁面存取 |
| ClaudeBot | ClaudeBot |
Anthropic | 抓取內容供未來模型訓練 |
| PerplexityBot | PerplexityBot |
Perplexity | 搜尋探索與索引(官方稱不用於訓練) |
| Google-Extended | Google-Extended |
Gemini 訓練素材與接地控制 | |
| Meta-ExternalAgent | Meta-ExternalAgent |
Meta | AI 訓練 |
| CCBot | CCBot |
Common Crawl | 建立公開網路資料集(供研究與訓練等) |
| Bytespider | Bytespider |
ByteDance | 據第三方報導用於模型訓練 |
| Applebot-Extended | Applebot-Extended |
Apple | 控制 Applebot 抓取資料的 AI 用途 |
這張表背後藏著一個關鍵分類,也是你做決策時唯一要記住的:訓練用爬蟲與搜尋用爬蟲,是兩回事。這個區分比記住每個權杖更重要。先補一個但書:表中 Google-Extended 與 Applebot-Extended 嚴格說不是「另一支爬蟲」,而是搭在既有爬蟲身上的「用途控制權杖」(Google-Extended 沒有獨立 user agent,Applebot-Extended 則是控制 Applebot 抓取資料的 AI 用途),但對發布者來說,它們在 robots.txt 裡就是可以單獨開關的控制點,所以放在同一張表裡管理無妨。
OpenAI 把這件事拆得很乾淨。GPTBot 抓取的內容「可能」用於未來的模型訓練,屬於「把你的東西學進它的腦袋」這一類;OAI-SearchBot 則是 ChatGPT 搜尋功能用來探索網站、讓你的頁面有機會出現在搜尋結果裡的爬蟲(注意:它不是每次問答時的即時讀取代理)。真正由使用者動作觸發的即時頁面存取,是另一個 ChatGPT-User,例如使用者向 ChatGPT 提問、或透過 GPT 應用(Custom GPT、GPT Actions)時可能觸發,而不是單純點擊某個連結就必然發生。Anthropic 的 ClaudeBot 抓取的內容同樣可能用於未來訓練;Perplexity 的 PerplexityBot 則是讓網站出現在 Perplexity 搜尋結果用,官方明確表示它不用於基礎模型訓練(使用者觸發的代理另為 Perplexity-User)。Google 陣營裡,Google-Extended 是專門控制 Gemini 訓練素材與接地用途的產品權杖,跟負責搜尋索引的 Googlebot 是兩條線。
這個區別為什麼重要?因為它直接決定「要不要封鎖」這個問題的答案。封鎖一個訓練爬蟲,你放棄的是「內容被學進某個模型」這件事(很多人其實不願意白送);但放行一個搜尋爬蟲,你保留的是「在 AI 回答裡被呈現、被引用的機會」(不保證一定曝光,但至少拿到了入場資格,這正是 GEO 要追求的方向)。把兩者混為一談,就會做出極端選擇:要嘛全開,內容任人訓練;要嘛全封,連 AI 搜尋的可見度一起賠掉。這兩種在現在都不是好答案。
robots.txt 怎麼控制:封鎖訓練不等於退出 AI 搜尋
robots.txt 是你跟爬蟲之間自願遵循的爬取協定,放在網站根目錄,告訴各方爬蟲「哪些路徑可以抓、哪些不行」。它不是存取控制、也不是防止索引的可靠安全機制,只是一份君子協定。它的運作邏輯是按使用者代理分開套用規則:你可以針對 Googlebot 寫一組規則、針對 GPTBot 寫另一組,各爬蟲先找有沒有專門寫給自己的區塊,有就只遵守那一區(同一個 user-agent 若出現多次會被合併,但不會跟通用區塊合併),找不到才退回去看通用區塊。這正是「封鎖 AI 訓練爬蟲」跟「退出 AI 搜尋」可以拆開做的技術基礎。robots 的基本語法與常見陷阱,本站另有 robots.txt 介紹 與 robots.txt 和 noindex 的差別 兩篇專文,這裡專注在 AI 爬蟲的策略層面。
先講一個最常被誤解、也最值得記住的事實:Google-Extended 不影響 Google 搜尋的收錄與排名。Google 官方文件寫得很明白,Google-Extended 是一個獨立的產品權杖,讓發布者控制「Google 抓到的內容能不能用來訓練未來的 Gemini 模型」,它管的是 Gemini App 與 Vertex AI 的訓練,以及以 Google 搜尋索引為基礎的接地(grounding)用途。而且它沒有獨立的 HTTP user agent,實際抓取動作是用既有的 Google user agent 做的,robots.txt 裡的 Google-Extended 權杖純粹是控制用途。
換句話說,你在 robots.txt 封掉 Google-Extended,Google 搜尋照樣收錄你、照樣排名;代價是你的內容不會被用於後續的 Gemini 訓練與接地用途(已經訓練完的部分無法回溯撤銷)。這對「想保住 Google 搜尋流量、又不想被拿去訓練 Gemini」的人幾乎沒有搜尋面的副作用,但會一併放棄在 Gemini 相關體驗中被接地使用的機會,是不是值得,取決於你對授權與曝光的取捨。
那整體該怎麼決定?我的建議是選擇性放行,而不是全開或全封。底下這張決策表把常見爬蟲分成三類,各自對應不同建議:
| 類別 | 代表爬蟲 | 建議 | 理由 |
|---|---|---|---|
| 搜尋引擎爬蟲 | Googlebot、Bingbot | 放行 | 傳統搜尋流量的源頭,沒理由擋 |
| AI 搜尋型爬蟲 | OAI-SearchBot、PerplexityBot | 傾向放行 | 被引用等於在 AI 回答裡曝光,是 GEO 紅利 |
| 純訓練型爬蟲 | GPTBot、ClaudeBot、Google-Extended、Meta-ExternalAgent | 看你自己 | 在意內容被訓練就封;不在意就放 |
一個務實的起點配置(示意,實際部署前請用官方權杖清單,並以 Search Console 的 robots.txt 報表與網址檢查工具驗證),概念長這樣:
# Google 搜尋爬蟲:放行
User-agent: Googlebot
Allow: /
# Gemini 訓練素材與接地:不給(不影響 Google 搜尋)
User-agent: Google-Extended
Disallow: /
# OpenAI 模型訓練:不給
User-agent: GPTBot
Disallow: /
# ChatGPT 搜尋:放行(爭取 AI 答案曝光)
User-agent: OAI-SearchBot
Allow: /
User-agent: *
Allow: /
這段只是示意,用意在示範「分類管理」的思路,不是要你照抄。每家爬蟲的官方權杖會更新,你的商業判斷(要不要被訓練)也只有你能決定。重點是建立「按用途分群、逐一決定」的習慣,而不是一句 Disallow: / 把所有人打發。
要特別小心的是 robots.txt 寫錯的代價很大,而且往往延遲爆發。一條規則歸錯 user-agent 群組、一個 Disallow: / 放錯位置,或規則覆蓋範圍超乎預期,都可能不小心把 Googlebot 一起封掉,傳統搜尋流量會跟著默默下滑(單純的縮排或空白通常不會影響解析,真正危險的是分組與路徑錯誤)。這種問題的麻煩在於它的影響往往延後顯現,你可能過一陣子看數據才發現流量掉了,回頭查才知道是 robots 寫錯。養成一個習慣:上線前先用本地的 robots 解析器或測試工具檢查規則(Search Console 顯示的是已發布的 robots.txt,而且只反映 Googlebot 的視角,無法預檢其他業者的爬蟲),上線後再用 Search Console 確認 Googlebot 能抓重要頁面,並用各家業者公布的 IP 範圍與日誌驗證其他爬蟲。多花這點功夫,能擋掉最致命的那類失誤。
還有一個現實考量常被忽略:封鎖 AI 爬蟲有時候不完全是智財選擇,而是資源選擇。有些 AI 爬蟲抓得又兇又快,一個晚上能對你的伺服器發出成千上萬個請求,吃掉大量頻寬與運算資源,對中小型主機是實實在在的成本負擔。如果你的日誌顯示某個 AI 爬蟲的請求量已經喧賓奪主、卻對你沒有帶來相對應的曝光價值,封掉它就是單純的資源管理,跟要不要被訓練是兩回事。換句話說,robots.txt 的決策不只是「要不要被引用」,還包含「這個爬蟲值不值得我用伺服器資源去招待」,兩個維度可以分開評估。
最後還有一個容易混淆的地方要先講清楚:robots.txt 的指令是「勸導性」的,不是強制防護。主流業者的自動爬蟲(Googlebot、各家 AI 業者的訓練與搜尋爬蟲)通常會遵守 robots.txt;但有兩種例外要心裡有數:一是使用者觸發的代理(例如 Perplexity-User、ChatGPT-User)可能不受 robots.txt 規範,二是來路不明、刻意偽造身分的惡意爬蟲,根本不在乎你的 robots.txt。所以 robots.txt 管得住君子,擋不住小人,真正要防惡意扒取,還得靠伺服器層的頻率限制、WAF(網頁應用防火牆)與前述的身分驗證機制。把 robots.txt 當成跟正規爬蟲溝通的管道,而不是資安防線,你的期待才會擺對位置。
Googlebot 多久來一次?抓取頻率的決定因素
很多人會問:我的網站,Googlebot 到底多久來抓一次?答案沒有固定數字,因為抓取頻率不是 Google 單方面決定的,而是兩股力量拉扯出來的結果。理解這兩股力量,你才知道該從哪裡使力,讓重要的新內容更快被 Google 看到。
第一股是爬取容量上限(crawl capacity limit,又稱 hostload),也就是 Google 願意同時對你的伺服器開多少連線、每秒打多少請求,前提是不能把你壓垮。這跟你的伺服器回應速度直接相關:伺服器回應慢、常 Timeout,Google 會自動放慢以免拖垮你;伺服器又快又穩,才有利於放開手腳多抓(不過提高速度不保證抓取量一定增加,若抓取需求低,Google 仍可能少抓)。所以網站主機的效能、回應時間,不只是使用者體驗問題,也是影響 Googlebot 願不願意常來的技術因素,這部分可併入整體的 技術型 SEO 一起檢視。
第二股是抓取需求(crawl demand),也就是 Google 有多想抓你的頁面。需求高低取決於幾件事:頁面的熱門度與受歡迎程度、特定頁面的重要性、以及內容多常更新(常更新的頁面,Google 比較會提高回訪頻率,怕錯過新版本)。一個長期不更新的頁面,Googlebot 回訪的間隔通常會拉長;相反地,你剛發佈或剛大改的重要頁,如果連結顯眼,比較容易被優先抓到(不過實際頻率沒有保證,熱門度也不等於單純的反向連結數量)。
把這兩股力量擺在一起,就能推出幾個務實的結論。想讓重要新內容被更快抓到,最有效的幾招是:把新頁面放在首頁或高流量分類頁的顯著連結位置(提高發現機率與需求)、提交 Sitemap(主動遞目錄)、用 Search Console 的網址檢查工具要求重新檢索(對單一重要網址最直接)、以及維持伺服器的回應速度(撐高容量上限)。而真正會拖慢抓取的,往往是伺服器太慢、大量錯誤頁(5xx)消耗 Google 的耐心、或網站結構混亂讓 Googlebot 抓不到重點。這些都不是 SEO 的小技巧,而是基本功。再次強調,抓取頻率高不等於排名好,它只是讓你的新內容更快「進入排隊等候索引」;至於能不能被索引、能不能排上,那是另一回事。
Googlebot 對 SEO 的實際影響
把前面講的兜起來,Googlebot 對 SEO 的影響可以濃縮成幾個具體的行動方向。核心觀念是:你的工作不是「讓 Googlebot 來」,而是「讓 Googlebot 能順利抓到、而且抓到的內容值得被收錄」。前者是技術面,後者是內容面,兩者都要顧。
第一,確保它能抓到。 Googlebot 靠連結移動,所以網站架構與內部連結是基本功,每個重要頁面都該有連結走得到,沒有連結指向的孤兒頁很容易整個被忽略。內部連結的角色其實是雙重的:一方面它是 Googlebot 發現頁面的實體路徑,連得到才抓得到;另一方面它也傳遞權重與關聯性,告訴 Google 哪些頁面比較重要。這也是為什麼麵包屑導覽(breadcrumb)、分類頁、以及文章之間的相關互連,向來是技術型 SEO 的基本動作,相關觀念可參考本站的 內部連結教學。同時主動提交 Sitemap,等於把目錄遞到 Google 手上,並用 Search Console 網頁索引報表 持續觀察哪些頁面沒被收錄、原因是什麼。把這幾件事做實,等於幫 Googlebot 鋪好路,讓它不需要碰運氣就能走遍你所有重要內容。
第二,確保它抓到的內容是完整的。 JavaScript 渲染的站,一定要驗證轉譯後的內容是不是齊全,工具前面提過了。還要記得,不要用 robots.txt 封鎖 Google 理解或轉譯主要內容所需的 CSS 與 JavaScript,Googlebot 需要這些資源才能正確轉譯頁面、判斷版面與互動;至於不影響內容的非關鍵資源,倒是可以視情況控制,兼顧抓取效率。圖片、影片如果希望出現在圖片搜尋、影片搜尋,也要讓對應的 Googlebot-Image、Googlebot-Video 抓得到。
第三,確保它抓到的東西值得收錄。 這已經不是 Googlebot 的事,而是索引系統在看內容品質、原創性、與其他頁面的重複關係(至於跟搜尋意圖契不契合,屬於後續提供搜尋結果階段的事),相關的整體檢視屬於技術型 SEO 的範圍。重複內容、空泛的薄內容、抄襲來的東西,就算 Googlebot 抓回去,也比較可能不被索引、被歸為替代版本,或難以爭取到搜尋曝光。
第四,手機版內容要完整。 行動優先索引下,Googlebot Smartphone 看到的就是你排名用的版本。響應式設計的站基本沒問題,因為手機桌面是同一份;獨立手機版則要確保內容、結構化資料、內部連結都不縮水,這點前面提過,但值得再強調一次,因為它太常見也太容易被忽略。
這裡也要破除一個期待:Googlebot 來得勤,不代表排名會好。抓取頻率高,反映的是 Google 想維持對你站的理解新鮮度,跟排名高低沒有直接等號。老實說,盯著「Googlebot 來幾次」這個數字意義不大,它只是個過程指標;更該盯的是「有多少頁面真的被索引、被排名、拿到曝光」,這些才是結果指標,全部在 Search Console 裡看得到。把注意力放在結果,而不是過程,這是判斷 SEO 健康度時的分界線。
常見誤解一次釐清
| 常見誤解 | 實際情況 |
|---|---|
| Googlebot 來抓了就一定會被收錄 | 抓取不等於索引,索引系統會再判斷內容值不值得收 |
| 封掉 Google-Extended 會影響 Google 搜尋排名 | 不會,它跟 Google Search 收錄與排名無關(但會放棄 Gemini 訓練與接地用途) |
| 封掉 GPTBot 就等於退出 ChatGPT 搜尋 | 不一定,ChatGPT 搜尋用的是 OAI-SearchBot,兩者是不同爬蟲 |
| 看 user agent 寫著 Googlebot 就一定是 Google | 任何爬蟲都能偽造 user agent,必須用反向加正向 DNS 驗證 |
| 桌面版內容才是排名依據 | 行動優先索引下,Googlebot Smartphone 抓的手機版才是主力 |
| JS 渲染的內容 Googlebot 一定看得到 | 要等轉譯那一波,可能延後被處理,需主動驗證 |
| AI 爬蟲抓得多等於我的 SEO 變好 | AI 爬蟲不影響 Google 搜尋排名,它的價值在 AI 答案裡的可見度 |
| 把 Googlebot 封掉只影響搜尋 | 還會連帶封掉共用其權杖的 Googlebot-Image、Googlebot-Video、Googlebot-News |
結論與行動清單
回到開場那句:沒有 Googlebot 來抓,就沒有後面的排名。但現在的完整版其實是這樣:會來敲門的不只 Googlebot,還有一整批目的各異的 AI 爬蟲,而你唯一需要認真做的決定,從來不是「要不要讓爬蟲來」,而是「要被訓練,還是要被看見」。把這兩件事分開,你就再也不必二選一。
給你三個下週就能執行的下一步:
- 檢查 robots.txt 有沒有誤封 Googlebot:用 Search Console 的 robots.txt 報表,確認 Googlebot 與 Googlebot-Image、Googlebot-Video 都能抓重要頁面,順便決定要不要封 Google-Extended(封了不傷 Google 搜尋,只是放棄 Gemini 後續訓練與接地用途)。
- 看清是誰在抓你的站:從伺服器日誌把爬蟲分類出來,區分 Google 搜尋爬蟲、AI 訓練爬蟲、AI 搜尋爬蟲各佔多少,這是一切後續決策的依據。
- 驗證 JS 渲染內容:挑你流量最大的幾個頁面,用網址檢查工具看 Googlebot 轉譯後實際看到什麼,確認關鍵內容沒有在轉譯那一波缺席。
爬蟲的世界看起來雜,其實規則就那幾條。把它們分對類、管對規則,剩下的就交給內容本身。