ページを削除したり、コンテンツをマージしたり、ドメインを変更したりすると、古いURLがサイト内外のリンクに残ることがあります。これらのリンクは、もはや存在しないページにたどり着きます。
これらの古いURLをリダイレクトすることで、トラフィックとランキングを維持し、行き止まりに当たるのではなく、ユーザーがコンテンツを見つけられるようにします。
このガイドでは、WordPressでページまたはURLをリダイレクトする4つの方法を紹介します。まずは数分で設定できる無料プラグインから始めます。

WordPressでURLをリダイレクトする理由(+リダイレクトの種類)
壊れたリンクとは、ページを削除したり、投稿をマージしたり、サイトを新しいドメインに移動したりしたために、リンクが実際のページを指さなくなった状態です。
壊れたリンクを解決しないままにしておくと、訪問者や検索エンジンは404エラーページにたどり着きます。時間が経つと、Googleは失われたページとそのページが蓄積したランキングやリンクエクイティをインデックスから削除する可能性があります。

幸いなことに、壊れたURLをサイト上の関連ページにリダイレクトすることで、これを回避できることがよくあります。リダイレクトは、訪問者と検索エンジンを新しいページに自動的に送信し、ゼロからやり直すのではなく、トラフィックとランキングを維持するのに役立ちます。
リダイレクトには3つの種類があり、正しいものを選ぶことが重要です。
| タイプ | 意味 | いつ使用するか |
| 301 | 恒久的な移動:古いURLのSEO値をすべて新しいURLに引き継ぎます | 恒久的な変更の場合は、ほぼ常にデフォルトの選択肢です |
| 302 | 一時的な移動:検索エンジンは元のURLをインデックスに保持します | 季節的なプロモーション、A/Bテスト、後で元に戻すものすべて |
| 307 | これも一時的ですが、元のリクエストメソッド(例:フォーム送信)を保持します | まれで、主にサーバーレベルの設定で使用され、手動で設定することはほとんどありません |
ほとんどのWordPressサイトの変更には、301リダイレクトが必要です。
WordPressはスラッグの変更を自動的にリダイレクトします
公開済みの投稿のスラッグ(ドメイン後のURLの部分、例:/best-coffee-makers/)を変更すると、WordPressコアは古いスラッグ(_wp_old_slugというメタフィールドに)を自動的に保存し、新しいURLへの301リダイレクトを発行します。プラグインは不要です。
ただし、重要な制限があります。これは投稿(およびWooCommerce製品などのその他の階層化されていない投稿タイプ)にのみ機能します。ページは階層化されているため、WordPressはこの動作から除外されるため、ページには適用されません。
したがって、以下を行う場合は、手動でリダイレクトを設定する必要があります。
- ページの Слагоをリネームする
- ページまたは投稿を完全に削除する
- 2つのコンテンツを1つにマージする
- 新しいドメインに移動またはサイトのURL構造を変更する
- ページをアフィリエイトリンクまたはその他の外部ウェブサイトにリダイレクトする
次に、WordPressでページまたはURLをリダイレクトする方法を見ていきましょう。4つの方法をカバーし、下のクイックリンクを使用して目的の方法に直接ジャンプできます。
方法1:無料リダイレクトプラグインを使用してリダイレクトを作成する
WordPressでページやURLをリダイレクトする最も簡単な方法は、404 to 301プラグインを使用することです。これは無料で、コーディング不要でWordPressダッシュボードから直接リダイレクトを作成できます。
始めるには、まず無料の404 to 301プラグインをインストールして有効化します。ヘルプが必要な場合は、WordPressプラグインのインストール方法に関するガイドをご覧ください。
有効化したら、WordPress管理画面のサイドバーにある404 to 301 » Redirectsに移動します。次に、「+ Add redirect」ボタンをクリックして新しいリダイレクトを追加します。

表示されるポップアップウィンドウで、「Source URL or pattern」フィールドに、壊れたURLまたは古いURLのパスを入力する必要があります(例:完全なhttps://example.com/best-coffee-makers/ではなく、/best-coffee-makers/)。
「Match Type」は「Exact」のままにして、そのURLのみをキャッチするようにします。1つのリダイレクトでURLのグループ全体を一度にキャッチする必要がある場合は、「Prefix」または「Regex」に切り替えることができます。
次に、「Target Type」を選択する必要があります。「Existing Page」を選択すると、ドロップダウンリストから自分のWordPressサイト上のページを選択できます。
または、ブログ記事、リストにない特定の投稿/ページ、または外部サイトにリダイレクトする場合は「Custom URL」を選択し、「Target URL」フィールドにhttps://を含む完全なアドレスを入力します。
その後、「Redirect Status」フィールドに移動し、目的のリダイレクトタイプを選択します。このチュートリアルでは、「301 — Moved Permanently (SEO)」オプションを選択します。

ウィンドウを下にスクロールすると、「Query String」フィールドがありますが、デフォルト設定のままにしておくことができます。これは、末尾に追跡コードが付いたURL(例:?ref=newsletter)用です。
「Active/Inactive」トグル(新しいリダイレクトはデフォルトでアクティブです)と、設定した理由を自分に思い出させるためのオプションの「Notes」フィールドもあります。
すべてに満足したら、「Create redirect」ボタンをクリックすると、リダイレクトが有効になります。

これで完了です!このガイドの後半で、新しいリダイレクトが機能していることをテストする方法を説明します。
方法2:WordPress SEOプラグインを使用してリダイレクトを作成する
ほとんどのWordPress SEOプラグイン(AIOSEO、Yoast SEO、Rank Math、SEOPress)には、プレミアムバージョンに組み込みのリダイレクトマネージャーが含まれています。そのため、オンページSEOのためにこれらのいずれかを既に実行している場合は、個別のリダイレクトプラグインは必要ないでしょう。
WPBeginnerではAIOSEOを使用しているため、そのリダイレクションマネージャーを説明しますが、一般的な手順(古いパスの入力、新しいURLの入力、301の選択)は、すべての一般的なSEOプラグインで同様です。
ℹ️ 注意: リダイレクションマネージャーを使用するには、有料のAIOSEOプラン(Basic以上)が必要です。AIOSEOには無料版がありますが、301リダイレクトは含まれていません。
まず最初に行う必要があるのは、ウェブサイトにAIOSEO Proプラグインをインストールして設定することです。ステップバイステップの説明については、All in One SEOを正しく設定する方法に関するガイドをご覧ください。
プラグインが設定されたら、単にAll in One SEO » Redirectsページに移動します。
新しいリダイレクトを追加するには、「ソースURL」フィールドに、壊れたリンクの投稿スラッグを次のように入力または貼り付ける必要があります。

複数のソースURLを同じターゲットURLにリダイレクトしたい場合は、「URLを追加」ボタンをクリックして、追加の「ソースURL」フィールドを追加します。
次に、URLをリダイレクトしたい既存のページのURLを入力する必要があります。これを「ターゲットURL」フィールドに入力または貼り付ける必要があります。

「301 Moved Permanently」リダイレクトタイプが選択されていることを確認してから、「Add Redirect」ボタンをクリックしてください。
作成したリダイレクトのログを表示するために、下にスクロールできます。
「ヒット数」列には、リダイレクトされたリンクを訪問した人数が表示され、個々の301リダイレクトを有効または無効にするトグルオプションがあります。

リダイレクトタイプのドロップダウンは、302(一時的)および307(一時的)リダイレクトもサポートしているため、季節のプロモーションや後で復元する予定のコンテンツに適切なオプションを選択できます。
リスト内の任意のリダイレクトにカーソルを合わせ、「リダイレクトを確認」をクリックすると、新しいブラウザタブを開かずにダッシュボードから直接テストできます。
AIOSEOのもう1つの利点は、自動404検出です。リダイレクトマネージャーは、404エラーが発生するとそれを記録し、壊れたURLにフラグを立てるため、検出する前に訪問者がデッドリンクを報告するのを待つ必要はありません。
WordPressコンテンツエディターからのリダイレクト作成
公開済みの投稿やページを編集中に、All in One SEO を使用してリダイレクトすることもできます。
WordPressエディターの一番下までスクロールすると、AIOSEO設定セクションが表示されます。「リダイレクト」タブをクリックする必要があります。

ここには、上記でカバーしたのと同じリダイレクトオプションがあります。ソースURLは事前に入力されており、ターゲットURLを追加する必要があります。
その後、「301 Moved Permanently」リダイレクトタイプが選択されていることを確認し、「リダイレクトを追加」ボタンをクリックします。
方法3:.htaccessファイルを編集して手動でリダイレクトを作成する(上級者向け)
リダイレクトプラグインを使用せずに、ページまたはURLをリダイレクトすることもできます。これを行うには、ウェブサイトの.htaccessファイルにコードを手動で追加する必要があります。この方法は、小さな間違いがウェブサイトを壊す可能性があるため、初心者には適していません。
また、この方法はサイトがApacheまたはLiteSpeedサーバーで実行されている場合にのみ機能します。ホストがNginx(マネージドWordPressホストで一般的)を実行している場合、.htaccessを編集しても何も起こりません。代わりに、ホストのリダイレクトツールまたはコントロールパネルを使用してください。
この方法を使用する前に、.htaccessファイルをバックアップすることを強くお勧めします。
その後、FTPクライアントまたはホスティングプロバイダーのファイルマネージャーを使用してウェブサイトに接続することで、.htaccessファイルを編集できます。
.htaccessファイルはウェブサイトのルートディレクトリにあります。そこに見つからない場合は、WordPressサイトで.htaccessファイルが見つからない理由に関するガイドを参照してください。
ファイルマネージャーの編集機能を使用してファイルを編集できる場合があります。そうでない場合は、.htaccessをコンピューターにダウンロードし、メモ帳などのテキストエディタを使用して編集できます。
次のリダイレクトコードを、`.htaccess` ファイルの末尾にある「# END WordPress」行の後に貼り付けてください。
Redirect 301 /thisistheoldurl/ https://yoursite.com/thisisthenewurl/

プレースホルダーURLを自分のものに置き換えてください。各部分の意味は次のとおりです。
- /thisistheoldurl/ — これは、リダイレクト元にしたい古いURLのパスです。ドメイン名の後に来る部分であり、
/で始まる必要があります。 - https://yoursite.com/thisisthenewurl/ — これは、訪問者を送信したい新しいページの完全なURLです。
https://の部分を含めるようにしてください。
変更を保存し、必要に応じて、編集した.htaccessファイルをサーバーにアップロードし直してください。
これで、リダイレクトが意図したとおりに正しくリダイレクトされていることを確認するためにテストできます。
方法4:PHPスニペットを使用してリダイレクトを作成する
.htaccessファイルを編集したくない場合は、PHPスニペットを使用してプログラムでリダイレクトを追加できます。
ほとんどのWordPress初心者は、コードスニペットをテーマのfunctions.phpファイルに直接貼り付けます。このアプローチの問題は、1つのタイプミスでもサイトが壊れる可能性があり、テーマが更新されたときに変更が失われる可能性があることです。
そのため、無料のコードスニペットプラグインであるWPCodeを使用および推奨しています。これにより、テーマファイルを触ることなく、カスタムコードを安全にサイトに追加できます。
スニペットはテーマではなくWPCodeに保存されるため、テーマの更新やテーマの切り替え後も保持されます。スニペットが問題を引き起こした場合、WPCodeがそれを検出し自動的に無効にするため、サイトがダウンすることはありません。
まず、無料のWPCodeプラグインをインストールしてアクティブ化する必要があります。手順については、WordPressプラグインのインストール方法に関するガイドを参照してください。
プラグインがアクティブ化されたら、コードスニペット » + スニペットを追加ページに移動します。そこから、スニペットライブラリで「カスタムコードを追加(新規スニペット)」オプションを見つけ、ホバーして「+カスタムスニペットを追加」ボタンをクリックします。

次のページで、スニペットの名前をページ上部に入力し、コードタイプとして「PHPスニペット」を選択します。
次に、以下のコードを「コードプレビュー」ボックスにコピー&ペーストします。
add_action( 'template_redirect', function() {
if ( untrailingslashit( wp_parse_url( $_SERVER['REQUEST_URI'], PHP_URL_PATH ) ) === '/old-page-slug' ) {
wp_redirect( 'https://example.com/new-page/', 301 );
exit;
}
} );
old-page-slug をリダイレクト元のページのスラッグに、例のURL を実際の転送先URLに置き換えるのを忘れないでください。
コードをコピーして貼り付けた後、WPCodeでは次のようになります。

それが完了したら、ページを下にスクロールして「挿入」セクションに移動します。
ここで、「自動挿入」を選択し、場所を「すべて実行」に設定して、リダイレクトチェックがすべてのページロードで実行されるようにします。

最後に、ページの上部に戻り、スニペットを「非アクティブ」から「アクティブ」に切り替えます。最後に、「スニペットを保存」ボタンをクリックします。

これで完了です。次に、リダイレクトが正しく機能していることを確認するために、リダイレクトをテストできます。
ボーナスヒント:リダイレクトをテストする方法
確認する最も簡単な方法は、ブラウザに古いURLを入力することです。古いURLを入力すると、すぐに新しいページに移動するはずです。
ブラウザの「シークレット」または「プライベート」モードでリダイレクトをテストすることをお勧めします。これにより、ブラウザのキャッシュが古いバージョンのページを表示するのを防ぎ、すべての訪問者に対してリダイレクトが機能することを確認できます。
また、Redirect Checker のような無料のオンラインリダイレクトチェッカーツールを使用して、301ステータスコードを確認することもできます。このツールは、リダイレクトが何回の「ホップ」を必要とするかも表示します。理想的には1回であるべきです。

複数のホップは、URL AがURL Bにリダイレクトされ、次にURL Cにリダイレクトされるリダイレクトチェーンがあることを意味します。チェーンはサイトを遅くし、SEO価値を希釈するため、元のURLを最終的な宛先に直接ポイントするように修正してください。
WordPressのリダイレクトに関するよくある質問
長年にわたり、私たちは何千ものユーザーのWordPressサイトを支援してきましたが、リダイレクトに関する同じような質問が多く寄せられます。ここでは、最も一般的な質問に対する回答を紹介します。
1. リダイレクトはWordPressサイトを遅くしますか?
適切に管理された少数のリダイレクトは、サイトの速度に目立った影響を与えません。ただし、多数のリダイレクトや「リダイレクトチェーン」(あるURLが別のURLにリダイレクトされ、それがさらにリダイレクトされる)は、読み込み時間を追加する可能性があります。
2. WordPressのページを外部URLにリダイレクトするにはどうすればよいですか?
外部URLにリダイレクトするには、ページのスラッグだけでなく、完全なアドレス(https://を含む)をターゲットフィールドに入力します。
これは、プラグインを使用する場合でも、.htaccess を編集する場合でも、コードスニペットを追加する場合でも、このガイドの4つの方法すべてで同じように機能します。
3. WordPressのリダイレクトを管理するためのベストプラクティスは何ですか?
恒久的な移動には常に301リダイレクトを使用し、元のURLを後で復元する予定がある場合にのみ302または307を使用してください。リダイレクトを作成した後、サイト上のすべての内部リンクを更新して、新しいURLを直接ポイントするようにしてください。
これにより、訪問者と検索エンジンは、リダイレクトを経由するのではなく、1回のステップで宛先に到達できます。
リダイレクトチェーンやループを検出して削除するために、特にドメインの移動やパーマリンク構造の変更の前に、リダイレクトリストを定期的に監査することをお勧めします。
このチュートリアルでWordPressのページまたはURLをリダイレクトする方法を学べたことを願っています。また、WordPressで301リダイレクトを作成するガイド、または最高のWordPressリダイレクトプラグインの専門家による選択肢もご覧ください。
この記事が気に入った場合は、WordPressのビデオチュートリアルのために、YouTubeチャンネルを購読してください。また、TwitterやFacebookでも私たちを見つけることができます。

モイヌディン・ワヒード
これはWordPressのウェブサイトで非常によくあるエラーです。
非常に困難になり、ユーザーエクスペリエンスを著しく損ないます。
それに対処し、優れたユーザーエクスペリエンスを提供するカスタムページにページをリダイレクトするための段階的なガイドを作成していただきありがとうございます。
403エラーについて質問があります。
つまり、技術的に両者の間に違いはありますか?
どのように区別できますか、またGoogleのアルゴリズムはこれらのエラーをどのように区別していますか?
WPBeginner コメント
403は訪問者がページにアクセスできないことを意味しますが、404はページがそのURLに存在しないことを意味します。
ここで特に指定しない限り、Googleは同様に扱うでしょう。
モイヌディン・ワヒード
明確なご案内をありがとうございます。
ページは存在するものの、アクセスできない(つまり403エラー)ということですね。
URLを変更してもページは存在し続けるが、URLが変わったためアクセスできなくなる、という状況では理にかなっています。
ここでリダイレクトを使用します。
アレックス
301リダイレクトを使用して、最初のサイトを別のサイトにリダイレクトしました。301を削除した場合、2番目のサイトは引き続きランク付けされますか、それとも最初のサイトがランキングを回復しますか?
WPBeginnerサポート
2 番目のサイトはコンテンツに基づいてランク付けされ、最初のサイトは URL が再クロールされた後のコンテンツに基づいてランク付けされます。
管理者
ウゾマ・イケタオニェ
301リダイレクトを削除しても、セカンドURLのランキングに影響はないと思います。
2番目のサイトは、バックリンクやコンテンツなどの面でGoogle検索エンジンを優先していれば、独自のランキングを引き続き享受できるでしょう。
最初のURLについては、Googleが再度認識してクロールできるように、URLの再インデックス登録をリクエストする必要があります。
イジー・ヴァネック
リダイレクトと Google 検索エンジンについて質問があります。インデックス登録されたページが存在しなくなり、指示に従ってリダイレクトを実行した場合、Search Console 内のツールを使用してページが存在しなくなったことを Google に通知する必要がありますか?それとも、301 リダイレクトのおかげで Google は時間とともに調整しますか?
WPBeginner コメント
はい、リダイレクトでほぼすべてが完了します。
サイトマップを再度送信することもできますが、リダイレクトが最も重要です。
イジー・ヴァネック
情報とご回答ありがとうございます。2番目の回答で、私が正しく行っていることが確認できましたが、サイトマップに関する最初の回答では、私がやっていない興味深い事実が示されており、そのような問題が発生した場合に実行すると有益である可能性があります。さらに良くする方法についての興味深いヒントをありがとうございます。