HTTP 301と302のリダイレクト: SEOとメソッドの違い

HTTP 301と302のリダイレクト: 違いは何ですか?

Scrapeless Universal Scraping APIは、公共のWebページを取得し、HTTPリダイレクトをフォローして検証する必要があるワークフローのために最終ページの内容を公開します。

TL;DR

  • HTTP 301と302のリダイレクト: 違いは何ですかは正確な技術的境界があります。 リダイレクトは単なるナビゲーショントリックではありません。それはリソースの正規の場所と期待される将来の状態に関するメタデータです。検索システムは、永続的なリダイレクトを強い正規化シグナルとして扱うことができますが、一時的なリダイレクトは通常、古いURLを期待される長期的なアドレスとして保持します。クライアントとキャッシュは、永続的なマッピングをより積極的に保持することもあります。
  • 302に残された永続的な移行は一般的な原因です。 古いロケーションが戻る前に、ドメイン移動、URLのクリーンアップ、または引退したパスに対する一時的なシグナルが残ります。検索とキャッシュの動作は、意図したよりも決定的でない可能性があります。
  • メソッドの安全性は、安全な次のステップを変更します。 307を一時的なリダイレクトに、308を永続的なリダイレクトに使用してください。クライアントが元のHTTPメソッドとリクエストボディを保持しなければならない場合です。
  • 304は恒久的な置き換えに使用します。 ドメイン移行、永続的なスラッグの変更、および正規URLの正規化は通常、このシグナルに適合します。
  • 自動収集のリダイレクトには明示的な分類が必要です。 リダイレクト後に無関係なホストに資格情報を持ち込まないでください。認可の境界、サイトの利用規約、適用される法律を尊重し、リダイレクトされたアクセス拒否またはエラーページを抽出されたデータセットの外に保ってください。

永続性は主要な違い、目的地ではない

301と302はブラウザを同じ目的地に送信できるため、見た目は同じに見えるかもしれません。意味のあるメッセージは異なります。301はリソースが新しい永続的なURIを持っていると言い、302はリクエストされたリソースが別のURIで一時的に利用可能であると言います。

その区別はキャッシュ、クライアント、検索エンジン、分析、および今後のメンテナンスに影響を与えます。永続的なサイト移行は、数ヶ月間一時的なシグナルに依存すべきではありません。短期のメンテナンスルートは、古いアドレスが永遠に置き換えられたことをすべての消費者に知らせるべきではありません。

リダイレクトの動作には、メソッド履歴のひねりもあります。ユーザーエージェントは、伝統的にいくつかのPOSTリクエストを301または302の後にGETに変更してきました。現代のHTTPはリクエストメソッドとボディを保持する必要がある場合に307と308を提供します。したがって、リダイレクトの選択には2つの決定が必要です: 永続的または一時的およびメソッド変更の動作が許可されるか、メソッドの保持が必要か。

301対302の直接ルール

ターゲットURIが将来の参照のために古いURIを置き換えるべきときは301 Moved Permanentlyを使用し、代替位置が一時的であるときは302 Foundを使用します。 HTTPセマンティクス標準 は両方のレスポンスを定義し、リダイレクトターゲットをLocationヘッダーに含めることを要求します。

リダイレクトは単なるナビゲーショントリックではありません。それはリソースの正規の場所と期待される将来の状態に関するメタデータです。検索システムは、永続的なリダイレクトを強い正規化シグナルとして扱うことができますが、一時的なリダイレクトは通常、古いURLを期待される長期的なアドレスとして保持します。クライアントとキャッシュは、永続的なマッピングをより積極的に保持することもあります。

Locationヘッダーが到着した後の発生すること

クライアントは古いURLをリクエストし、Location値を持つ3xxステータスを受け取ります。その値を解決し、リダイレクトポリシーを適用し、別のリクエストを発行します。各ホップは、スキーム、ホスト、パス、クエリ、クッキー、認証スコープ、メソッドの動作を変更できるため、完全なチェーンが重要です。

通常のGETナビゲーションでは、301と302はしばしば入れ替え可能に見えます。非GETリクエストの場合、歴史的なブラウザの動作により、フォローアップリクエストがGETに変わることがあります。それは、読み取り専用の確認ページに着地する必要があるフォームの送信後に許容されるかもしれませんが、ボディが変更されずに目的地に到達しなければならないAPI操作には安全ではありません。

検索クローラーはコード以上のものを評価します。目的地の関連性、チェーンの長さ、内部リンク、正規タグ、サイトマップのエントリ、リダイレクトが時間の経過とともに持続するかどうかが、統合に影響を与えます。関連のないホームページへの技術的に有効な301は、依然として不十分な移行やソフトエラーのように振る舞う可能性があります。

寸法シグナル Aシグナル B
意図された期間永続的な移動一時的な代替位置
ステータス301 Moved Permanently302 Found
正規の期待新しいURLは古いURLを置き換えるべきです古いURLは期待されるホームに留まります
メソッド履歴POSTはGETになる可能性がありますPOSTはGETになる可能性があります

リダイレクト実装が間違う場所

ほとんどのリダイレクトの欠陥は、不適切な永続性、制御されていないチェーン、メソッドの変更、または古いリソースと一致しない目的地から来ます。

302に残された永続的な移行

古いロケーションが戻る前に、ドメイン移動、URLのクリーンアップ、または引退したパスに対する一時的なシグナルが残ります。検索とキャッシュの動作は、意図したよりも決定的でない可能性があります。

一時的な実験が301として送信されました

A/Bルート、地域スイッチ、またはメンテナンスページは永続的にマークされます。クライアントは、実験が終了した後もマッピングを保持できるため、ロールバックが難しくなります。

POSTメソッドが予期せず変更されました

クライアントはGETで301または302を追跡するため、宛先は元のボディを受け取ることはありません。メソッドの保持が必要なAPIは307または308を使用するべきです。

リダイレクトチェーンが蓄積されました

HTTPからHTTPSへの変換、ホストの正規化、ロケールの選択、およびパスの移行は、いくつかのホップに重なることがあります。追加の往復ごとにレイテンシが加わり、別の障害のポイントが増えます。

ルール: 1. 翻訳されたテキストのみを出力 — 説明なし、余分なコードフェンスなし。 2. Markdown/HTML構造(見出し、リスト、リンク、テーブル)を正確に保持。 3. @@CODEBLOCK_0@@ や @@INLINECODE_0@@ のようなプレースホルダートークンをそのまま保持; 絶対に翻訳、再順序、結合、または再フォーマットしない。 4. ``` コードフェンスを追加したり削除したりせず、通常のテキストをコードブロックにラップしない。

多くの削除されたページは、意図に関係なくホームページや幅広いカテゴリにリンクしています。ユーザーはコンテキストを失い、検索システムはマッピングをソフトエラーとして扱う可能性があります。

内部参照はまだ古いURLを使用しています。

ナビゲーション、正規、サイトマップ、フィード、およびAPIクライアントは、最終的な正規の場所に直接リンクするのではなく、リダイレクトを通じて引き続き入ってきています。

リダイレクトチェーン全体の監査

リダイレクトは、そのステータス、宛先、メソッドの動作、および周囲の正規信号が意図された移動と一致する場合にのみ正しいです。

  1. 意図を述べる。 古いURLが返されるかどうか、宛先が同等のリソースであるかどうか、非GETメソッドを保持する必要があるかどうかを書き留めてください。
  2. すべてのホップをキャプチャします。 レコードのステータス、ロケーション、メソッド、ホスト、スキーム、パス、および最終的な非リダイレクトレスポンスまでのタイミングを記録します。
  3. 宛先コンテンツを確認してください。 最終ページが単に200を返すのではなく、古いURLの目的を満たしていることを確認してください。
  4. テストメソッドの動作。 クライアントが選択されたステータスに対してメソッドとボディを保持するか変更するかを確認するために、非破壊的エンドポイントを使用します。
  5. カノニカルシグナルを整列させます。 内部リンク、カノニカルタグ、hreflang、サイトマップエントリ、およびフィードをリダイレクトに依存するのではなく、最終URLに更新してください。
  6. ルール: 1. 出力は翻訳されたテキストのみ — 説明や追加のコードフェンスは不要です。 2. Markdown/HTML構造 (見出し、リスト、リンク、テーブル) を正確に保持します。 3. @@CODEBLOCK_0@@ や @@INLINECODE_0@@ などのプレースホルダートークンは、そのまま EXACTLY 保持します; 決して翻訳したり、順序を変更したり、統合したり、再フォーマットしたりしないでください。 4. ``` コードフェンスを追加したり削除したりせず、通常のテキストをコードブロックにラップしないでください。 古いURLはすべて最終的な宛先に直接向け、そのクエリ文字列の扱いを明示的にテストしてください。
  7. 古いURLと新しいURLを監視する。 リリース後のクロール活動、目的地のステータス、インデックス作成、および予期しない404またはソフトエラーの動作を追跡します。

プロトコルの意味論は HTTP セマンティクス、詳細な301の動作に MDNの301リファレンス、そして302の動作について MDNの302リファレンス 意図主導の監査をサポートします。

適切なリダイレクトの選択

移動のライフサイクルと必要なリクエストメソッドの動作に従って、正しいステータスが決まります。

  • 301で恒久的な置き換えを行います。 ドメイン移行、永久的なスラッグ変更、および正規URLの標準化は、通常このシグナルに適合します。
  • 302 は短命の代替位置を示します。 メンテナンス、一時的なルーティング、逆転可能な実験は、古いURLが標準であるときに適合します。
  • ルール: 1. 翻訳されたテキストのみを出力 — 説明なし、余分なラッピングコードフェンスなし。 2. Markdown/HTML構造(見出し、リスト、リンク、表)を正確に保持する。 3. @@CODEBLOCK_0@@ や @@INLINECODE_0@@ のようなプレースホルダートークンを正確にそのまま保つ;翻訳、再配置、マージ、または再フォーマットしない。 4. メソッドの保持が重要な場合は307または308を使用する。 一時的または永続的なセマンティクスを選択し、POSTをGETに変換しないでください。
  • 目的地に直接リンクしてください。 移動が決まったら、内部参照を更新して、ユーザーやクローラーが不要なホップを避けるようにします。

移行と重要なSEOチェック

検索の移行品質は、ステータスコードだけでなく、宛先の同等性と一貫したサイトシグナルに依存します。

恒久的な移動に対して、Googleの文書サーバーサイドの恒久的リダイレクトは、ターゲットが正規となるべき強いシグナルとして機能します。 そのリダイレクトガイダンス. ユーザー、クローラー、および外部リンクが移行できるように、古いマッピングを十分に保持し、無関係なURLを一般的なページにリダイレクトしないようにします。

サイトマップとすべての内部リンクを最終URLに更新します。Canonicalおよびhreflangの参照も到達可能な最終ページを指す必要があります。それらの信号が一致しない場合、クローラーはどの位置がコンテンツを表しているのかを決定するのに時間を費やさなければなりません。

すべてのルーティング変更後にチェーンを測定してください。ホストの正規化とHTTPSのアップグレードは、可能な場合、コンテンツの移行と同じ直接ホップに折り込む必要があります。クエリパラメータは、意味が残る場合にのみ保持し、重複した宛先を作成しないようにしてください。

リダイレクト決定テーブル

永続性とメソッドの保持は4つの一般的な選択肢を生み出します。

ケース意味推奨される応答
永続的、GETナビゲーション新しいURIは古いURIに置き換わります301
一時的、GETナビゲーション古いURIは長期的なアドレスとして残ります302
永続的、メソッドを保持新しいURIはメソッドを変更せずに古いURIに置き換わります308
一時的、メソッドを保持メソッドを変更せずに一時的に代替307

自動コレクションにおけるリダイレクト

コレクターが使用している Scrapeless Universal Scraping API は、リクエストされたURLと最終URLの両方を保存する必要があります。リダイレクトに従うことは取得に必要ですが、それらを静かに統合すると、移行、ロケールルーティング、ログインの迂回、ソフトエラー宛先に関する証拠が削除されます。

有限のホップ制限を設定し、ループを検出し、最終ボディを検証してください。各ステータスとLocationを記録して、正規化ジョブがソースURLを更新できるようにします。永続的なリダイレクトが一貫して同等のページに着地する場合、コレクションマニフェストは最終URLを採用できます。一時的なリダイレクトは元のアイデンティティを保持する必要があります。

リダイレクト後に無関係なホストに認証情報を持ち込まないでください。認証の境界、サイトの利用規約、および適用法を尊重し、リダイレクトされたアクセス拒否またはエラーページを抽出されたデータセットの外に保つようにしてください。

意図で選択し、その後チェーンを検証してください。

HTTP 301は新しいURIが恒久的な置き換えであることを示し、HTTP 302は代替の場所が一時的であることを示します。メソッドに敏感なリクエストの場合、308および307はリクエストメソッドを保持しながら同じ永続性の選択肢を示します。

正しいデプロイメントには関連する宛先、1つの直接ホップ、更新された内部参照、および一貫した正規信号が必要です。クライアントが見るようにチェーンをテストし、単一のステータスラインを信頼するのではなく、最終コンテンツを検証してください。

より観察可能なデータワークフローを構築する準備はできていますか?

データセットにページが入る前に、ステータス、アイデンティティ、ルーティング、およびレンダリングされたコンテンツに対する明示的な検証ルールを使用してください。

今すぐ申し込んで、 $5の無料クレジットを得るクレジットカードは不要です.

あなたの$5のクレジットを請求する →

FAQ

301と302のリダイレクトはユーザーに違って見えますか?

301と302のリダイレクトは、両方が同じ宛先にナビゲートできるため、ブラウザではしばしば同一に見えます。違いは、サーバーの永続性に関する声明と、クライアント、キャッシュ、検索システムがそのマッピングを保持したり解釈したりする方法です。

302のリダイレクトはSEOに悪影響を与えますか?

302は本当に一時的な移動には適切であり、本質的には有害ではありません。永続的な移行が一時的な信号に残っている場合、宛先が無関係な場合、または内部の正規信号が引き続き対立する場合に問題が発生します。

301または302でPOSTをGETに変更できますか?

多くのユーザーエージェントは、301または302に従うときにPOSTをGETに変更します。メソッドとボディを保持する必要がある場合は、一時的なリダイレクトには307、永続的なリダイレクトには308を使用してください。

削除されたページはホームページにリダイレクトするべきですか?

削除されたページはすべてホームページにリダイレクトすべきではありません。関連する同等の置き換えが存在する場合はそれを使用し、そうでない場合は実際の404または410を返してユーザーと検索システムが正直な結果を受け取るようにしてください。

スクレーパーはリダイレクトをどのように記録すべきですか?

スクレーパーは、リクエストされたURL、各ステータスとLocation、最終URL、メソッドの動作、および最終コンテンツの検証を記録する必要があります。永続的および一時的なリダイレクトは同じ正規の決定に統合されるべきではありません。

参考文献