リダイレクトとは、URLを新しいものに変更した際、それまでの古いURLへのアクセスを新しいURLに転送することをいいます。
パソコン用とモバイル端末用ページを、別々に作成していたものをレスポンシブ対応に変更する場合や、ドメイン移管やサイトのリニューアル、その他のやむを得ない理由でURLを変更する場合、リダイレクト設定を行う必要があります。
なぜリダイレクトが必要なのか、正しい設定方法や注意点と一緒に解説します。
リダイレクトとは
リダイレクトは、サイトやページのURLが変更になった際、元のURLへのアクセスを新しいURLへ転送することです。
新しいドメインに変更するなどの理由でURLが変更になった後、正しいリダイレクト設定をしなければ、旧URLへのアクセスが404エラーになります(画面上に「404 Not Found、お探しのページが見つかりません」と表示されます)。
自社サイトのデザインが古いため、新しいページにリニューアルする場合や、社名が変わりドメインを変更する場合はリダイレクト設定が必要なります。また、パーマリンクにこだわらず、ページIDだったものを、管理しやすい文字列に変更する場合にも、リダイレクト設定が必要です。
リダイレクト設定には、404エラーによって起こるアクセスの損失を防ぐだけでなく、その外にも重要な役割があります。なぜリダイレクト設定が必要なのか、SEOへの影響と一緒に解説します。
リダイレクトの目的とSEOへの影響
何らかの事情でURLが新しいものに変わった後、リダイレクトを行う目的には、以下の2つが上げられます。
- ユーザビリティ向上
- SEO評価の継承
1つ目の目的は、旧URLへアクセスしようとしたユーザーを、新しいURLへ転送するためです。
自社サイトをリニューアルし、URLが変更になったものの、リダイレクト設定をしていなければ、旧URLを「お気に入り」などに保存してくれているユーザーがアクセスしようとしても、404エラー(すでにページが削除され、存在しない)が表示されます。
この場合、ユーザーは検索エンジンで再度、自社サイトまたはその中の特定ページを探し出さなければなりません。検索順位が上位であればサイトにたどり着くこともでき、特定ページが分かりやすいところにあればユーザーは再度、「お気に入り」に登録してくれる可能性もなくはありません。
しかし、こうした行動はユーザーにとってストレスでしかなく、検索中に他のサイト、他のページの方が気に入る可能性も高くなります。
WebサイトやページのURLが変更になる場合は、リダイレクトを必ず設定し、変更前と同じようにユーザーに見てもらえる環境作りを整えておきましょう。
2つ目のリダイレクトを行う理由は、SEO評価を新しいURLへ継承するためです。
SEO対策を続けてきたサイトまたはページのURLが変更になった後、正しいリダイレクト設定をしておかなければ、検索エンジンからの評価は新しいURLに引き継がれません。新しいURLはあくまで「新規コンテンツ」として評価され、旧URLで得ていた評価が無駄になってしまいます。
正しくリダイレクト設定を行うと、検索エンジンからの評価を旧URLから新URLへ継承させられます。ただし、その場合でも評価の一部が失われることを覚えておきましょう。
リダイレクトの種類と違い
URLを変更する場合に行うリダイレクトには、2種類あります。
「恒久的」な転送のための301リダイレクト、「一時的」な転送に用いる302リダイレクトです。
それぞれの特徴と、設定する際の注意点を解説します。
301リダイレクト
301リダイレクトとは、旧URLから新URLへ永続的に変更となる場合に用いるステータスコードです。
サイトリニューアルやドメイン変更といった「変更後、旧URLへ戻す可能性がなく、この先ずっと新しいURLになる」場合に使うリダイレクトです。
301リダイレクトに関しては『301リダイレクトとは?必要な理由や設定および確認方法を解説』でより詳しく解説しています、ご参照ください。
302リダイレクト
302リダイレクトとは、旧URLから新URLへの変更があくまで一時的な場合に使うステータスコードです。「一定期間を過ぎた後、転送を止めて旧URLへアクセスに戻す」のが302リダイレクトの使い方です。
サーバーエラーなどによる一時的な不具合やABテストを行う場合に302リダイレクトを使います。
302リダイレクトについては『302リダイレクトとは?301との違いや使用するシーン、実装方法について』にまとめていますのでご覧ください。
ユーザーからは転送が301によるものなのか、302なのかは分かりません。しかし、SEO観点からすれば、URLの変更が永続的なものなのか、一時的なものなのかを検索エンジンに伝え分けることは重要です。
301と302を比べると、302の方がGoogleによる処理は遅くなります。また、301リダイレクト設定をしていれば検索結果に表示されるのは新URL、302リダイレクト設定であれば旧URL表示されることを覚えておきましょう。
リダイレクトの設定方法
リダイレクトのやり方には、以下の方法があります。
- .htaccessファイル設置
- PHP
- Javascript
- meta refresh
- WordPressのプラグイン
それぞれの設定方法を紹介します。
.htaccessファイルによるリダイレクト
.htaccessファイルとは、サイト情報を設置しているサーバーの動作をディレクトリ単位で管理するためのものです。記述はテキストエディタ(メモ帳など)で行い、BASIC認証やIP制限、404エラー発生時に特定のページを表示させられます。
設定方法は、まずテキストファイルを開き、ファイル名を「.htaccess」(.txtなどの拡張子は不要)として保存します。文字コードはUTF-8、改行コードをLFに設定しておきます。
記述例は以下、それぞれご確認ください。
サイト全体を転送する場合(〇〇〇.co.jpから□□□.co.jpへの転送)
RewriteEngine On RewriteCond %{http_host} ^〇〇〇.co.jp RewriteRule ^(.*) https://□□□.co.jp/$1[R=301,L]
ディレクトリ単位で送する場合(/〇〇〇/から/□□□/への転送)
RewriteEngine on RewriteRule ^〇〇〇(.*)$ /□□□$1 [L,R=301]
ページ単位で転送する場合(〇〇〇から△△△への転送)
RewriteEngine on RewriteRule ^〇〇〇 $ https://www.□□□.co.jp/△△△ [L,R=301]
上記記述内、301という数字を302に変更することで永久的な転送(301)と一時的な転送(302)を選択可能です。
phpによるリダイレクト
phpとは、動的なWebページを作成することができる、サーバーサイドのスクリプト言語です。Webアプリケーション開発に適していてCMSの1つであるWordPressもphpで構成されています。
phpでもリダイレクト設定は可能となっており、header関数を使って転送を行います。
以下、記述例です。
<?php
header("Location:https://□□□.co.jp/", true, 301);
exit;
?>
「https://□□□.co.jp/」の部分を変更することで転送先を指定できます。また、「301」が記述されている部分を302に変更することでリダイレクトの種類を変更可能です。
.htaccessについては『.htaccessとは?基本的な役割や正しい記述方法、設置場所、注意点を徹底解説』に情報をまとめているのでご参照ください。
JavaScriptによるリダイレクト
JavaScriptとは、phpと同じように動的なページ作成に使われているプログラミング言語で、.htaccessやphpと異なるのはクライアントサイドで実行される、という点です。
サイトを設置しているサーバーの中には転送設定ができないものもあり、その場合にJavaScriptによるリダイレクトが役に立ちます。
以下、記述例です。
<script type="text/javascript">
<!
setTimeout("link()",0);
function link(){
location.href='https://□□□.co.jp" ;
}
->
</script>
上記のうち、「setTimeout("link()",0);」という部分については転送までの時間を指定する記述です。0の部分に数値を入れることで秒数を指定できますが、基本的には0設定(アクセスと同時に転送)で良いです。
meta refreshによるリダイレクト
meta refreshとは、ページにアクセスしたユーザーを指定ページに転送するためのHTMLタグ(メタタグ)の1つです。
転送までの時間(秒数)を指定でき、記述も非常に簡単なものとなっています。
<meta http-equiv="refresh" content="秒数;URL=https://□□□.co.jp/〇〇〇">
転送のタイミングは上記「秒数」で指定できます。「30」に変更すれば30秒後に、開いているページからhttps://aaa.co.jp/bbbへ転送されます。
設置個所は~内、ページのヘッダー部分に記述します。
meta refreshについては『meta refreshとは?リダイレクトの設定方法と設置の際の注意点』を用意しているので、ご一読ください。
WordPressのプラグインによるリダイレクト
Webサイト運営のためのCMSとしてWordPressを利用している場合はプラグインからリダイレクト設定が出来ます。
「Redirection」というプラグインをインストールし、有効化させましょう。
プラグインをインストールし、有効化するとWordPress左側のメニュー内、ツールの中に「リディレクション」という項目が追加されます。クリックすると「新しい転送ルールを追加」という画面になりますので、旧URLと新しいURLをそれぞれ入力し、設定を完了させます。
転送設定完了後には新しい転送ルールとして、今設定したリダイレクトが表示されます。基本設定は301リダイレクトとなっていますが、302に変更したい場合は、設定したルールの上にポインタを置き、「編集」ボタンをクリックすると、歯車アイコンを押下しましょう。
その後、表示画面が切り替わり、HTTPコードという項目が表示されるので、その中から302を選んで設定してください。
リダイレクトを行う際の注意点
新しいURLへ変更した後にリダイレクト設定をしておくと、ユーザーのためだけでなく、SEO効果を継承できます。しかし、リダイレクト設定は、取り扱う際に注意しなければならない点もあるので、ご紹介します。
サイト移転後すぐにリダイレクトを解除しない
リダイレクト設定をすると、ユーザーはURL変更前と同じ指定ページへアクセスできるようになります。
しかし、リダイレクト設定はいつまで残しておかなければならないのでしょうか?
回答としては、サイトやページ毎にリダイレクトによる評価の継承に必要な時間が異なるため、具体的な期間は分かりません。
1ページだけ、どうしてもパーマリンクを変更する必要があるため、301リダイレクト設定をしたのであれば必要な日数は短く済む可能性があります。一方で、サイトリニューアルやドメイン変更となると、サイト内すべてのページがリダイレクト対象となるため、必要期間も長くなります。
GoogleのJohn Mueller氏はTwitterで、以下のように発言しています。
If they're no longer needed after a while (usually I recommend keeping them at least a year), and you don't see
traffic to them, then removing them is fine since it makes long-term maintenance easier.ある程度(通常、私は少なくとも1年以上はキープするようおすすめしている)のリダイレクト管理をし、問題がなさそうなら(リダイレクト)設定は長期的なメンテナンスも楽になるから解除していい。
これらの理由から、Googleについては最低でも1年間程度、リダイレクト設定をそのままにしておいた方が良いとしています。
ただし、これはあくまで「検索ユーザー」を対象とするものであり、自社サイトを「お気に入り」などに入れている可能性がある場合は、半永久的にリダイレクトをキープしておく方が良いです。
リダイレクトチェーンにならないようにする
リダイレクトチェーンとは、転送処理が繰り返されてしまうことを指します。
リダイレクト設定に「AからB」「BからC」「CからD」という3つがあると、Aへのアクセスがあった場合、Dに到着するまで3回の転送が行われることになります。このリダイレクトチェーンにはユーザー、SEOそれぞれに問題が生じます。
ユーザーは、Aを開こうとクリックすると、最後の転送先であるDが開くまでに時間がかかることから、SEOの観点からすると転送する度に評価が下がることになります。
リダイレクトの設定や記述のミスだけでなく、長期間に渡りサイト運営をしているとどのページにリダイレクト設定がかけられているのか、忘れてしまうこともあるでしょう。リダイレクト設定をした場合は必ず、履歴を確認できるようにしておきましょう。
リダイレクトループにならないようにする
リダイレクトループとは、転送処理が繰り返され、終わらない状態を指します。
先のリダイレクトチェーンは終わりがありましたが、リダイレクトループの場合は「AからB」「BからC」「Cから"A"」になっているなどで、転送が延々と続く状態になっています。
リダイレクトループに陥ると「リダイレクトが繰り返し行われました」というエラーが表示されます。リダイレクトループが起こる原因には設定している管理側にある場合と、ユーザー側にもある可能性があります。
ユーザー側でリダイレクトループが出る場合は、Cookieを削除してみましょう。その上で、同じように「リダイレクトが繰り返し行われました」という画面が出る場合は、運営側の設定に何らかの問題があることになります。
リダイレクトに関する警告と対処法
新しいURLへの誘導、旧URLからの評価の継承のためリダイレクト設定をしたものの、正しく設定されていないとGoogleは警告を出します。
主にどのような警告が届くのか、その原因と対処法をご紹介します。
リダイレクトの警告が出る原因と対処法
リダイレクトの設定が正しくない場合にGoogle Search Consoleへ届く警告の原因には、以下の4つが挙げられます。
- Cookieによるもの
- SSL化されていないURL
- 関係がないURLへの転送
- 短縮URLへの転送
Cookieとは、閲覧したWebサイトからインターネットを見るために使うブラウザ(ChromeやFirefoxなど)に残る記録を指します。
新しいWebサイトを訪問すると最初に「Cookieを有効にしてください」というメッセージが出ることがあります。Cookieを有効にすると、ログイン情報などの入力フォームを1度完了しておけば、2度目以降に再入力する手間を省けます。
そのCookie情報が原因でリダイレクトループが起こることがあります。解決方法として、使用しているブラウザに保存されているCookieを削除してみましょう。
次に、WebサイトがSSL化されていないと警告が出ます。
Googleはセキュリティの観点からWebサイトのSSL化を推奨しています(URLのトップ部分がhttpsになっているとSSL化が完了しています)。
リダイレクト設定をする場合にSSL化が完了していないURLへの転送を記述すると、Googleはセキュリティが脆弱なサイトまたはページへのアクセスがあると感知し、警告が出てしまうので注意しましょう。SSL化がまだ終わっていない場合は、急ぎ導入することをおすすめします。
また、関係がないURLへの転送については、旧URLと新URLのページ内容は同じものであるべきところが、関係のないページへの転送になっているとやはり警告が出ます。
301リダイレクトで、Webサイトのリニューアルやドメイン移管などが理由でリダイレクト設定をする場合は、元ページと関係性のある新しいURLへの転送を行うよう設定しましょう。
最後に、短縮URLへの転送を行うと、警告が出ることがあります。
長いURLはツールを使うと見やすく簡単な短縮URLへ変更できます。しかし、この短縮URLは、クリックすると短縮URLを使ったツールのあるサイトへ一度移動し、その後、元の長いURLへ転送されます。
短縮URLをリダイレクトに使うと、転送回数が増えてしまうため、警告が出やすくなります。リダイレクト設定を行うときは必ず元のURLを記述するようにしましょう。
不正なリダイレクトが起きる原因と対処法
Googleは不正なリダイレクトについて、「最初にリクエストされたURLとは別のURLに移動させること」としています。
ユーザーと検索エンジンのクローラー、それぞれを異なるURLへ転送する(クローキングといいます)、ユーザーが求めていないページへ意図的に転送するなどのケースが不正なリダイレクトに該当し、スパム行為と見なされます。
旧ページから新しいページへの転送や、類似・重複したページを1つのページにする場合、会員制サイトで登録したユーザーを内部ページに誘導するなどの転送は正当なものですが、不正なリダイレクトとして判断されてしまう可能性もあります。
リダイレクトの目的そのものがユーザー、検索エンジンを欺くようなものでなければ問題ありませんが、Google Search Consoleに警告が出ている場合には内容をチェックし、適切な形に変えるようにしましょう。
まとめ
新しく自社サイトをリニューアルする場合や、前から求めていたドメインが入手できたことで移管をする場合、その他やむを得ない事情からURLが変更になる場合は、301リダイレクトを忘れずに設定しておきましょう。
ユーザーが旧URLから新URLへスムーズに転送されることでユーザビリティを維持し、旧URLが受けていた評価を引き継ぐことができます。
その他、公開済みのページが、時間経過によって掲載情報が古くなり、内容を大幅に変えなければならない場合や、ABテストを実施する場合は、302リダイレクト設定で一時的な転送処理を行いましょう。
2種類あるリダイレクトを使い分け、正しく設定してユーザーがストレスなく求める情報を集められるサイト運営を心がけましょう。
リダイレクトを含む、内部対策については以下のページにまとめているので、その他にやるべき対策が残っていないか、確認してみてください。