web-dev-qa-db-ja.com

モバイル/非モバイルページの301または302リダイレクト

モバイル/非モバイルページのリダイレクトを設定しています。ユーザーエージェントは適切に検出され、リダイレクトされますが、?mobile=1または?mobile=0フラグを使用して強制的に切り替えることができます。そのフラグが使用される場合、?mobile=リンクはインデックス化されるべきではなく、ターゲットのみがインデックス化されるため、常に301リダイレクトを実行します。これは正しい仮定ですか?

さらに、非モバイルユーザーエージェントでモバイルリンク/mにアクセスしようとすることでリダイレクトが発生する場合があります。この場合、301リダイレクトも行いたいと思います(主にコードが単純になるためです)が、意味的にも意味があると思います。ユーザーエージェントのターゲットURLは正しいものです。

同僚は、/mリンクが有効であるため、非モバイルユーザーエージェントによる/m訪問が302リダイレクトを行うように主張しています。ただし、それを有効にする唯一の方法は、?mobile=1に同時にアクセスするか(既に/mへの301リダイレクトを行う)、またはWebサイトにセッションを設定する別のものを置くことです。モバイル。これは、私たちがめったにまたはまったく行わないことです。

Googleのドキュメント は、モバイル/非モバイルリダイレクトに302または301を使用するかどうか(少なくともVary: User-Agentヘッダーおよび/またはrel="alternate"リンク仕様。現在、どちらもありません)。

301に対する私の議論は次のとおりです。

  • コードを少し簡素化します
  • 非モバイルスパイダーは/mリンクのインデックスを作成しないため、理論的には、非モバイルユーザーがリンクにアクセスしたときに追加のリダイレクトを行わない検索結果には表示されません(モバイルスパイダー/ユーザーの場合と同様)

しかし、彼は両方のURLが有効であるという点を持っています。この場合、どのステータスコードを使用するのが適切ですか?

4
Explosion Pills

自分の質問に答えたようです。 Googleのドキュメントによると、リダイレクト方法は重要ではありませんが、私も302を使用することに傾倒していると言わざるを得ません。同僚が言うように、両方のURLが有効であり、他の条件付きリダイレクトシナリオでは302の使用が一般的です。

ただし、Googleの 推奨Varyrel="alternate"(モバイルを参照するデスクトップ)およびrel="canonical"(モバイルを参照するデスクトップ)を使用せずに実行すると、問題が発生しやすくなります。これらを実装することを強くお勧めします。

4
GDav