【41天實驗】JavaScript連結令AI搜尋爬蟲完全看不見你的網站——GPTBot、ClaudeBot、PerplexityBot全部零收錄
如果你的網站導航(navigation)依賴 JavaScript 載入連結,所有主流 AI 搜尋爬蟲都看不見你的內容。這不是猜測,而是一個經過 41 天嚴格控制的實測結果。
Search Engine Land 的技術 SEO 專家 Vinicius Stanula 在一個真實的巴西商業目錄網站(約 2,400 頁)進行了對照實驗:將一半的內部連結以純 HTML 寫死,另一半透過 JavaScript 動態注入,然後記錄所有爬蟲的訪問行為長達 41 天。結果比任何人預期的都更極端。
一句話總結:如果你的導航連結要靠 JavaScript 才能出現,ChatGPT、Claude、Perplexity、Bing Copilot 的爬蟲永遠不會找到那些頁面。
實驗怎麼做的?
實驗網站是一個分層結構的分類目錄,包含 21 個頂層分類(sections),每層之下有 division、group、class 等子頁面,共 1,062 個層級頁面。研究員將 21 個分類交替分為兩組:
- HTML 組(11 個分類):所有子頁面連結直接寫死在 HTML 原始碼中
- JS 組(10 個分類):所有子頁面連結全都由 JavaScript 在頁面載入後注入,原始 HTML 只是一個空的
<div>
為確保實驗純淨,研究員關閉了所有替代發現路徑——sitemap 返回 404、移除麵包屑導航、移除內部面板。JS 組頁面唯一的發現路徑就是爬蟲執行 JavaScript 後才能看到的連結。
結果:只有 Google 能執行 JavaScript——而且 Googlebot 也只爬到 2%
經過 27 天的第一階段觀察,結果極度懸殊:
| 爬蟲 | 有執行 JS? | HTML組層級頁面 | JS組層級頁面 |
|---|---|---|---|
| Googlebot | ✅ 是 | 35(5%) | 7(2%) |
| GoogleOther | ✅ 是 | 495(66%) | 142(48%) |
| GPTBot(OpenAI) | ❌ 否 | 748 | 0 |
| ClaudeBot(Anthropic) | ❌ 否 | 748 | 0 |
| Bingbot | ❌ 否 | 282 | 3* |
| OAI-SearchBot(ChatGPT 搜尋) | ❌ 否 | 10 | 0 |
| Meta-ExternalAgent(Meta AI) | ❌ 否 | 537 | 0 |
| Amazonbot | ❌ 否 | 735 | 0 |
| ChatGPT-User(即時瀏覽) | ❌ 否 | 46 | 0 |
| PerplexityBot | ❌ 否 | 0 | 0 |
> Bingbot 在 27 天的最後兩天爬到 3 個 JS 頁面,但爬取模式指向非 JS 執行的其他發現路徑
關鍵解讀:Googlebot ≠ GoogleOther
很多網站主看到「Google 能渲染 JavaScript」就放心了。但這個實驗清楚顯示:
- GoogleOther(負責抓取、不負責索引)爬到了 JS 組 48% 的頁面
- Googlebot(負責建立搜尋索引的爬蟲)只爬到 2%
也就是說,Google 的搜尋索引對你的 JavaScript 連結頁面幾乎是盲的。 就算 GoogleOther 找到了那些頁面,Googlebot 也沒把它們放進搜尋結果。
所有 AI 爬蟲的 JavaScript 覆蓋率為 0%。GPTBot 甚至在同一天內掃完了 HTML 組全部 748 個頁面,然後在 JS 組的 10 個 section 頁面前硬生生停住。
恢復測試:改用 HTML 後 48 小時內被重新發現
第 27 天後,研究員將所有 JS 連結改回硬編碼的 HTML。結果:
- GPTBot 在 48 小時內一次掃完 250 個之前從未到達的頁面
- Bingbot 在一週內新增 212 頁
- Meta-ExternalAgent 在第 41 天也完成了掃描
- ClaudeBot 反而沒有發現任何新頁面——它一直爬舊地圖上的頁面
- Google 的反應最慢:到第 41 天,Googlebot 只在轉換後的 section 中發現了 1 個新頁面
這說明:對 AI 爬蟲來說,改成 HTML 連結後恢復很快;但對 Google 來說,新網站第一次爬取的機會一旦錯過,就很難再贏回來。
對香港企業的具體影響
香港很多中小企網站使用 React、Vue、Next.js 等前端框架,導航連結經常透過 JavaScript 動態產生。如果你的網站有以下情況,你的 AI 搜尋能見度可能為零:
- SPA(單頁應用):內容透過 JavaScript 渲染,導航連結也是 JS 注入
- 點擊展開的子選單:子分類連結在點擊才載入,爬蟲無法看到
- Lazy-loaded 導航:導航元件延遲載入,爬蟲的 JavaScript 引擎不等
- 無 server-side rendering(SSR)的 Next.js/Vue 專案:預設 client-side rendering 意味著連結不存在於原始 HTML
如何檢查你的網站?
用最簡單的方法:在瀏覽器中禁用 JavaScript,然後點擊你的導航走一遍關鍵路徑。如果找不到重要頁面的連結,所有 AI 爬蟲也找不到。
或者,右鍵查看「網頁原始碼」(View Page Source),搜尋你的產品/服務頁面 URL——如果原始碼裡找不到這些連結,AI 爬蟲也找不到。
行動清單
- □ 立即測試:禁用 JavaScript 後瀏覽你的網站,確認所有關鍵頁面的連結都存在於 HTML 原始碼
- □ 優先修復導航:確保所有層級(分類→子分類→產品頁)的連結都在原始 HTML 中,而非 JS 注入
- □ 考慮 SSR 或 SSG:如果你的網站使用前端框架,確保導航部分採用伺服器端渲染或靜態生成
- □ 提交 Sitemap:雖然實驗中關閉了 sitemap,但實際上你應該提交 XML Sitemap 到 Google Search Console、Bing Webmaster Tools 和 OpenAI
- □ 監控爬蟲日誌:檢查伺服器日誌中 GPTBot、ClaudeBot、OAI-SearchBot 的訪問模式,確認它們是否真的到達了你的內容頁面
- □ 定期審計:每次網站改版後重新進行禁用 JS 測試,確保新功能沒有破壞 HTML 連結結構
資料來源:Vinicius Stanula, “JavaScript links can make your pages invisible to AI search”, Search Engine Land, August 19, 2026.