SEO

301リダイレクト

301リダイレクトとは、WebページのURLが新しいアドレスへ恒久的に移転したことをブラウザや検索エンジンに伝えるHTTPステータスコード(301 Moved Permanently)です。古いURLにアクセスしたユーザーや検索エンジンのクローラーを自動的に新しいURLへ誘導すると同時に、元のページが蓄積したリンクエクイティを新しいURLへ引き継ぎます。

301リダイレクトとは、WebページのURLが新しいアドレスへ恒久的に移転したことをブラウザや検索エンジンに伝えるHTTPステータスコード(301 Moved Permanently)です。古いURLにアクセスしたユーザーや検索エンジンのクローラーを自動的に新しいURLへ誘導すると同時に、元のページが蓄積したリンクエクイティを新しいURLへ引き継ぎます。

なぜ重要なのか

検索エンジンは、ページに向けられたバックリンクの数と質を、ランキングを決定する重要なシグナルとして利用します。301リダイレクトを設定せずにURLを変更すると、元のURLが蓄積していたリンクエクイティがすべて失われ、検索順位が急落する可能性があります。MozやAhrefsの調査によると、適切に実装された301リダイレクトは元のページのリンクエクイティのおよそ90〜99%を新しいURLへ引き継ぎます。GoogleのJohn Mueller氏も「301は価値を失わない」と公式に認めています。したがって、ドメイン移行、サイトリニューアル、URL構造の変更など、恒久的なURL変更が発生する場合には、301リダイレクトの設定はSEOの観点から欠かせないステップです。

301と302の違い

属性301 (Moved Permanently)302 (Found / Temporary)
意味URLが恒久的に移転したURLが一時的に移転した
リンクエクイティの引き継ぎ90〜99%が新しいURLへ引き継がれる元のURLに残り、新しいURLへは引き継がれない
検索インデックス時間の経過とともに、古いURLはインデックスから削除され、新しいURLに置き換わる古いURLがインデックスに残る
ブラウザキャッシュ恒久的にキャッシュされるリクエストのたびに元のURLが再確認される
用途ドメイン変更、URL再構築、HTTPからHTTPSへの移行A/Bテスト、メンテナンスページ、季節限定のプロモーション

Googleは技術的には301と302の両方のリダイレクトを処理できるとしていますが、恒久的な変更に302を使用すると、検索エンジンは元のURLをクロールし続け、クロールバジェットを浪費します。リンクエクイティも意図したとおりに引き継がれない場合があります。状況ごとに適切なステータスコードを選ぶことが極めて重要です。

設定方法

Apache (.htaccess)

Redirect 301 /old-page https://www.example.com/new-page

Nginx (nginx.conf)

server {
    location /old-page {
        return 301 https://www.example.com/new-page;
    }
}

Next.js (next.config.js)

module.exports = {
  async redirects() {
    return [
      {
        source: '/old-page',
        destination: '/new-page',
        permanent: true, // 301
      },
    ];
  },
};

設定後は、必ずGoogle Search ConsoleのURL検査ツールを使って、リダイレクトが正しく動作し、新しいURLが適切にインデックスされているかを確認してください。また、リダイレクトは少なくとも1年間は有効にしておくことが推奨されます。

よくある間違い

  1. リダイレクトチェーン: リダイレクトが複数のホップ(例: AからBへ、さらにCへ)を経由すると、各ステップでリンクエクイティが失われ、ページの読み込み速度も低下します。可能な限り、AからCへ直接リンクしてください。
  2. 無限リダイレクトループ: AがBを指し、BがAを指し返すような設定は、ブラウザに「ERR_TOO_MANY_REDIRECTS」エラーを発生させます。設定後は必ずテストしてください。
  3. 無関係なページへのリダイレクト: 内容がまったく異なるページへ301リダイレクトを設定すると、Googleはそれをソフト404として扱い、リンクエクイティの引き継ぎを拒否します。必ず内容が類似または同一のURLへ1対1でリダイレクトしてください。
  4. 301の代わりに302を使う: 恒久的なURL変更に302を使うと、検索エンジンは古いURLをクロールし続け、リンクエクイティは新しいURLへ引き継がれません。
  5. ブラウザキャッシュを考慮しない: 301リダイレクトはブラウザに恒久的にキャッシュされます。誤って設定した301を元に戻しても、以前の設定がユーザーのブラウザに残り続ける場合があるため、慎重に適用してください。必要な場合は、リダイレクトと併せてCache-Control: no-cacheヘッダーを含めるとより安全です。

Sources:

関連するinblogの投稿

inblogが役立つ点

inblogのリダイレクト管理機能を使えば、308(恒久的、301と同等)や307(一時的)のリダイレクトをコードなしで設定できます。