AI 爬蟲爬唔到你個網,多數走唔甩呢 7 個技術原因:robots.txt 擋咗、JS rendering、Vercel/CDN 攔截、middleware 誤判、sitemap 缺失、WAF 當你係攻擊、內容藏喺登入牆後。爬唔到,後面所有 AI 搜尋優化工夫都白做。以下逐個教你點喺 5 分鐘內自查。
測試環境同日期:以下指令喺 2026-08 用 curl、Chrome DevTools、Google Search Console、Vercel Dashboard 實際行過。AI 爬蟲 User-Agent 名單同 robots.txt 慣例會隨時間變,如果你睇呢篇文已經係幾個月後,建議先重新核對各引擎最新嘅 User-Agent。
Crawlability 係答案引擎優化(Answer Engine Optimization,AEO)嘅 hard gate
想知 AI 而家點講你間公司?
輸入網址,1–2 分鐘睇 ChatGPT / Gemini 有冇推薦你 — 唔使登記
做 AEO(AI 搜尋優化)嘅公司最常見錯誤,係一開波就跳去寫 FAQ、加 Schema,但完全冇驗證過 AI 嘅爬蟲本身有冇能力落地你個網站。呢個唔係「做多啲會更好」嘅優化項——係「做唔到就乜都冇用」嘅 hard gate。你個網做咗幾靚嘅結構化資料,如果 GPTBot 一入嚟就撞到 403,AI 引擎連你嘅內容都未見過,邊有得引用你。
原因一:robots.txt 完全擋晒 AI 爬蟲
最常見、最容易一次過中招嘅原因。好多網站幾年前為咗防止內容被 scrape 訓練 AI 模型,喺 robots.txt 度加咗 Disallow: / 針對常見 AI 爬蟲,但而家又想被 AI 引用——兩者互相矛盾,你冇得攬住個餅同時食。
自查方法:
curl -s https://你嘅域名/robots.txt睇下有冇類似呢啲 block:
User-agent: GPTBot
Disallow: /
User-agent: PerplexityBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: Google-Extended
Disallow: /如果想畀 AI 引用,起碼要放行以下幾隻主要爬蟲(各家 User-Agent 名稱會變,實施前建議對照返各引擎官方文件):GPTBot(OpenAI)、ClaudeBot(Anthropic)、PerplexityBot、Google-Extended(Google AI Overviews/Gemini 訓練用)、Bingbot(Copilot 底層一部分用 Bing 索引)。修正做法:
User-agent: GPTBot
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Google-Extended
Allow: /
Sitemap: https://你嘅域名/sitemap.xml原因二:JS rendering——爬蟲睇到嘅係空白頁
好多 AI 爬蟲(同傳統 SEO crawler 一樣)唔會執行 JavaScript,只讀 server 返回嘅原始 HTML。如果你個網係純 client-side render(例如 React SPA 冇做 SSR),爬蟲攞到嘅可能係一個近乎空白嘅 <div id="root"></div>,內容全部要靠 JS 喺瀏覽器入面先渲染出嚟。
自查方法:關咗瀏覽器 JS 之後重新載入頁面,或者直接 curl 睇 raw HTML:
curl -s https://你嘅域名/ | grep -o '<title>.*</title>'再對比瀏覽器實際睇到嘅內容——如果 curl 出嚟嘅 HTML 入面搵唔到你嘅主要文字內容(例如服務介紹、FAQ),但瀏覽器打開就見到,代表內容係靠 JS 後補渲染。
修正方向:用 Next.js/Nuxt 呢類支援 Server-Side Rendering (SSR) 或 Static Site Generation (SSG) 嘅框架,令 server 直接吐出完整 HTML;如果暫時做唔到全站 SSR,起碼要對重點頁面(首頁、服務頁、FAQ 頁)做靜態化。
原因三:Vercel/CDN 層擋咗爬蟲
用 Vercel 部署嘅網站,有時問題唔喺 code 層面,而喺平台設定——Deployment Protection(部署保護)或者 Vercel 嘅 Bot Protection/Firewall 規則,可能將所有非瀏覽器 User-Agent 一律當成攻擊擋咗。呢個情況特別陰濕,因為你自己用瀏覽器開個網睇落完全正常,但 AI 爬蟲一嚟就食 401/403。
自查方法:喺 Vercel Dashboard 檢查 Project Settings → Deployment Protection 有冇開咗(開咗代表要密碼/SSO 先入到,AI 爬蟲一定入唔到),再檢查 Firewall 規則有冇針對 bot 嘅攔截規則。用實際 User-Agent 測試:
curl -s -A "GPTBot" -o /dev/null -w "%{http_code}\n" https://你嘅域名/回傳 200 先合格;如果係 401/403,就要去 Vercel 設定放行,或者將 Deployment Protection 收窄到只保護 preview 環境,唔好連 production 都封晒。
原因四:middleware/proxy 對特定 User-Agent 做咗攔截
如果個站用咗自訂 middleware 做 A/B testing、地區導向、或者防爬蟲機制,好多時會用 User-Agent 白名單/黑名單做判斷——常見錯誤係白名單淨係列咗瀏覽器 User-Agent(Chrome、Safari、Firefox),冇考慮到 AI 爬蟲根本唔會扮瀏覽器,一 match 唔到就直接畀 middleware 攔截或者 redirect 去錯誤頁面。
Next.js middleware 舉例,錯誤寫法:
// middleware.ts(有問題嘅版本)
export function middleware(request: NextRequest) {
const ua = request.headers.get("user-agent") || "";
const isKnownBrowser = /Chrome|Safari|Firefox/.test(ua);
if (!isKnownBrowser) {
return NextResponse.redirect(new URL("/blocked", request.url));
}
return NextResponse.next();
}修正方向:白名單要明確加入已知 AI 爬蟲 User-Agent,或者改用「黑名單已知惡意 UA」而唔係「白名單已知瀏覽器」呢種思路,避免誤傷所有非瀏覽器流量:
// middleware.ts(放行 AI 爬蟲版本)
const AI_CRAWLERS = ["GPTBot", "ClaudeBot", "PerplexityBot", "Google-Extended", "Bingbot"];
export function middleware(request: NextRequest) {
const ua = request.headers.get("user-agent") || "";
if (AI_CRAWLERS.some((bot) => ua.includes(bot))) {
return NextResponse.next();
}
// 其餘邏輯...
return NextResponse.next();
}原因五:sitemap.xml 缺失或者過期
Sitemap 唔係 crawlability 嘅硬性必要條件,但佢係加速爬蟲發現新/改咗嘅頁面嘅最有效方法。冇 sitemap,爬蟲要靠內部連結逐層爬,深層頁面(例如個別服務頁、blog 文章)可能長期冇畀爬到。
自查方法:
curl -s https://你嘅域名/sitemap.xml | head -20檢查有冇回傳有效 XML、有冇包含你想被引用嘅重點頁面(服務頁、FAQ 頁、案例頁)、lastmod 日期係咪反映真實更新時間。修正方向:Next.js 可以用 app/sitemap.ts 自動產生,記得將 sitemap 網址寫入 robots.txt 底部,並喺 Google Search Console 提交。
原因六:Cloudflare/WAF 誤將爬蟲當攻擊擋咗
如果個站用咗 Cloudflare 或者其他 WAF(Web Application Firewall),Bot Fight Mode 或者一啲進取嘅安全規則有可能將 AI 爬蟲當成惡意流量擋咗——因為呢啲爬蟲嘅請求模式(短時間內密集 request、冇瀏覽器常見嘅 cookie/JS challenge 反應)同惡意 scraper 好相似。
自查方法:Cloudflare Dashboard → Security → Bots,睇下 Bot Fight Mode 有冇開,同埋喺 Security Events 度搜 GPTBot/ClaudeBot/PerplexityBot 呢啲關鍵字,睇下有冇被 block 嘅記錄。修正方向:喺 WAF 規則度為已知 AI 爬蟲 User-Agent 加白名單 exception,或者將 Bot Fight Mode 收窄成只針對明顯惡意特徵,唔好一刀切擋晒所有非瀏覽器 UA。
原因七:內容藏喺登入牆/付費牆後面
呢個原因好多公司唔覺意——如果你想被 AI 引用嘅重點內容(例如詳細服務說明、案例數據)需要登入或者填表先睇到,AI 爬蟲同未登入嘅訪客一樣,見到嘅只係登入頁面,完全接觸唔到你想被引用嘅內容。
自查方法:用無痕模式(incognito)打開你想被 AI 引用嘅頁面,睇下係咪一開波就要求登入/填表先睇到重點內容。修正方向:將想被 AI 引用嘅核心資訊(公司簡介、服務範圍、定價邏輯、FAQ)留喺公開頁面,登入牆/付費牆淨係用喺真正需要保護嘅深度內容(例如客戶專屬報告)。
一次過自查:5 步跑晒 7 個原因
# 1. robots.txt 有冇擋晒 AI 爬蟲
curl -s https://你嘅域名/robots.txt
# 2. raw HTML 有冇內容(JS rendering 問題)
curl -s https://你嘅域名/ | grep -o '<title>.*</title>'
# 3. 用 AI 爬蟲 UA 測試實際回傳狀態(Vercel/middleware/WAF 三個原因一次 test 晒)
curl -s -A "GPTBot" -o /dev/null -w "%{http_code}\n" https://你嘅域名/
curl -s -A "ClaudeBot" -o /dev/null -w "%{http_code}\n" https://你嘅域名/
curl -s -A "PerplexityBot" -o /dev/null -w "%{http_code}\n" https://你嘅域名/
# 4. sitemap 有冇有效內容
curl -s https://你嘅域名/sitemap.xml | head -20
# 5. 重點頁面係咪需要登入先睇到(用無痕模式人手核對)呢 5 步入面,只要有一步回傳唔正常(403/401/空內容/redirect 去錯誤頁),就代表你嘅 AEO 工夫仲未開始就已經卡住——先修呢層,先值得投資落 Schema、BLUF 內容呢啲下一層工作。
FAQ
點知邊個 User-Agent 係邊個 AI 引擎嘅爬蟲?
主要幾個:GPTBot 係 OpenAI/ChatGPT 嘅爬蟲;ClaudeBot 係 Anthropic(Claude)用;PerplexityBot 係 Perplexity AI 用;Google-Extended 控制緊 Google AI 產品(包括 Gemini、AI Overviews)可唔可以用你個網嘅內容;Bingbot 影響緊 Microsoft Copilot 部分底層索引。呢啲名單會隨時間有新增,實施前建議對照返各引擎官方文件核實最新名單。
robots.txt 擋咗 AI 爬蟲,係咪即刻改就有效?
改完 robots.txt 只係第一步——你要畀 AI 爬蟲有機會重新嚟過。冇一個保證嘅重新爬取時間表,但一般建議喺改完之後,喺 Google Search Console 用「網址檢查工具」主動提交重要頁面要求重新索引,加速 Google 相關產品側嘅重新發現。其他引擎(OpenAI、Anthropic、Perplexity)暫時未有公開嘅「即時提交」機制,只能等佢哋下一輪自然爬取。
用 Cloudflare 嘅 Bot Fight Mode 係咪一定要關咗先做到 AEO?
唔一定要全關,但一定要加 exception。Bot Fight Mode 對防止惡意 scraper/DDoS 有實際用處,唔建議純粹為咗 AEO 就完全關閉安全機制。正確做法係喺 Cloudflare 嘅 WAF/Bot 設定入面,為已知嘅正當 AI 爬蟲 User-Agent(GPTBot、ClaudeBot、PerplexityBot 等)明確加白名單規則,令佢哋跳過 Bot Fight Mode 嘅攔截,但其餘可疑流量繼續受保護。
我點知自己個網屬唔屬於「純 client-side render」有 JS rendering 問題?
最快嘅檢查方法係關咗瀏覽器 JavaScript 之後重新整頁——Chrome DevTools 入面 Settings → Debugger →「Disable JavaScript」,或者直接用 curl 攞 raw HTML 同瀏覽器實際顯示嘅內容對比。如果 curl 出嚟嘅 HTML 搵唔到頁面主要文字(例如淨係得一個空嘅 <div id="root">),但瀏覽器打開就正常見到內容,就代表你個網主要靠 JavaScript 喺瀏覽器端渲染,AI 爬蟲好大機會攞唔到完整內容。
修完呢 7 層,跟住就要睇 AI 引擎實際識唔識你。 用 Webka 免費 AI 品牌曝光診斷工具(aeo.weblnno.info),輸入網址即場問五引擎(ChatGPT、Gemini、Claude、DeepSeek、Perplexity),1–2 分鐘出結果,每日 3 次免費,無需註冊。技術細節想問,可以電郵 hello@webka.hk。