スマートフォン用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をスマートフォンとして扱えない可能性があります。次の箇所を一組で確認します。
robots.txtのGooglebotとGooglebot-Mobile向け規則。- HTMLのrobots meta tagとHTTP応答ヘッダー。
- user-agentによるHTMLの出し分けとリダイレクト。
- パソコン用URLとスマートフォン用URLの対応。
- 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、フィーチャーフォン向けクローラーのどれへ適用されるかを書き分けます。
関連記事

