JavaScriptのサイトとAIクローラー:あなたのページは見えている?

ブラウザでは問題なく見えるサイトがAIクローラーには空っぽに見える理由、JavaScriptのレンダリングについてGoogleが言っていること、ボットが受け取る内容を確かめる方法、そして中小企業のサイトで効く対策を解説します。

最近の多くのウェブサイトは、ほとんど空のHTMLファイルと、届いた時点でページを組み立てるJavaScriptの束をブラウザに送ります。人はまったく気づきません。しかしクローラーは気づくかもしれません。ボットがHTMLを読んでスクリプトを実行しなければ、丁寧に書いたサービスページも、そのボットにとってはロゴの付いた白紙です。

Googleの扱い

Google検索セントラルの「JavaScript SEOの基本」によれば、Googlebotはページをクロールし、最新バージョンのChromiumでのレンダリング待ちの列に入れ、レンダリングされた結果をインデックスします。つまりGoogleはJavaScriptのコンテンツを見られますが、レンダリングは最初のクロールより遅れることがあり、ユーザーにもすべてのクローラーにも速いため、Googleは引き続きサーバーサイドレンダリングやプリレンダリングを推奨しています。また、リンクをたどってもらうには、hrefを持つ本物のアンカータグである必要があるとも注意しています。

AIクローラーの扱い

AI企業はレンダリングについてあまり語っていません。OpenAIはOAI-SearchBotとGPTBotについて、PerplexityはPerplexityBotについてドキュメントを公開していますが、どのページもクローラーがJavaScriptを実行するとは約束していません。Vercelが2024年12月に自社ネットワーク上のクローラーのトラフィックを分析したところ、測定した主要なAIクローラーはどれもJavaScriptをレンダリングしておらず、OpenAIとAnthropicのクローラー、そしてPerplexityBotが名指しされていました。例外は2つで、Googlebotの基盤を使うGeminiと、Applebotでした。クローラーは変わるので、これは約束ではなく、ある時点の様子として扱いましょう。

安全な前提はこうです。サーバーが送るHTMLに言葉が入っていなければ、ChatGPT検索、Perplexity、同様のツールはそれを見られないかもしれません。

クローラーが受け取るものを確かめる

  1. ページを開き、「ページのソースを表示」を選びます(スクリプト実行後のページを見せる「検証」ではありません)。メインの見出しの文を検索しましょう。そこにあれば、文章は元のHTMLに含まれています。
  2. Google Search ConsoleでURL検査を使い、「クロール済みのページを表示」でGoogleが保存したHTMLとレンダリングのスクリーンショットを確認します。
  3. ターミナルから単純なリクエストでページを取得し、返ってきた内容を読みます。ルートのdivとscriptタグしか見えなければ、レンダリングしないクローラーには何も届いていません。
  4. ブラウザの設定でJavaScriptをオフにして再読み込みします。残ったものが、レンダリングしないボットが読むものにほぼ相当します。

対策(確実なものから順に)

  • サーバーサイドレンダリングまたは静的生成。サーバーが完成したHTMLを送ります。Next.js、Nuxt、Astroなどのフレームワークが対応しており、多くのサイト作成ツールはすでに静的なページを出力しています。
  • プリレンダリング。ビルドの工程やサービスが、各ページの完全なHTMLのスナップショットを保存します。ボットと人が同じ内容を受け取る限り、Googleはこれを問題ないとしています。
  • 重要な事実を最初のHTMLに入れる。作り直しができないなら、少なくとも名前、サービス、地域、営業時間、連絡先はサーバー側でレンダリングしましょう。

ボットと人に違うページを見せるダイナミックレンダリングは避けましょう。Googleはダイナミックレンダリングを長期的な解決策ではなく回避策と説明しており、ボットと訪問者で内容が違えばクローキングに当たります。

中小企業のサイトによくある落とし穴

  • 画像やスライダーの中に置かれた文章。どのクローラーも文章としては読みません。
  • リンクではなくクリック処理付きのボタンで作ったメニュー。内側のページが発見されません。
  • ページ読み込み後に外部ウィジェットから読み込まれる口コミ、料金、よくある質問。
  • トップページはサーバーでレンダリングされるのに、内側のページはされない。

リニューアルのたびに確認する

レンダリングの問題は、新しいテーマやプラグインとともにやって来ることがよくあります。大きな変更の後は、トップページと内側の2ページで、ページのソースの確認を繰り返しましょう。

We.Incのサイトは内側のページをGoogleが読めるHTMLで配信しており、SEO God Modeはその上に、あなた自身のサービスから読みやすい新しいページを毎週追加していきます。

よくある質問

GooglebotはJavaScriptを実行しますか?

はい。Googleはインデックスの前に最新のChromiumでページをレンダリングしますが、レンダリングは最初のクロールより遅れることがあります。Googleは可能な限りサーバーサイドレンダリングやプリレンダリングを推奨しています。

ChatGPTやPerplexityのクローラーはJavaScriptを実行しますか?

ドキュメントには実行するとは書かれておらず、Vercelの2024年のクローラー分析では、JavaScriptをレンダリングしていませんでした。重要な文章はサーバーが送るHTMLに入れましょう。

クローラーに何が見えているかはどう確認できますか?

ブラウザの「ページのソースを表示」、またはGoogle Search ConsoleのURL検査と「クロール済みのページを表示」を使いましょう。そこにあなたの言葉がなければ、レンダリングしないボットにも見えていません。

無料で始める · クレジットカード不要

関連: ガイド|Webマーケティングと集客を学ぶ

製品

ご利用いただける方

機能

リソース

会社情報

サイトマップを見る