WordPressでページのURLを変えたら、古いURLから新しいURLへ、恒久的な転送(301リダイレクト)を設定します。投稿(ブログの記事)のスラッグ(URLの末尾の文字列)を変えた場合は、WordPressが自動で301の転送をするので、自分で設定しなくてかまいません。固定ページのURLを変えた、ページをまとめた、http を https にした、ドメインを変えた、という場合は自動では転送されないので、自分で設定します。
いちばん手軽なのは、転送用のプラグインです。たとえば Redirection というプラグインなら、「ツール」→「Redirection」で、転送元のURLと転送先のURLを入れて追加するだけです。サーバーが Apache 系なら .htaccess というファイルに書く方法もありますが、書き間違えるとサイト全体が表示されなくなることがあるので、控えを取ってから、WordPressの決まった区切りの外に書きます。設定したら、ブラウザで転送の種類(301)と段数(1回で着くか)を確かめ、サイトの中の古いリンクを新しいURLに書き換えます(2026年10月時点のWordPressとGoogleの公式の説明による)。
この記事は、WordPress側で転送を設定する手順の記事です。Search Console に「ページにリダイレクトがあります」と出たときに放っておいてよいかの判断は、「ページにリダイレクトがあります」は直すべきかに分けて書いています。
リダイレクトが要る場面と、要らない場面
リダイレクト(転送)は、古いURLに来た人と検索エンジンを、新しいURLへ自動で送る仕組みです。古いURLは、ほかのサイトからのリンク、ブックマーク、検索結果、印刷したチラシなどに残っています。転送がないと、そこから来た人は「見つかりません」(404)のページに着きます。
| 場面 | 転送は要るか | どこで設定するか |
|---|---|---|
| 記事の題だけ変えた(URLはそのまま) | 要らない | — |
| 投稿のスラッグを変えた | WordPressが自動で301 | 設定不要 |
| 固定ページのスラッグや親ページを変えた | 要る | プラグイン |
| カテゴリーのスラッグを変えた | 要る | プラグイン |
| 記事やページを一つにまとめた | 要る(古い方→残す方) | プラグイン |
| ページを消し、代わりのページがない | 転送しない(404のまま) | — |
| http を https にした | 要る | サーバー(管理画面か .htaccess) |
| ドメインを変えた | 要る(全ページ) | サーバー |
題を変えるだけなら、URLは変えずに済みます。当社も、自社のサイトの記事の題を読み手の打つ言葉に付け替えたとき、URLはそのままにしました。理由は記事のタイトルは読む人が打つ言葉で付ける。変えるならURLはそのままに書いています。転送は、要らないなら作らないのがいちばん手間がかかりません。
消したページに代わりがない場合は、転送しません。Google 検索セントラルのサイト移転の説明では、たくさんの古いURLを関連の薄い一つのURL(新しいサイトのトップページなど)へ転送することは避けるよう書かれています。来た人がそこで探し直すことになるからです。消すか、まとめるか、残すかの決め方は記事を減らすとき、削除か統合かnoindexかは「入口」で決めるにあります。
301と302、どちらを使うか
転送には、恒久的なもの(301、308)と一時的なもの(302、303、307)があります。数字は、サーバーがページを返すときに付ける番号(ステータスコード)です。Google 検索セントラルの説明では、恒久的な転送では検索結果に転送先が出て、転送先が代表のページとして扱われます。一時的な転送では検索結果に転送元が出て、転送先が代表であることの合図にはなりません。
- URLを変えた、ページをまとめた、https にした、ドメインを変えた:301(恒久的)
- 工事中のあいだだけ別のページを見せる、期間限定で案内ページに送る:302(一時的)
会社のサイトで使うのは、ほとんどが301です。注意したいのは、設定の仕方によっては何も指定しないと302になることです。たとえば Apache の Redirect という書き方は、番号を書かないと一時的な転送(302)になると、Apache の説明に書かれています。URLを移したのに302のままだと、検索結果に古いURLが出続けます。
WordPressが自動でしてくれる転送
WordPressには、二つの転送の仕組みが最初から入っています。
一つは、投稿のスラッグを変えたときの転送です。WordPressの開発者向けの資料(wp_old_slug_redirect)によると、古いスラッグのURLに来た人を、今のURLへ301で送ります。ただし、プログラムの中で「階層を持つ投稿の種類」は対象外とされていて、固定ページはこれに当たります。固定ページのスラッグを変えたときは、自分で転送を入れます。
この自動の転送には、もう一つ気をつけたい点があります。古いURLが「見つかりません」になったときにだけ働く仕組みなので、あとから別の記事に古いスラッグと同じスラッグを付けると、そのURLでは新しい記事が表示され、転送は働かなくなります。一度使ったスラッグは、別の記事に使い回さないでおきます。
もう一つは、URLの形をそろえる転送(redirect_canonical)です。www の有無、末尾の「/」の有無、「?p=123」のような古い形のURLなどを、「設定」→「一般」と「パーマリンク」の設定に合う形へ301で送ります。この仕組みと、Search Console の一覧での見え方は「ページにリダイレクトがあります」は直すべきかで詳しく書きました。
なお、WordPressには、見つからないURLに来たときに、名前の似た記事を推測して送る仕組み(redirect_guess_404_permalink)もあります。開発者向けの資料では、記事のスラッグの先頭が一致すれば送ることがある、とされています。パーマリンクの設定を変えたときなどに古いURLがうまく転送されて見えることがありますが、推測なので、当てにせず自分で転送を入れます。
プラグインで転送を設定する手順(Redirection の例)
固定ページのURLの変更、ページの統合、カテゴリーのスラッグの変更は、転送用のプラグインで設定するのが手軽です。ここでは、WordPress.org で有効インストール数が200万以上とされている Redirection を例にします。公式の説明では、Redirection は標準では WordPress の中で転送を処理するので、サーバーの .htaccess を触らずに使えます。
- 「プラグイン」→「プラグインを追加」で「Redirection」を検索し、インストールして有効にします。
- 「ツール」→「Redirection」を開きます。初めて開いたときは、画面の案内に沿って最初の設定を済ませます。
- 転送の一覧の画面で、新しい転送を追加する入力欄を開きます。
- 転送元(公式の説明では Source URL)に、古いURLのドメインより後ろの部分を入れます。例:/old-page/
- 転送先(Target URL)に、新しいURLを入れます。例:/new-page/
- 詳しい設定を開き、HTTPコードが「301」になっているかを確かめて、追加します。
- 古いURLをブラウザで開き、新しいURLに着くかを確かめます(確かめ方は後の章)。
画面の表示は、日本語に訳されているところと英語のままのところが混ざることがあります。迷ったら、上の英語の名前で探してください。
知っておくと役に立つ Redirection の機能
- URLの変更の見張り:投稿や固定ページのURLが変わったときに、自動で転送を作る設定があります。固定ページのスラッグを変えることがあるサイトでは、これを有効にしておくと入れ忘れが減ります。
- 404の記録:見つからないURLに来たアクセスを記録します。作り直しのあとに、転送し忘れた古いURLを見つけるのに使えます。記録を残す期間は、設定で選べます。
- 一致のさせ方:大文字と小文字の違い、末尾の「/」の有無、「?」のあとの文字列(パラメーター)をどう扱うかを選べます。公式の説明では、パラメーターは標準で完全に一致したときだけ転送します。
- CSV での読み込みと書き出し:作り直しで転送がたくさんあるときは、古いURLと新しいURLの対応表を表計算で作って読み込めます。
SEO用のプラグインなど、すでに入っているプラグインに転送の機能が付いていることもあります。新しく別のプラグインを足す前に確かめてください。転送の設定が二か所に分かれると、どこで転送しているのか分からなくなり、あとで連鎖やループ(後の章)の原因になります。当社は、転送の設定は一か所にまとめる考え方をとっています。
.htaccess で設定する(Apache 系のサーバー)
.htaccess(エイチティーアクセス)は、Apache というサーバーの設定を、フォルダごとに書くためのファイルです。多くの場合、WordPressを置いたフォルダにあり、パーマリンクを使うための記述がすでに入っています。プラグインを増やしたくない場合や、http から https への転送、ドメインの変更のように、WordPressより手前ですべてのURLを転送したい場合に使います。
ただし、どのサーバーでも使えるわけではありません。WordPressの資料によると、Nginx というサーバーには .htaccess のようなフォルダごとの設定ファイルがありません。自社のサーバーで .htaccess が使えるかは、サーバー会社のマニュアルで確かめます。
書く前に守ること
- 今の .htaccess をパソコンにダウンロードして、控えを取ります。一文字の誤りでサイト全体が表示されなくなることがあり、そのときは控えを戻せば元に戻ります。サイト全体の控えの取り方はWordPressのバックアップ方法にあります。
- 「# BEGIN WordPress」と「# END WordPress」の行のあいだには書きません。WordPressの資料(insert_with_markers)では、この区切りのあいだはWordPressが自動で作るもので、書き換えた内容は上書きされるとされています。転送の記述は、この区切りより上に書きます。
- 書いたら保存し、すぐにトップページといくつかのページが表示されるかを確かめます。表示されなければ、控えに戻します。
1ページだけ転送する書き方
Apache の説明にある Redirect という書き方を使うと、次の一行で書けます(ドメインは自社のものに置き換えます)。
Redirect 301 /old-page/ https://example.co.jp/new-page/
先に書いたとおり、「301」を省くと一時的な転送(302)になります。もう一つ、Apache の説明によると、Redirect は書いたURLで始まるアクセスをまとめて転送し、後ろに続く部分は転送先にそのまま付け足します。/service と書けば、/service/a も /service/b も転送されます。下の階層のURLまで巻き込みたくないときは、正規表現(文字の並びの決まりを書く書き方)で一致させる RedirectMatch を使い、「RedirectMatch 301 ^/old-page/?$ https://example.co.jp/new-page/」のように、そのURLだけに当たるよう書きます。
http から https への転送は、サーバーの手順に従う
http から https への転送は、レンタルサーバーの管理画面に用意された設定で済むことが多く、まずはそれを探します。.htaccess に書く場合も、サーバー会社のマニュアルにある書き方に合わせてください。サーバーの仕組みによって正しい書き方が違い、合わない書き方をすると、転送が終わらずにページが開かなくなる(ループ)ことがあります。あわせて、「設定」→「一般」の「WordPress アドレス (URL)」と「サイトアドレス (URL)」を https で始まる形にします。サイトを別のサーバーへ移すときの手順はWordPressの引っ越しにまとめています。
ドメインを変えたときは、Search Console にも知らせる
ドメインを変えたときは、古いドメインのすべてのURLを、新しいドメインの同じ場所へ301で転送したうえで、Search Console の「アドレス変更ツール」を使います。Search Console のヘルプでは、このツールはドメインやサブドメインの移転のためのもので、http から https への変更や、www の有無の変更には使わないとされています。使う条件は、古いトップページから新しいトップページへの301の転送があること、古いプロパティと新しいプロパティの両方のオーナーであることです。ヘルプでは、転送は少なくとも180日間残すこととされ、180日を過ぎると Google は古いサイトと新しいサイトの関係を認識しなくなる、と書かれています。転送そのものは、それより長く残しておきます(後の章)。
設定したあとに確かめること
転送の種類と段数を、ブラウザで見る
- パソコンの Chrome などで、新しいシークレットウィンドウ(閲覧の履歴を使わない窓)を開きます。301は恒久的な転送なので、ブラウザが前の転送を覚えていて、直したあとも古い転送先に飛ぶことがあるためです。
- F12 キーで開発者ツールを開き、「ネットワーク」のタブを選びます。
- アドレス欄に古いURLを入れて開きます。
- 一覧のいちばん上の行の状態の数字が 301 か、その次の行で新しいURLが 200(正常)になっているかを見ます。301 の行が二つ以上続いていたら、転送が連鎖しています。
転送の行を押すと、レスポンス ヘッダーに「location」(転送先)が出ます。「x-redirect-by」があれば、どの仕組みが転送したかの名前が書かれています。WordPressの標準の仕組みなら「WordPress」です。どこで転送しているか分からなくなったときの手がかりになります。
サイトの中の古いリンクを、新しいURLに書き換える
転送があれば古いリンクからでも着きますが、サイトの中のリンクは新しいURLに書き換えます。Google 検索セントラルのサイト移転の説明でも、内部リンクを新しいURLに変え、サイトマップがすべて新しいURLになっているかを確かめるよう書かれています。WordPressで残りやすいのは、本文に手で書いたリンク、「外観」→「メニュー」に手で入れたリンク、ウィジェットの中のリンクです。「投稿」や「固定ページ」の一覧の検索欄に古いURLの一部を入れると、本文に残っているかを探せます。
新しいURLが Google に登録されたかを見る
Search Console の URL 検査には、転送先の新しいURLを入れて調べます。転送元の古いURLを入れても、その古いURLの状態が出るだけです。古いURLが Search Console の「ページにリダイレクトがあります」の一覧に入るのは、正しく転送できている印です。見方は「ページにリダイレクトがあります」は直すべきかに、新しいURLの登録を早めたいときの手順はインデックス登録をリクエストする方法にあります。
転送は消さずに残し、対応表を記録しておく
Google 検索セントラルの説明では、転送はできるだけ長く、一般的には1年以上残すこととされています。古いURLはほかのサイトのリンクやブックマークに何年も残るので、当社は、特に理由がなければ転送は消さない考え方をとっています。いつ、どのURLをどこへ転送したかの対応表を残しておくと、次に作り直すときに転送の連鎖を防げます。作り直しの前に対応表を作る進め方はホームページのリニューアル前に確かめることにまとめています。
よくあるつまずきと直し方
| 起きていること | よくある原因 | 直し方 |
|---|---|---|
| ページが開かず「リダイレクトが繰り返し行われました」などと出る | 転送がループしている(A→B→A) | 同じURLに二か所で転送を入れていないかを見て、一か所にする |
| 転送が何段もつながる | URLを変えるたびに一つ前からの転送を足した | 古いURLから最終のURLへ直接送るよう書き直す |
| 固定ページのURLを変えたら404になった | 標準の自動転送は投稿だけ | プラグインで転送を入れる |
| 直したのに古い転送先に飛ぶ | ブラウザやキャッシュが前の転送を覚えている | シークレットウィンドウで確かめ、キャッシュを消す |
| 何週間たっても検索結果が古いURLのまま | 302(一時的)になっている | 301に直す |
ループは、管理画面に入れなくなる形で出ることもあります。ログインの画面で転送が繰り返される場合の確かめ方はWordPressにログインできないときに、キャッシュ用のプラグインやサーバーのキャッシュの消し方はWordPressで変更が反映されないときに書いています。
URLを変える前に相談したいとき
転送は、一度入れると何年も残り、作り直しのたびに積み重なります。いちばん手間がかからないのは、URLを変えずに済ませることです。パーマリンクの形やスラッグの付け方を最初に決めておく方法はWordPressのパーマリンク設定とスラッグの付け方にまとめました。当社は、ホームページの運営に加わり、URLを変えるかどうかの判断から、古いURLと新しいURLの対応づけ、設定後の確かめまでを、問い合わせが来るまでの数字と合わせて見ています。作り直しや移転を控えている、今の転送が正しいか分からない、という段階からでも相談するからお知らせください。
参考にした公式の説明
- Google 検索セントラル「リダイレクトと Google 検索」
- Google 検索セントラル「URL の変更を伴うサイト移転」
- Search Console ヘルプ「アドレス変更ツール」
- wp_old_slug_redirect()、redirect_canonical()、redirect_guess_404_permalink()、insert_with_markers()(WordPress 開発者リファレンス)
- WordPress Developer Resources「Apache HTTPD / .htaccess」、「Nginx」
- WordPress.org「Redirection」、Redirection 公式の説明(Getting Started、Matching a URL、Options ほか)
- Apache HTTP Server「mod_alias」(Redirect、RedirectMatch)
いずれも2026年10月8日に内容を確かめました。プラグインや管理画面の表示名は、版によって変わることがあります。