サクラサク

AjaxなどでXHR(XMLHttpRequest)を使用する際のSEO上の注意点

2024年6月20日

ねぎお社長 (根岸雅之)

AJAXとはAsynchronous JavaScript + XMLの略で、JavascriptとXMLを使用して非同期(Asynchronous)でページ内容を更新する仕組みのことで、この際XHRと呼ばれる仕組みが使われています。XHRとは、XMLHttpRequestの略で、JavascriptでHTTP通信を行うためのAPIのことです。
有名な使用例としては、Googleマップが挙げられ、ページ全体を更新することなく地図をスクロールすることが可能になっています。

XHRでは、XMLHttpRequestという名称に反して、やりとりされるファイルはXMLだけでなく、htmlやjsonなども含まれます。
現在のGoogleのクローラーはAJAX(もちろんXHRも)をサポートしていますが、SEOにおいて注意すべき点がないわけではありません。
この記事では、XHRのインデックスとクロールバジェットの問題についてご紹介します。

『SEO会社が作った、SEOチェックリスト147選-自社サイトのやるべきSEO施策一覧-』
Googleの検索エンジン最適化(SEO対策)を効果的に実施するための包括的なチェックリスト!
自社サイトのSEO対策において必要な改善点を見つけることができる内容を記載していますので
ぜひご活用ください!
無料ダウンロードはこちら

AJAXのインデックスの問題

まず、GoogleのクローラーがXHRを実行してインデックスできるかについて注意する必要があります。
特にイベントによって発行されるAJAXを実行できないことがあります。

検証のために、AJAXを使用したテストページを作成しました。
https://www.sakurasaku-marketing.co.jp/labo/samples/ajax_index/ajax_text.html

このページは5つのAJAXで構成されており、上から順に以下のようなイベントでJavascriptが実行され、特定のファイルからテキストを呼び出して表示します。

  1. ページが読み込まれた時
  2. スクロールした時
  3. ボタンをクリックした時
  4. ページ読み込みの5秒後
  5. ページ読み込みの10秒後

上記のページをサーチコンソールのURL検査ツールで調べると、次のようにレンダリングされました。

つまり、URL検査ツールでは、ページ読み込み時に実行される青枠部分のAJAX以外は実行されていないことがわかります。

一方、このページのインデックスリクエストを行い、インデックスされた結果の検索結果画面は以下のとおりでした。

インデックス時には、URL検査ツールの場合よりも待機時間が長いためか、5秒後に表示されるコンテンツもインデックスが確認されました。

上記はサーバーログからも確認されました。

インデックスのリクエストを行った後、Googleのロボットによりhtmlに2回アクセスが確認されています。
1回目がhtmlのクロールを行うファーストウェーブ(クローラー、Googlebot)で、2回目以降の青枠がJavascriptの実行を担うセカンドウェーブ(WRS、Caffeine)であると考えられます。
セカンドウェーブではhtmlだけでなくJavascriptによって読み込みを指示されたファイルにもアクセスされています。しかしログを見る限りでは、実行されたJavascriptは、読み込み時に実行されるもの(load1.php)と、5秒後に実行されるもの(load4.php)だけで、スクロールやボタンクリックや10秒の待ち時間を必要とするものは実行されなかったと考えられます。

以上のように、ページ内にAJAXによって読み込まれるコンテンツが含まれている場合には、適切に実行されてインデックスされるかどうかは注意しておく必要があります。

なお、AJAXによって呼び出されるコンテンツ(上記の例ではload1.phpなど)にもURLが発行されるため、Googleがその単体ファイルをインデックス対象としてしまう可能性がないわけではありません。
ただし、ファイル形式はhtmlではないなど閲覧には適さない形であることが多く、インデックスされる可能性は低いと考えられますが、大規模に使用する際は念のため、そのようなことが起きていないかどうかを確認することがおすすめです。

AJAXとクロールバジェットの問題

クロールバジェットとは、Googleがドメインごとに決めているクロール総量のことで、Googleはクロール過多によってサイトへの負荷をかけないよう、制限を設けています。

AJAXやXHRに関しては、実行時にクロールバジェットを消費することが知られています。以下は公式ブログの引用です。

Q: Do alternate URLs and embedded content count in the crawl budget?
A: Generally, any URL that Googlebot crawls will count towards a site’s crawl budget. Alternate URLs, like AMP or hreflang, as well as embedded content, such as CSS and JavaScript, including AJAX (i.e. XHR) calls, may have to be crawled and will consume a site’s crawl budget. Similarly, long redirect chains may have a negative effect on crawling.
What Crawl Budget Means for Googlebot – Official Google Webmaster Central Blog

ざっくり言うと、AJAX(すなわちXHR)だけでなく、AMPやhreflangなどのalternateに指定されたURLや、CSSなどもアクセスされるごとにクロールバジェットを消費するとのことです。

ただし、Googleは、大規模サイトでない限りは通常クロールバジェットを心配することがない、と発言しています。
上記のとおりクロールバジェットの消費要因はXHRだけではありませんので、AJAXをページあたり何度も呼び出して実行させるようなページを使用していない限りは、特に気にする必要はないものと考えられます。

まとめ

AJAXを使う際にSEOで最も注意すべき点は、Googleのクローラーが実行してインデックスできるかどうか、になります。特に実行のトリガーとなるイベントが何であるかは確認しておく必要があります。
たとえ実行できる場合でも、AJAXによって表示されるコンテンツがインデックスされるまでにはラグがあるなど、SEOと相性が悪い点もあるため、ページ内の重要なコンテンツについてはなるべくJavascriptを介さずに直接出力することがおすすめです。

SEO関連情報を手に入れてGoogleに評価されやすいサイト運営を!

狙ったKWで順位を上げる、検索結果からの流入を増やす、こうした結果を生むためには何よりもまずクローラーにコンテンツが認識されることが必要です。
そのためには正確な情報を手に入れてサイト運営に落とし込んでいく必要があります。

サクラサクラボではSEOの最新情報を無料のメルマガで発信中!

どなたでもお名前とメールアドレスのみで簡単に登録がいただけます!

↓↓↓メルマガ登録はコチラ↓↓↓

執筆者 / 監修者

サクラサクマーケティング
株式会社

取締役 社長

ねぎお社長 (根岸雅之)

ねぎお社長 (根岸雅之)イラスト

サクラサクマーケティング株式会社 取締役社長 COO

1980年生まれ 大学卒業後、一貫して、広告・マーケティング業界に身を置く。2006年にSEM コンサルタントとして、インターネット総合代理店、株式会社オプトに入社。リスティング、ディスプレイ広告の運用から、SEOの施策提案など主にキーワードマーケティング領域に特化した業務に従事。同年10月に株式会社ブルトア(現サクラサクマーケティング株式会社)に転職。入社後は、営業をはじめ、SEOコンサルティング、新規事業開発、自社マーケ、人事、財務と幅広い領域を経験し、営業部長、執行役員、取締役と経て、2015 年に社名変更とともに取締役社長に就任。

SEOコンサルタントとして大規模サイトから新規サイトまで、売上向上に繋がるコンサルティングを武器に200サイト以上の実績。2023年には『なぜほとんどコンテンツマーケティングは失敗に終わるのか?』を執筆。ねぎお社長のSEOチャンネルをはじめ、YouTube、メルマガ、SNを通じて積極的に情報発信。

◇ 出版書籍

◇ 情報発信

◇ 掲載メディア

◇ 共催セミナー歴

  • オウンドメディアの成功事例とSEOを支える運用型広告の活用
  • 今日から始められるWebマーケティング~コンテンツマーケティングとGoogle マイビジネス~
  • GMO TECH × サクラサク共催セミナー~テクニカルSEOとコンテンツマーケ~
  • リモート環境下においても売上・利益が成長し続ける組織創りと営業戦略

関連記事

ブログ一覧

あっ!と思ったら
サクラサク
ご相談ください

まずは無料相談へのお申し込みがおすすめです。ベテランコンサルタントが直接対応いたします。

お電話でご相談の方はこちら

03-5776-2775

03-5776-2775

SEO・記事制作なら、
サクラサクにお任せください!

ご相談こちら
×