302リダイレクトとは?301リダイレクトとの違いやSEOとの関係など
メディアを運用しているとよく「302redirect(リダイレクト)」という言葉を耳にすることがあると思います。この302redirectとは、どのようなものなのでしょうか?
302redirect(リダイレクト)とは
302redirectとは、URL転送のなかでも「一時的な転送」を指します。短期間、あるWebサイトから別のWebサイトへ転送する際に使用するリダイレクト方式です。
のちほど詳しく紹介しますが、302redirectは「一時的なWebサイトのメンテナンス」や「スマホ・Webサイトへの自動振り分け」「ABテスト」などで使用します。
また302redirectは、Google側に「URLの転送は一時的なもので、短期間だけWebサイトを移動させますよ」というのを伝える役目があります。こちらも後ほど詳しく紹介しますが、302redirectによって検索順位に影響を与えることはないので心配はいりません。
なお302redirectの”一時的な”転送期間は、おおむね「1日~数週間程度」を指すのが一般的です。
そもそもリダイレクトとは?
そもそも「リダイレクト」とは何を指すのでしょうか?
リダイレクトとは「とあるWebサイトから別のWebサイトに移す処理」です。リダイレクトを使用するシーンは、リニューアルによるURLの変更や、新しいドメインへの変更などによるものです。
元のWebサイトを閲覧されては困る際に、リダイレクトを利用して転送させたいWebサイトに誘導します。リダイレクトを実行することで、任意のページへ自動的にURLを移すことが可能になるのです。
またリダイレクトには、大きくわけて「301」と「302」の2種類があります。そこで301redirectについても詳しく紹介します。
301redirect(リダイレクト)とは
301redirectとは、URL転送のなかでも「永遠の転送」を指します。302redirectが「一時的なURL転送」を指しているのに対し、Google側に「永遠に新しいURLへ移動させますよ」と伝えるのが301redirectです。
のちに詳しく紹介しますが、301redirectを使うシーンとしては「永遠にWebサイトを移す場合」や「元サイトのドメインパワーを、新しいWebサイトに引き継ぎたい」などが考えられます。
302redirectはいつ使用するのか?
302redirectは「一時的な転送」であることから、次のようなシーンで使われることが多くなっています。
<302redirect>
- 一時的なWebサイトのメンテナンス
- ABテストの実施
- 機器ごとに表示を切り替える など
302redirectは基本「一時的なWebサイトのメンテナンス」に使われることが多くなっています。当然メンテナンスでは、新しいWebサイトへ永遠に移すわけではありません。
そのため、メンテナンス作成用のページを作成し、案内用のページへ移すために302redirectを用います。
また、機器ごとに表示を切り替えたいときにも302redirectは有効です。スマホはスマホ用のWebサイトに、パソコンはパソコン用のWebサイトに移すといったイメージです。
一見すると「機器ごとの切り替えは永遠の転送なので、301redirectのほうがいいのでは?」と考えるかもしれません。しかしGoogleは、機器ごとにリダイレクトを設定する場合は「301よりも302のほうがいい」と名言しています。
302redirectを実行する方法
具体的に、302redirectを実行する方法について紹介します。基本的には、302redirectを実行するには次の3つの方法が考えられます。
<302redirectを実行する方法>
- .htaccess
- WordPressのプラグイン
- PHP
それぞれ詳しく紹介します。
.htaccess
302redirectを実行する1つめの方法は「.htaccess」のリダイレクトコードを使うことです。htaccessファイルに命令文を書くことで、リダイレクトを実行する方法です。基本的には、この.htaccessを使うのがおすすめです。
.htaccessを使ったリダイレクトの設定方法は多岐にわたります。そこで、パターン別のリダイレクト設定方法を紹介します。
<Webサイト全体をリダイレクトする方法>
Webサイトすべてに302redirectを実行する方法です。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{http_host} ^https://www.■■.com
RewriteRule ^(.*)$ https://www.switchitmaker2.com/wordpress$1 [R=302,L]
</IfModule>
<特定のページのみをリダイレクトする方法>
サイト全体にリダイレクトを実行するのではなく、特定のページのみに一時的な移転を実施する方法です。特定のページのみをメンテナンスしたいときに役立ちます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^https://www.■■.com$ https://www.switchitmaker2.com/wordpress [R=302,L]
</IfModule>
このように、htaccessファイルを編集して「Webサイト全体を移す」または「特定のページのみを移す」することが可能になります。
WordPressのプラグイン
メディア運営者のなかには「htaccessファイルを編集して302redirectを実行しよう!」と言われても、なんのことかわからない方もいるかもしれません。実際、コードの知識がない方が誤って編集してしまった場合、後戻りできずWebサイトが崩れる可能性があります。
そこで、コードの知識がない方が安全にリダイレクトを実行するために「WordPressの男プラグインを使う」方法があります。「Redirection」というプラグインを導入すれば簡単に設定できるので、ぜひ活用してみてください。
PHP
.htaccessではなくサーバーのPHP言語でも、302redirectに対応できます。PHP言語で302redirectに対応する方法が、次のとおりです。
<?php
header(‘Location: https://www.switchitmaker2.com/wordpress/, true, 302);
exit();
?>
しかし現在、PHPで302redirectに対応する方法は主流ではありません。基本は「.htaccessで対応する」か「WordPressのプラグインRedirectionで対応する」のがおすすめです。
302redirectはSEO上問題があるか
302redirectを正しく使うことで、SEO上は問題がありません。検索順位にも、影響はないとされています。
また302redirectの場合、基本インデックスされるのは元ページです。そのため、一時的にWebサイトを移すことによって新しいページに移されても、元々の検索順位には影響がないのでしょう。
301redirectはいつ使用するのか
301redirectは「永遠の転送」を示しています。それでは301redirectは、いつ使うのでしょうか?
301redirectは、主に次のようなシーンで使われます。
- 永遠にWebサイトを移す場合
- 元サイトのドメインパワーを引き継ぎたい場合
それぞれ詳しく見ていきましょう。
永遠にWebサイトを移す場合
301redirectは「永遠の転送」と示すとおり、永遠にWebサイトを移したい場合に用います。
たとえば「リニューアルして新しいWebサイトを作成した」「新しいドメインのWebサイトに移したい」というようなシーンで301redirectを利用します。
元サイトのドメインパワーを引き継ぎたい場合
301redirectは、古いWebサイトのドメインパワーが、新しいWebサイトにある程度引き継がれると言われています。そのため、リニューアルによって新しいWebサイトにドメインパワーを引き継ぎたいときも、301redirectを利用します。
一方で、古いWebサイトと新しいWebサイトのコンテンツにまったく関連性がない場合、Googleからペナルティーを受けて検索順位を大きく落とす可能性があります。
たとえば元のWebサイトでは「食品を販売するECサイト」なのに、新しいWebサイトの「Webマーケティングツールを販売するWebサイト」に301redirectで対応するのは無理があります。
そのため、301redirectのドメインパワー引き継ぎを悪用して、まったく関係ないコンテンツを提供する行為はしないように注意しましょう。
301redirectを実行する方法
それでは、具体的に301redirectを実行する方法について見ていきましょう。301redirectを実行する主な方法は、次のとおりです。
<301redirectを実行する方法>
- .htaccess
- WordPressのプラグイン
- PHP
このように、コードが変わるだけで、301と302には大きな違いはありません。次からは、301redirectの具体的な実行方法について紹介します。
.htaccess
302と同様、301redirectでもhtaccessに命令文を書き、リダイレクトを実行します。利用シーンごとにコードは異なるので、代表的なものを次から紹介します。
<ページごとにリダイレクトする方法>
基本的なリダイレクト利用シーンです。ページごとに、新しいWebサイトに移します。
RewriteEngine on
RewriteRule ^■■.html$ https://www.switchitmaker2.com/wordpress/○○.html [L,R=301]
<ドメインごとにリダイレクトする方法>
新しくドメインを作成して、そこにリダイレクトするときに利用するコードです。
RewriteEngine On
RewriteCond %{http_host} ^www.■■.com
RewriteRule ^(.*)https://www.switchitmaker2.com/wordpress/$1 [R=301,L]
<ディレクトリごとにリダイレクトする方法>
企業が古いWebサイトから、新しくドメインを設定してWebサイトを開設し、移すケースです。ディレクトリとは、ファイルを分類や管理をするための概念であり、SEOでは「Webサイトの階層の深さ」を「ディレクトリ構造」と呼んでいます。
このディレクトリ構造を整えたいときに、こちらのコードが役に立ちます。
RewriteEngine on
RewriteRule ^■■(.*)$ /○○$1 [L,R=301]
WordPressのプラグイン
メディア運営者のなかには「htaccessファイルを編集して301redirectを実行しよう!」と言われても、なんのことかわからない方もいるかもしれません。
302redirectと同様、メディア運営初心者が誤ってコードを編集してしまった場合、Webサイトが崩れたまま戻らない可能性も考えられます。
そこで、コードの知識がない方が安全にリダイレクトを実行するために「WordPressのプラグインを使う」方法があります。「Redirection」というプラグインを導入すれば簡単に設定できるので、ぜひ活用してみてください。
PHP
実は301redirectは、.htaccess以外にも、サーバーのPHP言語でも対応する方法があります。
<?php
header( “HTTP/1.1 301 Moved Permanently” );
header( “Location: https://www.switchitmaker2.com/wordpress//” );
exit;
?>
しかし現在はあまり使われておらず、PHPで301redirectに対応するのはおすすめしません。基本は「.htaccessで対応する」か「WordPressのプラグインRedirectionで対応する」のがおすすめです。