SSRが必要な理由とAIクローラーのJS非実行
AIクローラーはJavaScriptを実行するのか
主要なAIクローラーの多くはJavaScriptを実行しません。初期HTMLに本文が無いサイトは、AIには空のページに見えます。
Vercel と MERJ の共同分析では、5億件を超えるGPTBotの取得を追跡し、JavaScript実行の痕跡がゼロだったと報告されています。GPTBotは.jsファイルを約11.5%の頻度で取得しても、それを実行はしませんでした。Anthropic の ClaudeBot や PerplexityBot も同様に、生のHTMLからテキストを直接抜き出します(出典: The rise of the AI crawler)。別系列の整理では、AIクローラーの69%がJavaScriptを実行できないとされています(出典: How to Block or Allow AI Bots)。
クライアントサイド描画だと何が起きるか
Reactなどでブラウザ側にHTMLを組み立てるCSR構成では、本文がレンダリング後のDOMにしか存在せず、AIには見えません。robots.txt で許可していても引用の土俵に乗れません。
AIクローラーは1〜5秒程度の短いタイムアウトで動き、大規模にJavaScriptを描画する計算コストを避けています。だから初期応答のHTMLだけを読み、後から動的に挿入される本文は無視されます。Googlebot は描画まで行いますが、ChatGPT や Claude のクローラーは行いません。ここがGoogle以外を狙うときの落とし穴です。
SSRでの具体的な対策
サーバー側で本文込みのHTMLを返すSSR、または静的生成(SSG)にして、初期HTMLに本文を完全に含めます。Next.js などのフレームワークで実現できます。
確認は単純です。ブラウザでJavaScriptを無効にして主要記事を開き、本文がそのまま表示されるかを見ます。表示されなければAIにも見えていません。製品ページ、FAQ、主要記事から優先してSSR化するのが現実的です。
Geo Index の「AI最適化ページ」は、SSR本文と構造化データJSON-LDを全User-Agentに同一URLで返す設計です。人間とクローラーで出し分けるクローキングは採用せず、確実に読まれる土台を作ることだけを担います。
SSRで本文が確実に読まれる土台ができたら、あとはその本文をLLMに読まれ引用される記事構成の作り方に沿って引用されやすい形に整えるだけです。到達面の点検はAIクローラーの誤ブロックを防ぐとrobots.txtでAIクローラーを制御する方法も合わせてどうぞ。