TrueURL
TrueURL

メニュー

301 恒久的な移動

リソースが Location ヘッダーで示される新しい URL に恒久的に移動したことを示します。クライアントや検索エンジンは、今後は新しい URL を使います。

リーズンフレーズ
Moved Permanently
リダイレクト
はい
デフォルトでキャッシュ可能
はい

301 Moved Permanently は、対象のリソースに新しい恒久的な URL が割り当てられたことを示します。新しい URL は Location ヘッダーで送られ、今後はそちらを参照する必要があります。ブラウザーはすぐにリダイレクト先へ移動し、ブックマークマネージャーやリンクチェッカーのようにリンクを編集できるクライアントは、リンクを更新することが期待されます。

301 はヒューリスティックにキャッシュ可能です。ブラウザーは恒久的なリダイレクトを保存し、Cache-Control ヘッダーが設定されていなければ長期間保持することも多く、以降のアクセスでは古い URL に問い合わせずに新しい URL へ直接移動します。そのため、誤った 301 は取り消すのが困難です。まずは短い Cache-Control: max-age でテストするか、移動が確定するまでは一時的なリダイレクトを使ってください。

歴史的な経緯から、ユーザーエージェントは 301 をたどる際にメソッドを POST から GET に変更してもよいことになっており、主要なブラウザーはすべてそうしています。API やフォームの送信先などで、リダイレクトされた POST を POST のまま維持する必要がある場合は、代わりに 308 Permanent Redirect を使ってください。

レスポンス例

HTTP
HTTP/1.1 301 Moved Permanently
Date: Fri, 06 Nov 2026 10:15:32 GMT
Server: nginx
Content-Type: text/html
Content-Length: 154
Connection: keep-alive
Location: https://www.example.com/new-page

<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>

SEO とリダイレクトチェック

301 は、検索での露出を失わずにコンテンツを移動するための標準的な方法です。Google は 301 を、リダイレクト先を正規 URL とすべき強いシグナルとして扱うため、検索結果では時間とともに古い URL が新しい URL に置き換わります。また Google は、3xx リダイレクトで PageRank が失われることはないと説明しています。301 は、ドメインの移転、HTTP から HTTPS への移行、www の有無の統一、スラッグの変更、ページの統合に使います。古い URL はトップページではなく、それぞれに最も近い内容のページへリダイレクトしてください。トップページへのリダイレクトは、Google にソフト 404 として扱われることがあります。

チェーンは短く保ちましょう。ホップが 1 つ増えるたびに往復の通信が 1 回増えます。また Googlebot がたどるのは最大 10 ホップまでで、それを超えるとリダイレクトエラーとして報告されます。内部リンクやサイトマップは最終 URL を直接指すようにし、http:// → https:// → https://www. → /new-page のようなチェーンは避けてください。301 リダイレクトチェッカーでは、すべてのホップが恒久的なリダイレクトかどうかを確認できます。「リダイレクトのステータスコード解説」では、301 を 302、307、308 と比較しています。

よくある原因と主な用途

  • サイトを HTTPS や新しいドメインに移行し、古い URL をそれぞれ対応する新しい URL にリダイレクトしている場合。
  • www ありと www なしのホストや、末尾のスラッシュの有無によるバリエーションを、1 つの正規の形に統一している場合。HTTPS リダイレクトチェッカーと末尾スラッシュチェッカーでテストできます。
  • ページの URL を変更した、または別のページに統合した場合。
  • 誤って 301 を設定してしまい、ブラウザーがキャッシュしたリダイレクトを使い続けている場合。サーバーを修正したうえで、ブラウザーのキャッシュを削除するか、プライベートウィンドウでテストしてください。

301 リダイレクトチェッカー

無料の TrueURL リダイレクトチェッカーで、URL が返すすべてのステータスコードをホップごとに確認できます。