ウェブサイトのデザインを変更したり、古いコンテンツを更新したりすると、URL構造が変更されることがあります。また、WordPressリダイレクトのベストプラクティスに従わないと、ユーザーエクスペリエンス(UX)と検索エンジン最適化(SEO)の面で悪影響が生じることも。
コアプラットフォームに組み込まれたWordPressリダイレクト機能は、誤ったURLをキャッチするように設計されています。間違ったURLが要求された場合、WordPressは正しいURLを見つけようとし、それが見つかった際には訪問者をリダイレクトします。
今回の記事では、WordPressリダイレクトの重要性と、これがページ速度、そしてSEOにどのように影響するかを説明します。また、WordPressでリダイレクトを最小限に抑える方法、リダイレクトの設定に使用できるさまざまなソリューションもご紹介します。
WordPressリダイレクトについて動画での解説もご用意しています。
WordPressリダイレクトの概要
WordPressコアには、誤ったURLをキャッチ&修正することを目的としたリダイレクト機能があります。利用者が間違ったURLを要求すると、WordPressは正しいURLを見つけようとし、成功した場合は訪問者をリダイレクトします。
「http://www.example.com/parent/page」にお目当てのページがあるとします。そしてブラウザに「http://example.com/page」と入力すると、通常、WordPressはスマートに機能し、リダイレクト先の正しいページを自動的に見つけます。
ただし、残念ながら、必ずしもそれほどシンプルな話ではありません。サイトでHTTPSを設定している場合(すべてのトラフィックが強制的にHTTPからHTTPSのURLにリダイレクトされるため)、リダイレクトのプロセスはより複雑になります。
たとえば、サイト訪問者がアドレスバーに「http://example.com/page」と入力してWebページ「https://www.example.com/parent/page」にアクセスしようとしたとします。そんな場合のプロセスは次のようになります。
- 第一に、訪問者はHTTPからHTTPSにリダイレクトされます。
- 第二に、URLに「www」が追加され、訪問者はリダイレクトされます。
- 第三のステップとして、訪問者は、パスに親ページを含んだ正しいURLにリダイレクトされます。
- 最後に、サーバーはWebサイトのファイルとリソースを訪問者のブラウザに送信し始めます。
「リンクを間違えて入力しても、訪問者はちゃんと目的のページにたどり着けるなら問題ない」と思うかもしれません。確かに、その考えも一理あります。WordPressには、入力されたURLから正しいURLを推測してリダイレクトする機能があり、URLを多少間違えても目的のページが表示されることがあります。
しかし、この自動リダイレクトにはデメリットもあります。
WordPressリダイレクトがページの読み込み速度に与える影響
WordPressが正しいURLを推測してくれるからといって、それに頼っていると、正確なURLを入力する意識が薄れてしまいがちです。インラインリンクやカスタムメニューなどでURLを手動入力する場合は、特に注意が必要です。
「最終的に正しいページが表示されるなら、問題ないのでは?」と思うかもしれません。確かにページにはたどり着けますが、リダイレクトによってページの読み込みに余計な時間がかかる点は無視できません。
WordPressサイトのページ速度をPingdomを使って見てみましょう。まずは、リダイレクトのない状態を把握するために、適切に入力されたURLを使用してページにアクセスした場合の速度を計測します。

ここまでは問題ありません。ファイルリクエストを確認すると、サイトへのアクセス時にリダイレクトは発生していません。

では、URLをわざと間違えて、もう一度テストしてみるとどうなるでしょうか。

これにより、ページの読み込み時間がほぼ100ミリ秒長くなりました。このサイトはすでに十分高速であるため、大した問題ではないように思えるかもしれませんが、ファイルリクエストを見て、何が起こったか確認しましょう。

今回はリダイレクトが追加されています。リダイレクト後は、通常どおり読み込まれます。したがって、ページの読み込み速度が遅いのは、誤ったURLが入力されたときに発生するリダイレクトが原因であると考えられます。
リダイレクトによってウェブページの読み込み速度が低下するということです。違いは大きく、測定からはっきりと確認できます。
WordPressリダイレクトがサイトのSEOに与える影響
SEOの基本を理解している方なら、リンクがSEOにおいて重要な役割を持つことはご存じでしょう。リンク先のページが存在しなかったり、別のURLに移動していたりすると、そのリンクをクリックした訪問者には404エラーが表示されます。

ユーザーエクスペリエンスの低下に加えて、404「ページが見つかりません」エラーは、SEOの観点からもマイナスに作用します。404エラーは、リンク切れが原因であり、検索エンジンがウェブサイトをクロールしてページを見つける機能に悪影響を及ぼします。
これは、ユーザーが探しているページを見つけられないだけでなく、サイトアーキテクチャが不適切で時代遅れであることを検索エンジンに知らせることになります。
したがって、URLを変更したページについてはリダイレクトを設定することが不可欠です。サイトを新しいドメインに移動する場合にも、WordPressリダイレクトを構成し、検索エンジンのクローラーが新しいサイトのURLを引き続きインデックスできるようにしつつ、古いサイトをインデックスから削除しましょう。
リダイレクトを使用すると、リンクオーソリティを古いドメインから新しいドメインに、そして自サイトのページ内に確実に渡すこともできます。ただし、特定のHTTPリダイレクトコードのみが検索エンジンのランキング要素を受け継ぐことができるので、注意が必要です。
さまざまなタイプのURLリダイレクト
WordPressユーザーの最も一般的なリダイレクト(そしてSEOの観点から最適)は、301リダイレクトです。これは、完全に(一時的でなく)URLの移動されたコンテンツに使用されます。
301リダイレクトは、訪問者に表示したいページが変更または移動されたことを検索エンジンに伝え、そして、リンクオーソリティの90〜99%を受け継ぐことができます。ほとんどの場合、このリダイレクトを使えば、検索エンジンは問題なくリンクオーソリティ(つまりページとしてのオーソリティ)の大部分を新しいページまたは更新後のページへと受け渡してくれます。
サーバー側のリダイレクトとして、他には次のような種類があります。
- 302:一時的なリダイレクトで、ページが移動していることを検索エンジンに通知しますが、永続的な移動は意味しません。301リダイレクトのようなリンクオーソリティの受け継ぎはありません。
- 303:この一時的なリダイレクトは、データを格納しているページが更新またはブックマークされないようにするために使用されます(支払いフォーム、ランディングページなど)。ユーザーはブラウザの「戻る」ボタンをクリックしてフォームを再送信することができなくなります。このリダイレクトはSEOに影響を与えません。
- 307:307リダイレクトは303リダイレクトに類似し一時的に移動したページにのみ使用するものです。ただし、通常は302リダイレクトが推奨されています。
- 308:308リダイレクトは永続的なリダイレクトであるため、リンクに付随するオーソリティは継承されることになっています。ただし、1つ前のリダイレクトと同様に、SEOへの影響ははっきりとしていません。ほとんどの場合、301を使用するのが得策です。
前述のとおり、上記のすべてはサーバー側で実行されるリダイレクトです。
ということは、クライアント側のリダイレクトもあります。これはユーザーのブラウザが転送またはリダイレクトを処理するときにトリガーされます。ただし、信頼性は低く、出来るだけ避けたいところです。
サーバー側のリダイレクトが最良です。これであれば、検索エンジンがリダイレクトをすばやく理解し、SEO面でのオーソリティが適切に受け継がれます。
リダイレクトはするべき?
リダイレクトには存在価値があります。古いコンテンツや存在しないURLから、正しいコンテンツへと訪問者を誘導します。「存在しないURL」からの誘導については、ここまでで触れてきた通りです。その一部は、WordPress自体が処理してくれます。
ただし、WordPressがすべてを処理できるわけではなく、手動のリダイレクトルールが必要な場合もあります。
たとえば、WordPress 3.0がリリースされたときに「WordPressの新機能」というタイトルの記事を書いたとします。2010年には素晴らしい投稿でした。しかし2020年になった今「WordPressの新機能」として訪問者が求める情報は異なります。そこであなたは、読者を満足させるべく、最新のWordPressのバージョンに含まれる機能について、新しい投稿を書くことにします。
そんな場合には、古い投稿から新しい投稿へのリダイレクトをすることは完全に正当であり適切です。それどころか、このリダイレクトはSEOの観点からよい戦略でもあります。古い投稿にあった被リンクは、代わりに新しい投稿へ受け継がれ、検索エンジンは即座にそれを考慮します。
リダイレクトが適切なシナリオはいくつかありますが、例えば、以下の通りです。
- 更新版のコンテンツを投稿したので、訪問者には古いバージョンを見ないで欲しい
- ウェブサイトのパーマリンク構造を見直し、古いURLを新しい構造にリダイレクトする必要がある
- 公開されているページまたは投稿を更新していて、更新中に一時的にトラフィックを別の投稿またはページにリダイレクトしたい
リダイレクトを避けるべきケース
上のすべての場合に、訪問者を古いコンテンツやリンク切れしたURLから新たなコンテンツに誘導するために、リダイレクトが必要です。また、特定のコンテンツを更新する間に一時的に使用することもできます。
では、どんな時にリダイレクトを避けるべきでしょうか?たとえば「www」を含まないURLでカスタムメニューを作成しているものの、サイトのURLの前には「www」サブドメインがつく設定の場合。そんな時にリダイレクトを使って調整しようとするのは誤りです。
このような場合にリダイレクトを使用すると、不要な処理が増えてサイトの表示速度が低下し、SEOにも悪影響を及ぼす可能性があります。
WordPressでリダイレクトを最小限に抑える方法
WordPressサイトでリダイレクトは最小限に抑えるべきだという点には、納得頂けたでしょうか。それでは、これを実現するためにすべき2つの大事なことをご紹介します。
1. 不要なリダイレクトは絶対に作成しない
最初に覚えておくべきは、不必要なリダイレクトを意図的に作成しないこと。たとえば、内部リンクやメニューを作成するときにリダイレクトを使用しないでください。
URLを適当に入力する習慣に慣れている場合は、作業方法を再考することをお勧めします。URLを入力するときに、次のことに気をつけてください。
- 適切なプレフィックス(HTTPまたはHTTPSの区別)を使用する
- 必要に応じて「www」サブドメインを含めるか除外するか考える
- リンクに投稿IDとページIDを使用しない
- ページまたは投稿へのパス全体を入力する
WordPressに組み込まれているリダイレクト機能は、URLの扱いを誤ってしまった場合の最後の救済策としてのみ期待しましょう。一般的に、URLをいい加減に入力したことに対する信頼のできる解決策にはなりません。
2. トップレベルドメイン(TLD)が複数のリダイレクト無しで処理されるようにする
WordPressリダイレクトの発生を最小限に抑えるためにできる2つ目は、トップレベルドメイン(TLD)が1回のみのリダイレクトで処理されるようにすることです。目標として、訪問者が入力するプレフィックスとサブドメインの組み合わせに関係なく、1回以下のリダイレクトで正しいURLに到達できるようにしましょう。
例を見てみましょう。次のすべてのURLは、1回以下のリダイレクトでTLDに到達でき、そのうち1つはリダイレクトなしで処理されます。
- http://example.com
- http://www.example.com
- https://example.com
- https://www.example.com
プレフィックスとサブドメインのさまざまな組み合わせを使用してサイトのURLを処理する際に必要なリダイレクトの数がわからない場合は、Patrick Sexton氏のリダイレクトマッパーを使用して確認できます。

このリダイレクトマッパーを使用すれば、以下のように、正しく設定されていないリダイレクトを簡単に見つけられます。

上の画像からはドメインの「www」のバージョンで重複したリダイレクトが発生していることがわかります。逆に、正しく設定されたリダイレクトは以下のようになります。

ご覧のとおり、「wwwあり」と「wwwなし」の両方で発生するリダイレクトは1つだけです。
これらの組み合わせの一部で処理がうまくいかない(404サーバーステータスコードが返される)か、複数のリダイレクトが必要である場合には、作業に取り掛かりましょう。
サーバーレベルでリダイレクトを設定する
WordPressリダイレクト設定の1つの手段として、サーバーに1つないし複数のリダイレクトルールを追加することができます。これにより、訪問者はサイトの適切なURLにできるだけ早く到達できるようになります。
ここでやるべきは、複数のリダイレクトを必要とするすべてのURLを対象とするリダイレクトルールの作成です。そのようなURLを強制的に適切なかたちのURLに直接変換するようにしましょう。
たとえば、URL「http://example.com」が「https://www.example.com」に到達するために2つのリダイレクトが必要な場合(2つではなく)1つのステップで実行するように手動でリダイレクトを作成します。
Apacheのリダイレクトルール
サイトが標準のLAMPスタックでホストされている場合は、サイトの.htaccessファイルにURL書き換えルールを追加する必要があります。Webサーバー構成ファイルを介したWordPressリダイレクトの設定は技術的なプロセスであり、複雑になり得ます。
この方法は、.htaccessファイルの編集に慣れている場合にのみ採用してください。たとえそうであっても、最初にファイルのバックアップを取ることをお勧めします。
最初に、FTPクライアントを使用するか、サーバーにあるcPanelのファイルマネージャーを介してWordPressにアクセスします。WordPressサイトのルートディレクトリで.htaccessファイルを見つけることができます。
301リダイレクトを設定するには、次のような構造で新旧両方のURLを指定します。
Redirect 301 "old-page" "new-page"
サイトのすべてのトラフィックをHTTPからHTTPSにリダイレクトするには、以下を使用できます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond !{HTTPS} off
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
ただしこれを実行する前には、WordPressサイトでSSL証明書が適切に用意されていることを確認してください。
Nginxのリダイレクトルール
より高度なサーバー構成をご利用であれば、ApacheよりもNginxを使用している可能性が高いです。Nginxの場合は、少し複雑になります。
Kinstaをご利用の方は、次のセクションまで進んでください。
リダイレクトの設定方法はホストごとに異なります。リダイレクトの問題を修正するには、ホストのサポートにまず連絡するのが得策です。
しかしながら、自信がある場合は、次のコードを使用して、リダイレクトするコンテンツのサーバーブロックを作成することにより、Nginxでリダイレクトを作成できます。
server {
listen 80;
server_name domain1.com;
return 301 $scheme://domain2.com$request_uri;
}
上記のディレクティブでは、URLの置換に「return」が使用されています。これがリダイレクトURLで指定されたステータスコードを返します。「$scheme」変数は、元のhttp/httpsリクエストからのスキームを使用し、新しいURLで301リダイレクトコードを返します。
他には、この方法もあります。
rewrite ^/$ http://www.domain2.com permanent;
rewrite ^/(.*)$ http://www.domain2.com/$1 permanent;
これは、永続的なリダイレクト作成に使用できます。詳細については、 Nginxにおけるrewriteルールの作成に関するF5ネットワークのガイドをご覧ください。
MyKinstaのリダイレクトルール
サイトをKinstaでホストしている場合、リダイレクトの設定は簡単です。MyKinstaのリダイレクトルールツールを使用して、301または302リダイレクトを作成できます。
MyKinstaにログインしたら、「サイト」>(サイト名)>「リダイレクト」に移動し、「リダイレクトルールの追加」に移動します。

次に「リダイレクトルールの追加」画面で、リダイレクトを追加するドメインプレフィックスを選択できます。通常、wwwトラフィックとwww以外のトラフィックの両方をリダイレクトする必要があります。その場合は「すべてのドメイン」を選択します。

その点が明確になったら、「リダイレクト元」と「リダイレクト先」のフィールドに入力します。
「HTTPステータスコード」では、使用するリダイレクトの種類(301または302)を選択できます。選択したら、「リダイレクトルールを追加」をクリックします。
Kinstaのリダイレクトツールでは正規表現が自動的に使用されるため、各「リダイレクト元」パスの先頭には「^」を追加してください。これにより、他のURLとの間でリダイレクトループが発生するのを防ぐことができます。操作自体はシンプルですが、不明点やサポートが必要な場合は、いつでもカスタマーサポートまでお問い合わせください。
また、「一括インポート」を選択し、各ルールを記述したCSV形式のデータを貼り付けることで、複数のリダイレクトルールを一度に追加することもできます。

MyKinstaでリダイレクトを追加すると、ルールがサーバーレベルで適用されるため、最も効率的です。一方、WordPressサイトでは、プラグインを使用してリダイレクトを設定することもできます。
リダイレクトプラグインについて詳しく見ていく前に、プラグインの使用によってパフォーマンスに影響が出る場合があることを押さえておきましょう。多くのプラグインではwp_redirect関数が使用されており、追加のコード実行やリソースが必要になります。
プラグインを使用してWordPressサイトのリダイレクトを実装する
お使いのホストにリダイレクトルール機能がない場合は、WordPressプラグインを使用する必要があります。利用できるリダイレクトプラグインは多数ありますが、中でもRedirectionは高い人気を誇ります。

このプラグインは非常に使いやすく、WordPressコード、Apacheサーバーの.htaccess、またはNginxサーバーのリダイレクトを使用して、リダイレクトを作成するように設定できます。何と言っても、無料です。
Redirectionプラグインの使い方は以下の通りです。
プラグインディレクトリからダウンロードしたら、「ツール」>「リディレクション」という順に移動します。

これにより、ウェルカムページが表示されます。「セットアップを開始」ボタンをクリックし、一連のプロンプトに従います。これが完了すると、実際にプラグインが使えるようになります。
新しいリダイレクトを追加する方法
リダイレクトを追加するには、上部の「リダイレクトの追加」をクリックし、ソースURL、ターゲットURLなどを入力して、「リダイレクトの追加」をクリックします。

この方法は、リダイレクトするURLが数個しかない場合にのみお勧めします。サイト全体を対象とする場合には、プラグインのURLインポート機能を使用して時間を節約しましょう。
リダイレクトをインポート/エクスポートする
このプラグインの便利な機能として、リダイレクトをインポート・エクスポートすることができます。たとえば、ウェブサイトから古いURLをエクスポートしてから、新しいサイトでプラグインを使用してインポートできます。
これを行うには、まず古いサイトにRedirectionプラグインをインストールして有効化します。次に、WordPress管理画面から、「ツール」>「Redirection」に移動し、「インポート」または「エクスポート」タブを選択します。
「エクスポート」タブを選択すると、すべてをCSV、Apacheの.htaccess、Nginxのrewriteルール、またはRedirection JSONファイルにエクスポートできます。

次に、新規サイトの方でもプラグインをインストールしたら、同じ画面に移動してファイルをインポートします。

「ファイルを追加」ボタンをクリックして、ファイルを選択します。アップロードすると「転送ルール」タブに新しいURLが表示されます。
その他のWordPressリダイレクトプラグイン
KinstaのHTTPステータス&リダイレクトチェッカーで、URLのステータスを簡単に確認可能です。すべてのレスポンスヘッダー、クライアントエラー、その他サーバー関連のエラーを調べることができます。
WordPressリダイレクトプラグインは他にもあります。301 Redirectsは、設定オプションの豊富なプラグインを探しているユーザーに好まれています。80,000を超える有効インストール数があり、十分に実績があります。使い方は簡単です。わかりやすい設計のインターフェースで、301/302リダイレクトを手動で作成することができます。
特に便利な機能の1つは、リダイレクトターゲットとしてページ、投稿、メディアページ、アーカイブページを選択できるドロップダウンメニューです。これにより、手動で作成したリダイレクトルールが問題なく実行されます。またリダイレクト間でクエリ文字列を保持することもできます。
まとめ
単純明快な事実として、WordPressリダイレクトが適切に実装されていないと、サイトの速度が低下する可能性があります。リダイレクトの数を最小限に抑えるために時間をかけることには大きな価値があります。
不要なリダイレクトは作成せずに、TLDが1回以下のリダイレクトで表示されるようにしましょう。
ただし、意図的にリダイレクトを作成・使用することが適切なこともあります。そんなケースでは、以下の2つのやり方が考えられます。
- サーバーレベルでリダイレクトを設定:一部のホスティングプロバイダーは(Kinstaのリダイレクトルールツールのように)役立つ機能を提供しています。
- RedirectionなどのWordPressプラグインを使用:リダイレクトを手動で追加するか、URLのリダイレクトリストを一括インポートすることができます。
リダイレクトの使用を必要なインスタンスに制限し、WordPressリダイレクトのベストプラクティスを実践することで、訪問者のスムーズな閲覧をサポートし、コンバージョン率の低下を防ぐことができます。
さらに、ランキングやSEOにマイナスの影響が及ぼされる心配をする必要はありません。