Google、モバイル向けサイトのリダイレクトには301よりも302を使うように推奨を変更

[対象: 上級]

PC向けページとモバイル向けページを別URLで提供する環境では、HTTPヘッダーに含まれるUser-Agent(ユーザーエージェント)に基いて、デバイスに応じた適切なページへ自動でリダイレクトする構成が幅広く使われています。

リダイレクトには、301リダイレクトでも302リダイレクトのどちらを利用しても構わないとこれまでGoogleは説明してきました。

しかしその指針を変更し、301よりも302の利用を推奨するようになりました。

公式ドキュメントで302リダイレクトを推奨

12月に公開されたモバイル向けサイトのチェックリストのドキュメント、「Checklist for mobile website improvement」には以下のように書かれています。

Try to use 302 for device-related redirects (not 301s).

デバイスに関係するリダイレクトは301ではなく、302を使います。

モバイル向けに最適化したウェブサイトの推奨事項について説明したドキュメントのリダイレクトのセクション、「Redirects and User-Agent Detection」にも数日前にようやく更新が入りました。

For this purpose, it does not matter if the server redirects with an HTTP 301 or a 302 status code, but use of 302 is recommended whenever possible.

この目的(HTTPヘッダーのユーザーエージェントに基いて各デバイスに最適化したページにリダイレクトする目的)では、サーバーが、301のHTTPステータスコードでリダイレクトするか、302のHTTPステータスコードでリダイレクトするかは問題になりません。しかし可能な限り302の利用が推奨されます。

大元となる推奨事項のドキュメントのほうが強制力が弱く和らいだ表現になっているものの、どちらも302を推奨しています。

302を推奨する理由

302リダイレクトを推奨するようにした理由は、端的に言うと、301/302リダイレクトについて定められたインターネットの標準仕様に合わせるためです。

1月20日にGoogle+ハングアウトで開催されたのウェブマスターオフィスアワーでGoogleの長山さんに理由を尋ねました。
詳細は長山さんの説明を聞いてください。

たとえばCDNやブラウザなど、キャッシングを使用する仕組みで301でリダイレクトしていると問題が発生することがありえます。

キャッシュでは、以下の動作が定められています。

  • 301リダイレクト ⇒ キャッシュする
  • 302リダイレクト ⇒ キャッシュしない

301リダイレクトでは、取得したコンテンツをキャッシュします。
したがって、PCデバイスに対してモバイル向けコンテンツをキャッシュから返してしまうかもしれません。
反対に、モバイルデバイスに対してPC向けコンテンツをキャッシュから返してしまうかもしれません。

一方で、302リダイレクトはキャッシュしないように定められているので、キャッシュからコンテンツが返されることはありません。

インターネットで使われている技術との互換性を保つために、302リダイレクトを推奨するように変えたのです。

もっとも301と302でキャッシュを実際にどのように取り扱うかはそれぞれに任されているので必ずしもということではなく、常にこのような問題が起こるわけではありません。

またキャッシュによって違ったデバイス向けのコンテンツが返されないように、HTTP Varyヘッダーの実装もGoogleは推奨しています。

302リダイレクトの実装は予防目的になるでしょう。

Googleの扱いは依然として同じ

Google側では今までと同じように、301リダイレクトも302リダイレクトも同じように取り扱います。

302を推奨するようにしたのはあくまでも、Googleとは関係がない他のシステムで問題を起こさないようにするためです。

302リダイレクトに変更すべきか?

ではモバイルサイトのリダイレクトには今後は302リダイレクトを使うべきでしょうか?

判断が難しいところです。

個人的には、原則を次のように考えます。

  • 301リダイレクトを使っているならそのまま
  • 新規公開サイトなら302リダイレクト

何らかの問題が発生していないのあれば、301リダイレクトから302リダイレクトに修正する必要はないでしょう。
わざわざ手間を掛けるほどのメリットはなさそうです。

これから新たにサイトを公開するのであれば、他のサービスのことも考慮して302リダイレクトを使うのがいいかなと思います。

ただ301リダイレクトと302リダイレクトに対するGoogleの処理がすべてにおいてまったく同じなのかどうか定かではありません。
GoogleのSEOを重要視するなら、302では不安だという声も知人から聞きました。

機会を見つけて、本当に302でもGoogle的にもまったく問題がないのかどうかをGoogleの人に確認してみます。

いずれにしても、Googleの推奨が302リダイレクトに変わったことは事実です。
最終的には、302リダイレクトを採用するかどうかは各自の判断に委ねられます。
自分ならどうするか、あなたの意見を聞かせてください。