III-D6 モバイル対応を確認する
モバイル前提のインデックスと、AI検索での見え方
このレッスンの狙い:モバイル対応状況をAIO観点で確認できる
最終更新: 2026-07-23
この記事の要点
- モバイル対応状況をAIO観点で確認できる
- なぜ今、モバイル対応をAIOの視点で見直すのか
- AIクローラーに「スマホ版」という区分けは存在しない
「このサイト、スマホで見るとちゃんと表示されるから大丈夫」——そう思っていても、AIクローラーには何も見えていないケースが実は珍しくありません。人間とAIでは、同じページでも見ている実体がまったく別物だからです。この回では、「人間の見た目」ではなく「AIが最初に受け取るHTML」という物差しに切り替えて、自社サイトの主要ページを実際にチェックする手順を身につけます。
なぜ今、モバイル対応をAIOの視点で見直すのか
多くのサイトは、スマホ画面の限られたスペースを有効に使うため、アコーディオン(タップで開閉する見出し)やタブ切り替え、「続きを読む」ボタン、スクロールに応じて追加コンテンツを読み込む無限スクロールといったUIパターンを採用しています。これらは人間のユーザー体験としては優れた工夫ですが、AIクローラーはこうした「タップ」や「スクロール」という操作を一切行いません。AIクローラーが見ているのは、あくまでサーバーが最初に返してくる1つのHTMLだけです。ここに、モバイル向けに最適化したはずのUIが、逆にAIへの情報伝達を妨げてしまうリスクが潜んでいます。
AIクローラーに「スマホ版」という区分けは存在しない
人間はブラウザやアプリでサイトを開き、画面サイズに応じた表示を見ますが、AIクローラー(GPTBot、ClaudeBot、PerplexityBotなど)はそれぞれ固有のUser-Agent文字列を名乗って1つのURLに対して1回HTTPリクエストを送るだけの存在です。人間向けの「モバイル版」「PC版」という体験の切り替えという概念自体を持っていません。要するに重要なのは、そのURLに対してサーバーがどんなHTMLを返すか、それだけです。もしサイトがUser-Agentを見て配信内容を出し分ける「動的配信」を行っている場合、AIクローラー宛てに簡略化された内容が返っていないか、意図せず確認できていない状態になりがちです。
タップして初めて表示されるコンテンツの罠
ここで整理しておきたいのが、「見た目には非表示」と「そもそもHTMLに存在しない」の違いです。CSSでdisplay: noneにしているだけであれば、文字情報自体は最初のHTMLの中に存在するため、AIクローラーも読み取れます。一方、タップされたタイミングでJavaScriptが追加のコンテンツをサーバーから取得して表示する実装(遅延読み込み・非同期読み込み)の場合、その文字情報は最初のHTML応答には存在しません。主要なAIクローラーはJavaScriptを実行しないため(編III-D1参照)、この種のコンテンツはAI検索からは「存在しないもの」として扱われる可能性があります。実際、GPTBotのリクエストの11.50%、Claudeのリクエストの23.84%はJSファイル自体を取得してはいるものの、実行してDOMを構築するところまでは行っていません(出典: Vercelブログ「The Rise of the AI Crawler」, 2026年)。つまり「JSファイルを取りに来てはいるが、中身は動かさない」という状態です。料金・FAQの回答・事例の数字など、AIに引用してほしい情報ほど、この罠に注意が必要です。
curlコマンドでAIボットの視点を疑似体験する
実際に確認する一番手軽な方法は、ブラウザの「ページのソースを表示」機能か、ターミナルでのcurlコマンドです。以下のようにUser-Agentを指定すれば、主要AIクローラーが受け取るのとほぼ同じ生HTMLを手元で確認できます。
curl -A "Mozilla/5.0 (compatible; GPTBot/1.4; +https://openai.com/gptbot)" https://example.com/pricingこのコマンドの出力結果に、価格やFAQの答えとなる文言がテキストとして含まれているかを検索(grepやCtrl+F)すれば、見た目上は表示されていても実際にはAIに渡っていない箇所を洗い出せます。
実践ステップ
- 自社サイトのトップ・料金・FAQ・事例ページを、ブラウザの「ページのソースを表示」またはcurlコマンドで開く
- 価格・FAQの回答・事例の数字など、AIに引用してほしい情報がテキストとしてそのHTML内に存在するかを検索する
- アコーディオンやタブ、「続きを読む」で隠れている箇所については、タップ前の時点のHTMLに文言が含まれているかを個別に確認する
- User-AgentをGPTBotなど主要クローラーに変更したcurlコマンドで取得した内容と、通常ブラウザでの表示内容を比較する
- 古い「m.example.com」のようなモバイル専用ドメイン・URLが残っていないか確認する(重複時の整理手順は編III-D8参照)
- 問題箇所が見つかったページは一覧化し、JavaScriptへの依存度に応じて編III-D2で扱ったSSR(サーバー側で事前にHTMLを生成する手法)・SSGへの切り替え要否を判断する
まとめ
モバイル対応の確認は、「スマホで綺麗に見えるか」ではなく、AIクローラーが最初に受け取るHTMLに必要な情報が存在するかという視点に切り替えることが出発点です。タップやスクロールで初めて現れるコンテンツは、人間には便利でもAIには届いていない可能性があります。curlコマンドなど簡単な方法で、自社サイトが実際にAIへどう見えているかを定期的に確認する習慣をつけましょう。この「AIにとってのHTMLとは何か」という物差しは、次章で扱うアクセシビリティの話にもそのまま応用できます。
このレッスンはテキストとスライドで学べます。スライドは上のビューアからご覧ください。
確認テスト
選択肢をクリックすると、その場で正誤と解説が表示されます。
Q1. CSSで`display: none`にして非表示にしているだけのコンテンツは、文字情報自体は最初のHTMLに存在するため、AIクローラーも読み取れる。
display: noneであれば文字情報自体は最初のHTMLの中に存在するため、AIクローラーも読み取れます。
Q2. AIクローラーにとって「スマホ版」「PC版」という体験の区分けはどうなっているか。
AIクローラーは1つのURLに対して1回HTTPリクエストを送るだけで、モバイル版・PC版の区分けの概念を持っていません。
Q3. タップされたタイミングでJavaScriptが追加コンテンツを取得して表示する実装の場合、その文字情報はどうなるか。
遅延読み込み・非同期読み込みの場合、その文字情報は最初のHTML応答には存在しません。
このレッスンのFAQ
Q. スマホで綺麗に表示されていれば、AIクローラーにも正しく伝わっていますか?
一概には言えません。「スマホで見た目が綺麗か」ではなく「AIクローラーが最初に受け取るHTMLに情報が存在するか」という視点で確認する必要があります。
Q. 動的配信(User-Agentで内容を出し分ける)を行っている場合、何に注意すべきですか?
AIクローラー宛てに簡略化された内容が返っていないか、意図せず確認できていない状態になりがちなので注意が必要です。
Q. AIボットが受け取るHTMLを手元で確認する方法はありますか?
curlコマンドでUser-Agentを主要AIクローラーに指定して取得すれば、ほぼ同じ生HTMLを確認できます。