Webサイトを長く運営していると、サイトの引越しや、ドメインの移転、旧URLの情報変更についての問題を抱えていると思います。
旧URLの情報やGoogleの評価をそのまま新しいURLに引き継ぐためには、リダイレクトが必要です。
リダイレクトしないと以前までにしておくとサイト情報がなくなり、せっかく上位に表示されていてもGoogleの評価はエラー状態となり、検索順位も当然落ちてしまいます。
目次
◎リダイレクトとは◎リダイレクトの種類について
◎リダイレクトの設定方法
リダイレクトとは
あるページから別のページに転送することや、表示したいページに変換することを言います。
リダイレクトの設定が必要になるのは
1.サイト全体の引っ越し及び移転
ドメインを変更し、サイト自体を引っ越す場合
2.サイトのリニューアル
同じドメインでも、各ファイル名に変更がある場合
3.ディレクトリ転送
ディレクトリ単位での移動をおこなう場合
4.ページの転送
Aページ01を、Bページ01に転送する場合
以上のように、一般的に使われるリダイレクトは、上記4つの場合に設定します。また、「301リダイレクト」と「302リダイレクト」があり、
その違いは、
「301リダイレクトは、旧ページから転送し続ける場合」
一度設定するだけで、常に旧ページの評価が引き継がれることになります。
例えば、コンテンツ内容がほぼ一緒ではありますがドメインに「www」が付いているものと付いていないものの2つのページが存在するとします。
https://www.hp-beginner.net/ (wwwあり)
https://hp-beginner.net/ (wwwなし)
※上記サンプルは当サイトのURL
この場合、検索エンジンは「URL」が違うため、別のページとして扱われます。すると同じコンテンツなのにもかかわらず、検索エンジンからの評価は2つに分散されてしまうのです。
評価が分散されてしまうと、上位表示されにくくなるリスクがあります。
301リダイレクトを設定しておけば、旧ページから情報やGoogle評価を転送し続けてくれるので常に以前の状態を保ちながら、評価を1ページに集中させることが可能です。
「302リダイレクトは、旧ページから一時的に転送する場合」
ただページを転送するだけなので、旧ページの情報やGoogle評価をそのまま引き継ぐわけではありません。
どちらのリダイレクトを選択するか迷った場合は、301リダイレクトを使いましょう。
リダイレクトの種類について
1.htaccessを使ったリダイレクト
2.PHPを使ったリダイレクト
3.JavaScriptを使ったリダイレクト
以上のようにの3種類があり、同じリダイレクトなのですが、設定方法が異なります。まず、最初は.htaccessを使ったリダイレクトの設定方法から順番に見ていきましょう。
リダイレクトの設定方法
1.htaccessを使ったリダイレクト
htaccessを使ったリダイレクトは、一般的によく利用される方法で、SEOにおいて最も推奨されたリダイレクトで、テキストエディタを使い、「htaccess.txt」ファイルを作成します。
作成した「htaccess.txt」ファイルを、URLの移行(リダイレクトの仕方)に合わせた記述をおこないサーバーにアップロードします。
htaccessを使ったリダイレクトの設定方法
htaccessを使ったリダイレクトには利用条件として、レンタルサーバーに以下の条件が整っている必要があります。
レンタルサーバーが「Apache」が利用できる
レンタルサーバーで「.htaccess」ファイルが利用できる
利用条件をクリアしているレンタルサーバーは、
「エックスサーバー」エックスサーバーは、サーバーパネルから簡単に、指定のURLへリダイレクト設定が可能です。詳しくはこちら
「さくらのレンタルサーバ」さくらもレンタルサーバは、新コントロールパネルから簡単に、指定のURLへリダイレクト設定が可能です。詳しくはこちら
「ロリポップ!レンタルサーバー」「お名前.comレンタルサーバー」
など
htaccessを使ったリダイレクトの設定方法
手順1:テキストエディタを使ってhtaccessファイルを作成
手順2:「.htaccess」ファイルに以下のコードを入力
◎https://hp-beginner.net/old-page/をhttps://hp-beginner.net/new-page/にリダイレクトする場合
RewriteEngine on
RewriteRule ^old-page$ https://hp-beginner.net/new-page [L,R=301]
※Lは「ラストのL」の意味で、R=301は「301リダイレクト」という指示。
※R=301の指定がないと「302リダイレクト」になるので注意が必要。
◎ディレクトリ単位でリダイレクトしたい場合
RewriteEngine on
RewriteRule ^旧フォルダー名(.*)$ 新フォルダー名$1 [R=301,L]
◎httpからhttpsへのリダイレクト
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://hp-beginner.net/$1 [R=301,L]
※「旧フォルダー名」ディレクトリにアクセスがあった場合、「新フォルダー名」ディレクトリに転送するといった指示となっています。
手順3:ファイルをアップロードする
手順2で入力して保存した「.htaccess」ファイルをFTPソフトを使って、サーバー上にアップロードをします。
また、.htaccessの有効範囲は、アップロードしたディレクトリとそのサブディレクトリ(子階層)です。
2.PHPを使ったリダイレクト
PHPを使ったリダイレクトは、htmlファイルの先頭にPHPを記述することでリダイレクトする方法です。
この方法は、htaccessファイルの記述では条件分岐が複雑になってしまうときに推奨されています。
PHPを使ったリダイレクトの設定方法
「sample1.php」から「sample2.php」に転送するリダイレクトとします。
この場合のコードは以下の通りです。
<!--?php <br ?--> http_response_code( 301 ) ;
header( "Location: ./sample2.php" ) ;
exit ;
3.JavaScriptを使ったリダイレクト
JavaScriptを使ったリダイレクトは、リダイレクト元のページ内の「scriptタグ」にリダイレクト用の「Javascript」を記述してリダイレクトをおこなう方法です。
Javascriptの「location.hrefプロパティ」にURLを設定する必要があります。
実際に、JavaScriptを使ったリダイレクトの設定方法を見ていきましょう。
JavaScriptを使ったリダイレクトの設定方法
JavaScriptを使ったリダイレクトのコードは以下の通り。
<html lang="ja">
<head>
<meta charset="uft-8">
<script>
setTimeout("location.href='https://hp-beginner.net/test-page.html'",1000*5);
</script>
<title>ドメインの例</title>
</head>
<body>
<h1>リダイレクト</h1>
<p>本サイトは移転しました。5秒後にジャンプします。<br>
ジャンプしない場合は、以下のURLをクリックしてください。</p>
<p><a href="https://hp-beginner.net/test-page.html">移転先のページ</a></p>
</body>
ヘッダーのscriptタグ内(「setTimeout〜」の部分)でリダイレクトさせるページの「”https://hp-beginner.net/test-page.html”」を指定します。
この場合「redirect.html」をクリックすると5秒後に「https://hp-beginner.net/test-page.html」へリダイレクトされます。
また、移転先のリンクをページに表示させているので、ユーザーは5秒待つことなく新しいリダイレクト先ページを見ることが可能です。
以上となります。