AI検索対策

AI検索のBotはJavaScriptを読まない|引用される対策

記事執筆者:認定SEOコンサルタント 三田健司

「ChatGPTに自社について聞いても、まったく違う内容が返ってくる」「Googleでは普通に表示されるのに、AIの回答には自社が出てこない」。2026年に入り、こうしたご相談が目に見えて増えています。原因はコンテンツの中身ではなく、サイトの作り方そのものにあるケースが少なくありません。

その代表的な原因が、JavaScriptによる表示です。ChatGPTやClaudeといった生成AIのクローラーは、ページを読み込んでもJavaScriptを実行しません。つまり、JavaScriptで後から差し込まれる文章や商品情報は、AIから見ると「最初から存在しないページ」として扱われてしまいます。

本記事では、VercelとMERJによる大規模なクローラー調査のデータをもとに、AIクローラーとGooglebotの挙動の違いを整理します。そのうえで、自社サイトが該当していないかを確認する具体的な手順と、WordPressサイトで今日から実践できる改善策までを、SEOコンサルティングの現場知見を交えて解説します。

目次

AI検索のクローラーはJavaScriptを実行していない

AIクローラーがWebページを調査するアイソメトリックイラスト

VercelとMERJの共同調査が示した事実

Next.jsの開発元として知られるVercelは、SEO・データエンジニアリングの専門会社MERJと共同で、Web上を巡回するクローラーの実挙動を大規模に計測した調査を公開しています(Googlebotに関する調査が2024年7月、AIクローラーに関する調査が2024年12月に公開されました)。自社ネットワークを通過する膨大なアクセスログと、ページのレンダリング完了を検知する専用の計測用スクリプトを突き合わせることで、「どのクローラーが実際にページを描画しているのか」を実データから判定するという手法です。

この調査で明らかになったのが、主要なAIクローラーはいずれもJavaScriptをレンダリング(実行して画面を組み立てること)していないという結果でした。対象にはOpenAIのGPTBot・OAI-SearchBot・ChatGPT-User、AnthropicのClaudeBot、MetaのMeta-ExternalAgent、ByteDanceのBytespider、PerplexityBotが含まれます。

クローラーの通信量も無視できない規模になっています。同調査の計測期間では、Googlebotが約45億回(Google検索とGeminiの合算)のフェッチを記録した一方、GPTBotが約5.69億回、Claudeが約3.70億回、AppleBotが約3.14億回、PerplexityBotが約2,440万回に達しました。AI系クローラーを合算するとGooglebotの3割近い規模であり、すでに「無視してよい少数派」ではありません。

JavaScriptファイルは取得するが実行はしない

興味深いのは、これらのAIクローラーがJavaScriptファイル自体はダウンロードしている点です。同調査によると、GPTBotは全リクエストのうち約11.5%、ClaudeBotは約23.8%をJavaScriptファイルの取得に使っていました。それにもかかわらず、実行された形跡はまったく確認されなかったと報告されています。

つまりAIクローラーにとって、JavaScriptは「動かすプログラム」ではなく「テキストとして読むだけのファイル」に近い扱いになっています。ブラウザのように解析・実行してDOM(ページの構造)を組み立てるわけではないため、スクリプトが完成させるはずだった画面はAI側には届きません。

一方で、初期HTMLの中に含まれているJSONデータのような非HTML形式の情報は、AIが解釈できる可能性があるとも指摘されています。ポイントは「実行が必要かどうか」であり、最初のレスポンスに文字として含まれていれば読まれる余地があるということです。

例外はGoogleのGeminiとAppleBot

すべてのAI関連クローラーが同じ挙動というわけではありません。GoogleのGeminiはGooglebotのインフラを利用しているため、Googlebotと同等のJavaScriptレンダリング能力を持っています。AppleBotもブラウザベースのクローラーで、JavaScriptやCSS、Ajaxリクエストを処理してページ全体を描画できると報告されています。

また、大規模言語モデルの学習データとして広く使われるCommon Crawl(CCBot)は、ページのレンダリングを行いません。「AIに読まれる」といっても、どのボットが来ているかによって見えている内容が違うという前提を押さえておく必要があります。

なお、この調査の主な計測対象はnextjs.orgをはじめとする一部のサイトであり、Web全体の代表値ではありません。AIクローラーの挙動も各社の実装変更によって今後変わる可能性があるため、定期的に最新情報を確認することをおすすめします。

JavaScriptで表示している情報が「存在しない」扱いになる理由

JavaScriptで表示される情報が欠落したブラウザ画面のイラスト

初期HTMLと完成後の画面はまったく別物

Webページには、サーバーが最初に返す「初期HTML」と、ブラウザがJavaScriptを実行して組み上げた「完成後の画面」という2つの状態があります。私たちが普段目にしているのは後者で、検索エンジンやAIが最初に受け取るのは前者です。

クライアントサイドレンダリング(CSR/ブラウザ側で画面を組み立てる方式)のサイトでは、初期HTMLがほぼ空の器だけということも珍しくありません。JavaScriptを実行しないAIクローラーから見ると、そのページは中身のない白紙と同じになってしまいます。

実務では「サイト全体がCSR」というケースよりも、「一部の重要な情報だけがJavaScript任せ」というケースの方がはるかに多く見受けられます。料金表、よくある質問、施工事例、在庫や空き状況といった、まさに検索されている情報が抜け落ちているパターンです。

AI検索で引用されないという実害

AI検索は、収集したページの内容をもとに回答を生成し、根拠となったページを引用元として提示します。読み取れる情報が乏しいページは、引用の候補にすら入りません。順位が下がるのではなく、そもそも土俵に上がれないという点が従来のSEOとの大きな違いです。

さらに厄介なのは、情報が欠けたまま回答が生成されてしまうリスクです。料金や対応エリアが読み取れなければ、AIは他社の情報や古いキャッシュをもとに推測した内容を返すことがあります。結果として、意図しない情報がユーザーに伝わってしまう可能性があります。

Vercelの調査では、GPTBotとClaudeBotのフェッチのうち3割超が404エラーページに費やされていたことも報告されています。AIクローラーのURL選択はまだ精度が高いとは言えず、こちらから正しい情報を読み取りやすい形で提示しておく重要性が増しています。

従来のSEOでは表面化しにくかった問題

「これまで検索順位に問題はなかったのに、なぜ今さら」と感じる方も多いはずです。理由は単純で、Googlebotが長年にわたってJavaScriptをレンダリングしてきたからです。CSRで作られたサイトでも、Googleは時間をかけて内容を読み取り、インデックスに登録してくれていました。

その前提が、AI検索の普及によって崩れつつあります。検索の入口がGoogleだけではなくなり、レンダリングしないクローラーが大量に巡回するようになったことで、初期HTMLの中身がそのまま「AIから見た自社サイト」になってきました。

つまり今起きているのは、新しい対策が増えたというより、これまで見過ごせていた技術的な弱点が表に出てきたという変化です。土台を整えれば、Google検索とAI検索の両方に効いてくる領域でもあります。

Googlebotとの違い|「5秒ルール」という誤解

GooglebotとAIクローラーのレンダリング能力の違いを表すイラスト

Googlebotは原則すべてのHTMLページをレンダリングする

まず前提として、Googlebotの処理は「クロール(取得)」「レンダリング(描画)」「インデックス(登録)」の3段階に分かれています。かつては一部のページしか描画されないと考えられていましたが、現在のGooglebotは最新の安定版Chromeを用いて、原則すべてのHTMLページを描画しています。

VercelとMERJの検証では、10万件を超えるGooglebotのフェッチを分析した結果、ステータスコードのエラーやインデックス対象外を除いたHTMLページの100%が完全に描画されていたと報告されています。「GoogleはJavaScriptを読めない」という古い常識は、すでに実態と合っていません

非同期のAPI通信で読み込まれるコンテンツや、React Server Componentsによってストリーミング配信されるコンテンツも、問題なくインデックスされていました。JavaScriptフレームワークを使うこと自体がGoogle検索で不利になるわけではない、というのが現在の結論です。

「5秒でレンダリングされる」という数字の正体

SEOの現場でよく語られるのが「Googleのレンダリングは5秒が上限」という説です。この数字の出どころは、GoogleのMartin Splitt氏が2019年のイベントで語った「Googlebotのレンダリング時間の中央値は5秒」という発言だとされています。

これは「タイムアウトの上限」ではなく「中央値」であり、そもそも意味が異なります。Googleは明確なレンダリングのタイムアウト値を公表していないため、5秒という数値を絶対的な締切として扱うのは正確ではありません。

実測データを見ると、クロールから描画完了までの遅延は中央値で約10秒、75パーセンタイルで約26秒、90パーセンタイルで約3時間、99パーセンタイルで約18時間という分布でした。多くのページは数十秒以内に描画されるものの、一部は数時間かかるという実態です。ページの更新をすぐに検索結果へ反映させたい場合は、この待ち時間が実害になります。

レンダリング前に判断されてしまう要素がある

見落とされがちなのが、レンダリングの前に判断が確定してしまう要素の存在です。同調査では、200番以外のステータスコード(3xx・4xx・5xx)を返すページは描画されなかったと報告されています。304を返すページは、元の200番のページの内容で描画されます。

さらに重要なのがnoindexタグの扱いです。初期HTMLにnoindexが含まれているページは描画自体が行われず、JavaScriptでnoindexを消しても手遅れになります。「あとからスクリプトで外せばよい」という設計は成立しないということです。

同じ考え方は、titleタグやmeta descriptionといった重要なメタ情報にも当てはまります。検索結果やAIの回答の入口になる要素は、必ずサーバー側で出力しておくのが安全な設計です。

自社サイトが該当するか確認する4つの方法

自社サイトの表示を確認するチェックリストと虫眼鏡のイラスト

方法1|ブラウザのJavaScriptを無効にして表示する

もっとも手軽で分かりやすいのが、ブラウザ側でJavaScriptをオフにして自社サイトを開く方法です。Google Chromeであれば、設定内の「サイトの設定」からJavaScriptを「許可しない」に変更するだけで確認できます。

この状態で表示される内容が、おおむねJavaScriptを実行しないAIクローラーから見えている世界です。トップページだけでなく、サービス紹介ページや料金ページなど、集客の要になるページを一通り開いて確認してください。

確認が終わったら、設定を元に戻すのを忘れないようにしましょう。JavaScriptを無効にしたままだと、他のサイトの利用に支障が出ることがあります。

方法2|ページのソースを表示して本文を検索する

より確実なのが、初期HTMLそのものを確認する方法です。ページ上で右クリックして「ページのソースを表示」を選ぶと、サーバーが返した最初のHTMLがそのまま表示されます。

この画面でキーボードショートカットの検索機能を使い、ページ内に表示されている特徴的な一文を探してみてください。ソースの中に見つからなければ、その文章はJavaScriptで後から差し込まれている可能性が高いと判断できます。

注意したいのは、開発者ツールの「要素」タブとの違いです。こちらはJavaScript実行後の状態を表示しているため、初期HTMLの確認には使えません。あくまで「ページのソースを表示」を使うのがポイントです。

方法3|Search ConsoleのURL検査で比較する

Google Search ConsoleのURL検査ツールを使えば、Googlebotが実際にどうページを見ているかを確認できます。「公開URLをテスト」を実行し、スクリーンショットとHTMLの両方を確認しましょう。

ここで表示されるのはレンダリング後のHTMLです。方法2で確認した初期HTMLと見比べて、差分が大きいほどJavaScript依存度が高いサイトということになります。この差分こそが、AIクローラーから欠落している情報です。

あわせて「ページのリソース」の項目もチェックしてください。読み込めなかったリソースが並んでいる場合、robots.txtでのブロックや外部サービスの障害が疑われます。

方法4|生成AIに直接聞いて答え合わせをする

実務でおすすめしているのが、ChatGPTなどの生成AIに自社サイトのURLを示して「このページに書かれている料金と対応エリアを教えてください」と質問してみる方法です。返ってきた内容が実際のページと食い違っていれば、読み取れていない情報があるサインです。

ただし生成AIはキャッシュや学習データをもとに回答することもあるため、これだけで断定はできません。方法1から方法3の技術的な確認と組み合わせて、総合的に判断することをおすすめします。

4つの方法はいずれも専門ツールを必要とせず、Web担当者の方がご自身で試せます。まずは自社の主要ページ5〜10本を対象に、一度点検してみてください。

WordPressサイトで特に注意したいポイント

WordPressサイトの構成要素を積み木で表したイラスト

標準のWordPressはサーバー側で出力される

まず安心していただきたいのは、標準的な構成のWordPressはサーバー側でHTMLを生成して配信する仕組みだという点です。投稿や固定ページの本文は初期HTMLに含まれるため、AIクローラーからも問題なく読み取れます。

つまりWordPressで作られたサイトは、構造的にはAI検索と相性がよいと言えます。中小企業のサイトでWordPressをおすすめしている理由のひとつが、この読み取られやすさです。

問題が起きるのは、プラグインやテーマ、外部サービスによって表示の一部をJavaScriptに委ねている場合です。以下では、実際の制作現場でよく遭遇するパターンを整理します。

タブ・アコーディオン・スライダーの落とし穴

タブ切り替えやアコーディオン(開閉式のパネル)は、限られたスペースに情報を収められる便利な仕組みです。実装方法によっては、初期HTMLの中にすべてのテキストが含まれており、表示・非表示だけをCSSやJavaScriptで切り替えているケースもあります。

この場合はAIクローラーからも読み取れるため、大きな問題にはなりません。逆に、タブを開いた瞬間にサーバーへ問い合わせて内容を取得する方式だと、初期HTMLにその情報は存在しないため読み取られません。

スライダーやカルーセルも同様です。よくある質問や料金プランをこれらの中に格納している場合は、方法2で紹介したソース確認を必ず行ってください。なお、クローラーはタブやクッキーバナーを自分でクリックして開くことは基本的にありません。

遅延読み込みと無限スクロール

画像の遅延読み込み(Lazy Load)は表示速度の改善に有効な手法ですが、実装によってはクローラーが画像を認識できないことがあります。Googleは遅延読み込みに関する実装のベストプラクティスを公開しているため、それに沿った方法を選ぶのが安全です。

より深刻なのが無限スクロールです。スクロールに応じて記事一覧を追加読み込みする設計だと、2ページ目以降の記事へのリンクが初期HTMLに存在しません。結果として、クローラーが古い記事にたどり着けなくなる可能性があります。

対策としては、無限スクロールと併用する形で通常のページ送りリンクを設置しておくのが確実です。ユーザーにとっても、目的の記事に戻りやすくなるという利点があります。

外部サービスの埋め込みとページビルダー

口コミ表示ツール、予約システム、チャットボット、SNSのタイムラインなど、外部サービスをJavaScriptで埋め込むケースは非常に多く見られます。これらは基本的にAIクローラーからは読み取れないと考えておくべきです。

特に、お客様の声を外部の口コミツールだけで表示しているサイトは注意が必要です。信頼性を示す大切な情報がAIに伝わらないため、要約したテキストをページ本文にも記載しておくことをおすすめします。

ページビルダーについては、多くの製品が最終的にHTMLとして出力するため大きな問題にはなりません。ただし、アニメーション付きで後から要素を表示する設定を多用している場合は、念のため初期HTMLを確認しておくと安心です。

今日からできる改善策|初期HTMLに載せる設計へ

サーバーからHTMLが配信されクローラーに届くパイプラインのイラスト

重要な情報は必ず初期HTMLに含める

もっとも効果が大きく、原則として外せないのがこの一点です。サービス内容、料金、対応エリア、実績、会社情報、よくある質問といった判断材料になる情報は、サーバー側で出力されるようにしておきます。

技術的にはサーバーサイドレンダリング(SSR)や静的生成(SSG)が該当し、WordPressであれば通常の投稿・固定ページとして書くだけで条件を満たします。クライアントサイドレンダリングは、あくまで補助的な演出に限定するのが安全です。

閲覧数のカウンター、チャットウィジェット、動きのある装飾といった要素は、読み取られなくても支障がありません。「この情報が読まれなかったら困るか」を基準に切り分けていくと判断しやすくなります。

robots.txtでCSS・JSをブロックしない

古い運用が残っているサイトでは、robots.txtでCSSやJavaScriptのディレクトリを一括ブロックしている例をいまだに見かけます。これはGooglebotのレンダリングを妨げ、ページを正しく評価できなくする原因になります。

Vercelの調査でも、Googleのレンダリングが失敗する数少ないケースの多くはrobots.txtによるリソースのブロックだと指摘されています。表示に必要なCSS・JavaScript・APIは、クロールを許可しておいてください。

確認方法は簡単で、ブラウザで「自社ドメイン/robots.txt」を開くだけです。Disallowの行に不要な記述がないか、この機会に一度目を通しておくとよいでしょう。

内部リンクはaタグで実装する

ナビゲーションや関連ページへの導線は、JavaScriptのクリックイベントではなく、通常のaタグで実装するのが基本です。aタグであれば、レンダリングを行わないクローラーでもリンク先を認識できます。

Vercelの調査によれば、Googleはレンダリング前の初期HTMLからもURLらしき文字列を抽出してリンクを発見しています。ただし、リンクの価値評価はページ全体の描画後に行われるとされており、初期HTMLに素直なリンク構造を持たせておくメリットは変わりません。

ハンバーガーメニューの中身も同様です。開閉はJavaScriptで制御しても、リンク自体はHTMLに書き出しておく設計にしてください。

構造化データとサイトマップを整える

構造化データ(検索エンジンに情報の意味を伝えるための記述)は、初期HTMLの中にJSON-LD形式で埋め込んでおくのが確実です。JavaScriptで後から挿入する方式は、レンダリングしないクローラーには届きません。

XMLサイトマップの整備も引き続き有効です。同調査では、更新されたサイトマップがあることで、レンダリング方式の違いによるページ発見の遅れがほぼ解消されると報告されています。

あわせて、リダイレクトの整理や存在しないURLの解消も進めておきましょう。AIクローラーの404率の高さを踏まえると、URL管理の丁寧さがそのまま読み取り効率につながります。

「読ませない」という選択肢もある

一方で、AIクローラーにコンテンツを収集させたくないという判断もあり得ます。その場合はrobots.txtで各社のユーザーエージェントを指定してアクセスを制限する方法が有効で、Vercelの調査でも計測対象のクローラーすべてにrobots.txtが機能したと報告されています。

ただし、ブロックすればAI検索の回答に自社が登場する可能性も下がります。集客をAI検索に依存し始めている業種では、慎重な検討が必要です。目的と影響を整理したうえで、部分的な制限にとどめる判断も有効でしょう。

よくある質問(FAQ)

Q. WordPressで作ったサイトなら対策は不要ですか?

標準的な構成であれば本文は初期HTMLに含まれるため、基本的な部分は問題ありません。ただし、外部サービスの埋め込みや一部プラグインの挙動によって読み取れない箇所が生じることがあります。主要ページのソースを確認しておくと安心です。

Q. JavaScriptフレームワークは使わない方がよいのでしょうか?

使わない方がよいということはありません。重要なのは、検索やAIに読み取ってほしい情報をサーバー側で出力しているかどうかです。多くのフレームワークにはサーバーサイドレンダリングや静的生成の仕組みが用意されているため、それらを活用すれば両立できます。

Q. 改善するとどのくらいで効果が出ますか?

クローラーの再訪問の頻度やAI側の更新タイミングに左右されるため、一概には言えません。まず読み取れる状態を作ることが前提条件であり、そのうえでコンテンツの質や信頼性が評価されていきます。短期的な変動ではなく、数か月単位で確認していくのが現実的です。

Q. AIクローラーは今後JavaScriptを読むようになりますか?

各社の実装方針次第であり、現時点で確かなことは言えません。レンダリングには相応の計算資源が必要なため、すぐに全面的な対応が進むとは限らないという見方もあります。いずれにしても、初期HTMLに情報を含める設計はGoogle検索にも有利に働くため、無駄にはなりません。

Q. 自社サイトの状態を専門家に見てもらえますか?

はい、初期HTMLの確認やレンダリング状況の診断は、当社のSEOコンサルティングでも対応しています。どの情報が読み取られていないか、どこから直すと効果が大きいかを整理してご提案いたします。

まとめ|AI検索に読まれる土台をつくる

AI検索のクローラーがHTMLを読みJavaScriptを実行しないイメージ

ChatGPTやClaudeをはじめとする主要なAIクローラーは、JavaScriptを実行せず、初期HTMLに書かれている内容だけを読み取っています。Googlebotが原則すべてのページを描画するのとは対照的で、この違いがAI検索での見え方を大きく左右します。

やるべきことは決して難しくありません。読ませたい情報をサーバー側で出力し、CSSやJavaScriptをブロックせず、リンクをaタグで書き、構造化データとサイトマップを整える。いずれもGoogle検索にも効く、基本に忠実な整備です。

まずは自社の主要ページで「ページのソースを表示」を開き、伝えたい情報がそこに書かれているかを確かめてみてください。もし見つからない情報があれば、それがAI検索から見えていない自社の姿です。土台を整えることが、これからの集客の差につながります。

AI検索対策・サイト診断のご相談はアクセス・リンクへ

株式会社アクセス・リンクは、全日本SEO協会認定SEOコンサルタントの代表・三田健司が、中小企業のSEO・AI検索対策・ホームページ制作を支援しています。Web制作歴10年以上、延べ1,000件以上の実績で培った知見をもとに、御社サイトの技術面から集客までを一貫してお手伝いします。

「AI検索に自社が出てこない」「サイトの中身が正しく読まれているか分からない」といったお悩みがありましたら、ぜひお気軽にご相談ください。現状の診断から改善の優先順位まで、分かりやすくご提案いたします。お問い合わせはこちらからお待ちしております。

関連記事

コメント

この記事へのコメントはありません。

TOP