• スマートフォン用Googlebotのuser-agent変更ではrobots.txtのGooglebot指定を確認する

スマートフォン用Googlebotのuser-agent変更ではrobots.txtのGooglebot指定を確認する

公開日: 執筆:佐藤

スマートフォン向けGooglebotは、Googlebot-MobileではなくGooglebotを名乗る方式へ変わります。サイト担当者は、robots.txtのGooglebot向け規則と、サーバーでuser-agentを判定する処理を確認してください。

Googlebot-Mobileという名前がすべてなくなるわけではありません。フィーチャーフォン向けのクローラーは、この名前を使い続けます。スマートフォンとフィーチャーフォンを一つの規則で扱わず、どのクローラーへ何を返すかを分けます。

スマートフォン向けクローラーはGooglebotの規則に従う

Googleのuser-agent変更の告知では、3〜4週間後からスマートフォン向けのGooglebot-Mobileを退役させる予定です。新しいuser-agent文字列は、クローラーをGooglebotとして示し、文字列内の別の位置にモバイル端末であることを示します。

この変更により、スマートフォン向けクローラーは次の指示をGooglebot向けのものとして扱います。

  • robots.txtの規則
  • robots meta tag
  • HTTP応答ヘッダーのrobots指示

通常のGooglebotのuser-agentは変わりません。Googlebot向け規則は、通常のGooglebotと新しいスマートフォン向けGooglebotの両方へ影響します。

対象 識別に使う名前 確認する規則
通常のGooglebot Googlebot Googlebot向け規則
新しいスマートフォン向けGooglebot Googlebot Googlebot向け規則
フィーチャーフォン向けクローラー Googlebot-Mobile Googlebot-Mobile向け規則

GooglebotをDisallowすると二種類のGooglebotを止める

次の規則は、通常のGooglebotだけでなく、新しいスマートフォン向けGooglebotのクロールも止めます。

User-agent: Googlebot
Disallow: /

パソコン向け検索だけを止めるつもりでこの指定を使うと、スマートフォン向けクローラーも取得できません。Googlebot向けにサイト全体やCSS、JavaScript、画像、スマートフォン向けURLをDisallowしていないかを確認します。

次の規則は、フィーチャーフォン向けクローラーを止める指定です。新しいスマートフォン向けGooglebotを止める規則にはなりません。

User-agent: Googlebot-Mobile
Disallow: /

規則を残すか削るかは、フィーチャーフォン向けサイトをクロールさせるかで決めます。スマートフォン向けクローラーの変更だけを理由に、Googlebot-Mobile向け規則を無条件に削除する必要はありません。

HTTPのuser-agent文字列とrobots.txtの名前を分ける

サーバーは、HTTPリクエストのUser-Agentヘッダーを見て、スマートフォン向けHTMLや転送先を変える場合があります。一方、robots.txtのUser-agent行は、どのクローラーへ規則を適用するかを示します。同じ言葉を使いますが、確認する場所と役割が違います。

サーバーの判定がGooglebot-Mobileという文字だけを条件にしていると、新しいスマートフォン向けGooglebotをスマートフォンとして扱えない可能性があります。次の箇所を一組で確認します。

  1. robots.txtのGooglebotとGooglebot-Mobile向け規則。
  2. HTMLのrobots meta tagとHTTP応答ヘッダー。
  3. user-agentによるHTMLの出し分けとリダイレクト。
  4. パソコン用URLとスマートフォン用URLの対応。
  5. CSS、JavaScript、画像の取得制限。

完全なuser-agent文字列だけを固定して照合すると、文字列の小さな変更でも判定から外れます。端末へ返す内容を決める条件と、検索クローラーへクロールを許可する条件を別に管理します。

取得結果とサーバーログで変更前後を比べる

告知から切替までは3〜4週間あります。変更前に現在の設定を記録し、切替後と比べられる状態にします。

Googleは、GoogleウェブマスターツールのFetch as Googleでサイトを試せると案内しています。対象URLを一つ選び、取得できるか、期待するHTTPステータスコードか、本文が利用者へ返す内容と一致するかを確認します。

サーバーログでは、Googlebot-MobileとGooglebotを含むリクエストを分け、対象URL、応答コード、転送先を確認します。クローラー名だけで正常と判断せず、実際に返した応答まで見ます。

Googlebotの識別に関する説明では、user-agentによる識別とは別に、逆引きDNSによる認証を案内しています。確認用のアクセスがuser-agent文字列だけを名乗っても、Googleからの正規のアクセスである証明にはなりません。

まずrobots.txtを開き、User-agent: GooglebotとUser-agent: Googlebot-Mobileの区画を抜き出してください。各Disallowが通常のGooglebot、スマートフォン向けGooglebot、フィーチャーフォン向けクローラーのどれへ適用されるかを書き分けます。

戻る