JavaScript 網站做得了 GEO 嗎?
可以但需額外處理。純 SPA(React/Vue/Angular)對 AI 爬蟲幾乎隱形,必須導入 SSR、Static Pre-rendering 或遷移至 Astro/Next.js 才能讓 AI 拿到 HTML。
Googlebot 會渲染 JavaScript(仍可索引),但渲染預算有限;GPTBot、ClaudeBot、PerplexityBot、OAI-SearchBot 多半不執行 JS,看到的是 `<div id="root"></div>`——所有 meta、JSON-LD、內容區塊都讀不到。這是純 SPA 站做 GEO 的致命問題。
三條技術路徑:(1) **vite-plugin-prerender / react-snap**:build 時用 puppeteer 跑一次每個路由,輸出 static HTML。優點:對現有 code 改動最小。缺點:dynamic 路由需事先列出 slug。(2) **遷移至 Astro**:原生 SSG、支援匯入 React 元件,是內容站最佳選擇。(3) **遷移至 Next.js App Router**:完整 SSR + RSC,工程量最大但長期可擴展性最高。
若預算/時間有限,先做 Pre-rendering(1–2 週可完成)覆蓋現有路由,再規劃 6 個月後遷 Astro。geomkt.app 自身採此策略:Phase 0 先 prerender、Phase 1 再評估遷移。
重點
- 純 SPA 對 AI 爬蟲幾乎隱形
- 三路徑:Pre-render / Astro / Next.js App Router
- Pre-render 1–2 週可上線、Astro 為中期最佳方案
相關內容
- [faq] 結構化資料怎麼加? — 加結構化資料 4 步:選對 Schema 類型、用 JSON-LD 嵌入 <head>、填齊必填欄位(name/description/dateModified
- [faq] Gemini 為什麼不引用? — Gemini 不引用的五大常見原因:robots.txt 沒開放 Google-Extended、純 SPA 看到空白、缺結構化資料、無 dateModifie
- [faq] 怎麼確認 AI 抓取? — 檢查 AI 是否抓取你的網站有三條路:看 server access log 過濾 AI bot user-agent、用 Cloudflare Bot Ana
- [faq] 詳見原頁 — Vite SPA 必須用 vite-plugin-prerender 或 react-snap 在 build 時為每條路由產生靜態 HTML,否則 AI 爬蟲
- [blog] 閱讀完整指南:2026 完整 GEO 指南 — 完整解析 2026 年生成式搜尋引擎優化(GEO):從定義、與 SEO 差異、AI 引用機制、七大內容類型、90 天落地路線、預算配比,到三個台灣品牌實戰案例。