301リダイレクトと302リダイレクトの違い・設定方法を解説!

301リダイレクトと302リダイレクトの違い・設定方法を解説!

リダイレクトとは?

リダイレクトとは?

リダイレクトとは、「方向を変える」という意味の英語ですが、IT分野においてはURLを転送する仕組みのことを指します。特にWebサイトのリニューアルをする際やドメインを変更する場合、ブログを移転する場合など、旧URLに訪れたユーザーを新URLに転送をかけるためにリダイレクト設定をして、新しいサイトにユーザーを誘導します。

最新情報をいち早くお届け!

無料会員登録していただくと、
会員限定の特別コンテンツ記事を最後まで
読むことができます!
その他、更新情報・イベント情報を
お届けいたします。

301、302とは?

301、302とは?
301や302というのは、W3Cが定めるHTTPステータスコードの種類となります。301リダイレクトと302リダイレクトの違いは、恒久的な転送なのか一時的な転送なのかの違いです。
HTTPステータスコードとは、3桁のナンバーで表されるもので、100番台から500番台まで存在しています。リダイレクトで使用される300番台は、追加処理コードとなり、クライアントからのリクエストを完了させるために必要とされています。

恒久的な転送、301リダイレクト

恒久的な転送、301リダイレクト
ウェブサイトが恒久的に移転することをさすものが301リダイレクトです。ドメインを新しくする場合など、新しいドメインに完全移転する場合は301リダイレクトを使用します。
SEO面では、301リダイレクトを使うことで、元のページで獲得した評価(ページランク)や被リンクを新ページでも引き継ぐことができるため、Googleなど検索エンジンの処理も期間が短くなると言われています。旧ページでの評価を引き継ぐことができるので、複数ページを統合した場合などでも使う機会があります。
サイトの移転方法については下記記事でご紹介しています。
意外と簡単!サイトの移転方法

ドメインの変更で使う301リダイレクト

新しいドメインにサイトを移転する場合には301リダイレクトを使いましょう。301で検索エンジンに知らせることで、データベースに新しいドメインをインデックスしてくれます。
検索エンジンとユーザーに短期間でサイト移転を知らせるために、301リダイレクトをかけることが好ましいです。

正規化で使う301リダイレクト

ドメインの正規化においても301リダイレクトを使用します。下記のように複数のURLでアクセスできてしまうWebサイトは、URL表示を統一するために301リダイレクトを使うと良いでしょう。

  • wwwの有無
  • index.htmlやindex.phpなど拡張子の有無(トップページ)
  • ドメイン後の/(スラッシュ)の有無
  • SSL化におけるhttp://とhttps://の統一(httpでアクセスしてもhttpsにリダイレクトするようにする)

複数のURLでアクセスできてしまうサイトは、Googleなど検索エンジンからは各々別サイトとして判断されてしまうため、ミラーサイト・重複コンテンツとして扱われてしまったり評価が統合されないというような問題が発生します。
重複コンテンツについては下記記事でご紹介しています。
重複コンテンツとは?危険性と防止するポイント

一時的な転送、302リダイレクト

一時的な転送、302リダイレクト
301リダイレクトと比較して、302リダイレクトは一時的な転送となります。「一時的」の目安は1,2週間以内とされています。301リダイレクトで設定した場合、転送先のドメインに情報が引き継がれるまでは最短でも2,3週間かかると言われています。2,3週間よりも短い場合は302リダイレクトで設定しましょう。
転送先の新しいコンテンツは、302リダイレクトでも301リダイレクト同様インデックスされますが、検索結果の表示では下のリダイレクト前のURLが表示されます。301リダイレクトでは転送先のURLが表示されるようになっています。

サイトのメンテナンスには302リダイレクト

ホームページのメンテナンスでページ自体が公開できない時、メンテナンス中の画面を表示することになります。メンテナンス中は、メンテナンス中のページを作成して、公開できないページから302リダイレクトをかけるようにしましょう。

スマホ サイトが別URLになる場合は302リダイレクト

スマホでウェブサイトを閲覧する際に、xxxx.com/smp/ のようにスマホ用のサイトに誘導されることがあると思います。スマホ用URLへの誘導にも302リダイレクトを設定します。
裏側としては、ユーザーが利用しているデバイスを判別して適切なサイトに切り替わるという設定になります

リダイレクトはSEO評価にも問題がある?

リダイレクトはSEO評価にも問題がある?
SEO評価にリダイレクトが悪影響を与えるという話を聞いたことはないでしょうか?
以前、スパム行為を防ぐ理由でリダイレクトされているページがSEO評価が失われる仕様になっていたことがありました。評価が高く検索順位が高いページをリダイレクトして、他のページへの流入に利用するようなことがあったため、リダイレクトされたページは評価を失われていました。

現在は検索エンジンの精度もあがったため、不正なリダイレクトだけを削除することができるようになりました。結果、リダイレクトによってSEO評価に問題が出ることはありません。評価を引き継ぐこともできるので、引き継ぐ場合は301リダイレクトを、引き継がない場合は302リダイレクトを使い分ければ問題はないでしょう。

リダイレクトの設定方法

リダイレクトの設定方法
リダイレクトの設定にはいくつか方法がありますが、htaccessを使った設定がSEOにおいても推奨されている方法です。

htaccessを使ったリダイレクト

記載方法もいくつか方法があります。ページ単位、ディレクトリ単位などリダイレクトの設定が変えられるので適切な方法で記載してください。一部無料のWebサーバーなどではhtaccessが使えない場合があるため、注意が必要です。

①ページ単位でのリダイレクト
例として、index.htmlからnewindex.htmlというリダイレクトを設定する場合は下記のように記載します。
RewriteEngine on
RewriteRule ^index.html$ http://www.xxxx.com/newindex.html [R=301,L]

②ディレクトリ単位でのリダイレクト
ディレクトリ単位のリダイレクトでは、ディレクトリ以下のファイル名も引き継がれてリダイレクト設定がかかります。
下記は/test/ディレクトリから/master/ディレクトリへのリダイレクト設定の記述となります。
RewriteEngine on
RewriteRule ^test/(.*)$http://www.xxxx.com /master/$1 [R=301,L]

また、R=301の設定を行わないことで302リダイレクトとなります。
htaccessを使ったリダイレクトの詳しい方法は下記記事でもご紹介しています。
htaccessを使ったリダイレクトとは?

PHPでリダイレクト

htmlファイルの先頭にphpを記述してリダイレクトする方法です。htaccessファイルでのリダイレクト設定では条件分岐が複雑になってしまう場合に使用しましょう。下記、new.phpにリダイレクトするコードです。

http_response_code( 301 ) ;
header( "Location: ./new.php" ) ;
exit ;

JavaScriptを使用したリダイレクト

scriptタグを記述してリダイレクトを行う方法もあります。htaccessやphpが使えない場合に使用するといいかもしれません。ただしjavascriptを使用したリダイレクトの場合、一瞬でページが切り替わることがないため、前述した2つの方法よりもタイムラグを感じるかもしれません。

metaタグを使ったリダイレクト

1番簡単な方法としてはHTMLのmetaタグにリダイレクトを記述する方法があります。metaタグを使用した場合も、ページが切り替わるまでにタイムラグがあるため注意が必要です。

目的にあったリダイレクトを設定しよう!

目的にあったリダイレクトを設定しよう!
リダイレクトの種類・設定方法など、目的に合ったリダイレクトを設定することで検索エンジンやユーザーに優しいサイトを作りましょう。

LINEで送る
Pocket

  • この記事を書いた人
  • 最新記事