30秒で理解
301 Redirect(301リダイレクト)は、「このURLは恒久的に別のURLへ移りました」と伝えるHTTPレスポンスです。ブラウザーはレスポンスの Location に書かれた新URLを開き、検索エンジンも新URLを代表として扱うシグナルに利用します。
旧ページを削除して終わりにすると、ブックマークや外部サイトのリンクから来た人が404に到着します。ページの移転先があるなら、旧URLから対応する新URLへ直接301を返します。
引っ越し先を知らせる転居届に似ています。旧住所に来た人へ新住所を伝えられますが、関係のない住所へ転送すると、受け取る人は迷います。
どういう仕組みか
サーバーが旧URLへのリクエストを受け、301 と Location ヘッダーを返します。訪問者はその新URLへ移動します。検索エンジンにとっては、旧URLから新URLへ移ったことを示す強いシグナルです。
| 状態 | 返すもの | 使う場面 |
|---|---|---|
| 恒久的に移転 | 301 と新URL | URL変更、HTTPS化、ドメイン変更、ページ統合 |
| 一時的に移転 | 302 など | 一時的なキャンペーンやメンテナンス |
| 移転先がない | 404 または 410 | 削除済みで、対応する代替ページもない |
301と302は「検索結果にどのURLを残したいか」で使い分けます。元のURLへ戻す予定があるのに301を使うと、恒久移転として処理される可能性があります。
どこで見えるか
設定したルールは、ブラウザーの画面だけではなく、HTTPレスポンスとして確認します。まず1本の旧URLで、最終的に意図した新URLへ到着するかを調べます。
| 確認したいこと | 開く場所・コマンド | 合格の状態 |
|---|---|---|
| ステータスと転送先 | curl -I https://example.com/old-path | 301 と正しい Location が返る |
| 転送の連鎖 | curl -IL https://example.com/old-path | 最終URLへ少ない回数で到着する |
| ページの登録状態 | Search Console → URL検査 | 新URLを検査し、ライブテストで取得できる |
| 大量移転の漏れ | URL対応表とサーバーログ | 旧URLごとに対応先があり、404が増えていない |
curl -I は本文を取得せず、レスポンスヘッダーを確認するコマンドです。Location の値が別の旧URLになっていないかも、同時に見ます。
よくある誤解
301は「どんな旧URLでもトップページへ送るルール」ではありません。旧ページと新ページの内容や目的が対応していることが前提です。対応しないページを大量にトップページへ送ると、ユーザーを迷わせ、検索エンジンからソフト404とみなされる場合があります。
301はcanonicalタグやnoindexの代用品ではありません。旧URLを残したまま代表URLを示したいならcanonical、検索結果への登録を止めたいならnoindexなど、目的に合う仕組みを選びます。旧URLを恒久的に廃止して新URLへ移すときが301です。
また、301を設定しただけで新ページの内容や品質が引き継がれるわけではありません。移転先が本当に旧ページの受け皿になっているかを確認します。
これを踏まえて何をするか
ページ移転を始めるときは、先にURL対応表を1行ずつ作ります。対応先が決まらない旧URLは、無理に301へ入れません。
| 順番 | 開く場所 | その場で行うこと |
|---|---|---|
| 1 | 新旧URLの一覧表 | 旧URLと、内容が対応する新URLを1対1で記入する |
| 2 | サーバー設定またはCMSのリダイレクト画面 | 旧URLから新URLへ、サーバー側の301を登録する |
| 3 | ターミナル | curl -IL で旧URLを確認し、最終URLへ直接届くか見る |
| 4 | 新ページのHTML | canonical、内部リンク、robots設定が新URLになっているか確認する |
| 5 | Search Console → URL検査 | 新URLを検査し、取得できることを確認する。ドメイン変更なら旧サイトの「アドレス変更」も開く |
最後に、サイト内リンクと広告のリンクを新URLへ置き換えます。301は残したままでも、毎回転送を発生させるので、更新できるリンクを旧URLのままにしません。ドメインやパスの移転なら、まず対応表の1行目に旧URLと新URLを入力し、その1行を使ってテスト用の301を作るところから始めます。
注意点
移転直後は検索結果の表示が一時的に揺れることがあります。確認を急いで301を外すのではなく、旧URLから新URLへの到達、404、検索での登録状態を順に追います。Googleはサイト移転のリダイレクトを、一般に少なくとも1年以上保持するよう案内しています。
リダイレクトチェーンを作らないでください。旧URL → 中間URL → 新URLではなく、旧URL → 最終URLにします。設定変更後は curl -IL の出力を見て、Location が別の転送先を指していないことを確認します。