リダイレクト

とあるページにアクセスした際に、別のページヘと自動で切り替わる様に転送されることを指します。
通常、サイトのURLが変わった時など、新しいサイトのURLへと導く時に使われることが多いですが、他にも色々な理由で使われることがよくあります。
例えばURLの統一として、「www有りと無し」「index.html有りと無し」を統一するために、他のURLを正規のURLへ転送する、というの使い方も有名です。

リダイレクトにはいくつかの方法と種類があります。

リダイレクトの種類

301リダイレクト

恒久的な転送と呼ばれる転送方法で、変更前のURLは永久に使われず、今後は新しいURLが正しいURLになる、という場合に使用する転送方法です。
サイトの移転等を行った際に、完全に新しいサイトに引継ぎました。ということをGoogleに伝えることができ、以前のサイトの情報や評価を引き継ぐことが出来ます。
その為、以前のサイトはインデックスから姿を消すことになります。Googleも推奨する転送方法です。

引き継がれるサイトの情報や評価はあくまでも「検索エンジンからの評価」であり、100%の情報が引き継がれることはないようです。

302リダイレクト

一時的な転送を意味する転送方法で、変更前のURLが何らかの理由で一時的に閉鎖していて、仮のサイトへと転送するときなどに使います。この転送を使う時は以前のサイトはいずれ復活し、転送が解かれることが前提となっているので、以前のサイトの情報や評価は引き継がれません。
301転送と違い一時的であるため、以前のサイトも新しい転送先のサイトもインデックスされ続け、評価も別々にされます。

しかし、最近は302転送をしていてもGoogleが「このサイトの転送は301がふさわしい」と判断すれば301転送を同じ扱いをされるそうです。つまり、いくら302転送をしていても、それが長期に渡ったりすればサイトの評価等が引き継がれ前のサイトはインデックスから姿を消すことになります。
サイトの移転時にミスをした等であれば嬉しいですが、エラーや改装、メンテナンス等で一時的な転送をしたいと思っている方は要注意となります。

303リダイレクト

メソッドを利用した場合の転送方法となります。
例えば掲示板などで書き込みをした場合、書き込み内容を送信した後に掲示板の一覧を表示する場合などに使われます。
情報をやり取りするのは一度きりで、それ以降はデータ送信無しで、このURLへ飛んでね、という感じです。

307リダイレクト

302リダイレクトと同じく一時的な転送ですが、こちらはメソッドが関連します。
転送前のページで使用した書き込みデータ等を、そのまま転送先にURLでも使用する、という時に使います。

※基本的には301、302のリダイレクトを知っていれば問題は無いかと思います。

リダイレクトの方法

上記のようなリダイレクトをするにはいくつかの方法がありますが、その中でも301、302リダイレクトをすることが出来るリダイレクト方法を紹介します。

.htaccess

.htaccessというサーバーの動作を制御できるファイルに転送の指示を書き込みます。
書き方にはルールがあるので詳しくは検索をお願いします。

この転送方法では301、302、303、307転送とどの転送方法でも記述方法があり、転送をすることが出来ます。
しかし、サーバー側の問題で使えない場合もあるので事前にサーバーで.htaccessファイルが使用できるかどうかを確認する必要があります。

PHP

PHPを使用している環境で行う転送です。こちらは.htaccessと違い、転送の指示を直接そのページヘと書き込みます。
転送をしたいページには全て記述をする必要がありますが、PHPさえ使えれば他に制限がありません。

おまけ

meta refresh

headタグ内に直接書き込むmetaタグを使用して転送をする方法です。 こちらの転送方法は301、302…等の指定は出来ず、リダイレクトとしてステータスコードを返しません。直接転送後のサイトへアクセスした時と同じ扱いです。
metaタグを使用した場合、転送をするまでの時間を決めることが出来ます。転送前に警告として文章を表示させたい、等には使えますが、検索エンジンによっては良い評価を受けられない場合もあるので、使い方には注意が必要です。
0秒を指定することで301リダイレクトと同じ扱いとなりますが、Googleは推奨していません。

【一覧へ戻る】