TIG comeerece TIG comeerece

リダイレクトとは?その種類や設定方法を解説します

  1. ノウハウ

Webサイトを長く運営していると、リダイレクトの問題に当たる方は多いかと思います。

とはいえ、

  • リダイレクトってなに?
  • リダイレクトってどうやってやるの?
  • リダイレクトの設定方法は?

といった疑問を覚える方も多いのではないでしょうか。

そこでこの記事では、

  • リダイレクトとは?
  • リダイレクトの種類
  • 誰でもできるリダイレクトの設定方法

についてご紹介していきます。

3分ほど読める内容ですので、これからリダイレクトの設定をおこなう方はぜひ参考にしてみてください。

リダイレクトの意味。301リダイレクトと302リダイレクトの違いは?

リダイレクト (redirect)とは、あるページから別のページに転送することです。もしくは、出力先を表示したいページに変換することを意味します。

リダイレクトが必要になるのは以下の場合です。

サイト全体の引っ越し及び移転
ドメインを変更し、サイト自体を引っ越す場合

サイトのリニューアル
同じドメインでも、各ファイル名に変更がある場合

ディレクトリ転送
ディレクトリ単位での移動をおこなう場合

1ページ転送
ページAをページBに転送する場合

スマホサイトの作成
PCサイトとの内容が重複する場合

旧URLの情報やGoogleの評価をそのまま新しいURLに引き継ぐためには、リダイレクトが必要です。

リダイレクトしないと以前までのGoogleの評価は消えた状態となり、検索順位も当然落ちてしまいます。

一般的に使われるリダイレクトには「301リダイレクト」と「302リダイレクト」があります。

ざっくり違いを説明すると、

  • 301リダイレクト:旧ページから転送し続ける設定
  • 302リダイレクト:旧ページから一時的に転送する設定

それぞれのリダイレクトについて詳しく説明していきます。

301リダイレクトとは「旧ページから転送し続ける設定」(推奨)

301リダイレクトは、旧ページから転送し続ける設定のことです。一度設定するだけで、常に旧ページの評価が引き継がれることになります。

例えば、コンテンツ内容がほぼ一緒ではありますがドメインに「www」が付いているものと付いていないものの2つのページが存在するとします。

  • https://www.abc.com/ (wwwあり)
  • https://abc.com/ (wwwなし)

この場合、検索エンジンは「URL」が違うため、別のページとして扱われます。すると同じコンテンツなのにもかかわらず、検索エンジンからの評価は2つに分散されてしまうのです。

評価が分散されてしまうと、上位表示されにくくなるリスクがあります。

301リダイレクトを設定しておけば、旧ページから情報やGoogle評価を転送し続けてくれるので常に以前の状態を保ちながら、評価を1ページに集中させることが可能です。

302リダイレクトとは「旧ページから一時的に転送する設定」

302リダイレクトは、旧ページから一時的に転送する設定のことです。基本的には数日~1週間ほどの短期間のリダイレクトに用いられます。
一時的な転送ですので、旧ページの情報やGoogle評価をそのまま引き継ぐわけではありません。

302リダイレクトは、ただページを転送するだけなので注意しましょう。どちらのリダイレクトを選択するか迷った際は、301リダイレクトを採用することをおすすめします。

リダイレクトの種類および設定する方法を紹介します

リダイレクトの種類には、

  • htaccessを使ったリダイレクト
  • PHPを使ったリダイレクト
  • JavaScriptを使ったリダイレクト
  • HTMLのmetaタグを使ったリダイレクト

の4つが存在します。

同じリダイレクトはありますが、設定方法が異なるのでそれぞれ紹介していきますね。

1. htaccessを使ったリダイレクト(推奨)

htaccessを使ったリダイレクトは、SEOにおいて最も推奨されているリダイレクト方法です。

方法はテキストエディタを使い、適当なファイル名で「htaccess」ファイルを作成します(例:sample.htaccess)。

作成した「htaccess」ファイルを開いて、URLの移行(リダイレクトの仕方)に合わせた記述をおこない、保存したものをサーバーにアップロードします。

では実際に、htaccessを使ったリダイレクトの設定方法をご紹介します。

htaccessを使ったリダイレクトの設定方法

htaccessを使ったリダイレクトには前提として、Webサーバー側に以下の条件が整っている必要があります。

  • Webサーバーが「Apache」である
  • Webサーバー上で「.htaccessファイル」を利用できる
  • Apache の「mod_rewriteモジュール」使える(必須ではない)

※前提条件をクリアしているレンタルサーバーは「さくら インターネット」「ロリポップ」「Xserver」「WADAX」などです。

では、htaccessを使ったリダイレクト設定方法の手順をご紹介します。

手順1:テキストエディタを使ってhtaccessファイルを作成
手順2:「.htaccess」ファイルに以下のコードを入力

【「https://example.com/page.html」を「https://example.com/new-page.html」にリダイレクトする場合】

RewriteEngine on
RewriteRule ^https://example.com/page.html$ https://example.com/new-page.html [L,R=301]

※Lは「LAST(ここで処理が終わり)」の意味で、R=301は「301リダイレクト」という指示です。

R=301の指定をおこなわないと「302リダイレクト」になってしまうので注意しましょう。

【ディレクトリ単位でリダイレクトしたい場合】

RewriteEngine on
RewriteRule ^旧フォルダー名(.*)$ 新フォルダー名$1 [R=301,L]

※「旧フォルダー名」ディレクトリにアクセスがあった場合、「新フォルダー名」ディレクトリに転送するといった指示となっています。

手順3:ファイルをアップロードする
手順2で入力して保存した「.htaccess」ファイルをFTPソフトを使って、サーバー上にアップロードをします。

また、.htaccessの有効範囲は、アップロードしたディレクトリとそのサブディレクトリ(子階層)です。

2. PHPを使ったリダイレクト

PHPを使ったリダイレクトは、htmlファイルの先頭にPHPを記述することでリダイレクトする方法です。

この方法は、htaccessファイルの記述では条件分岐が複雑になってしまうときに推奨されています。

では実際に、 PHPを使ったリダイレクトの設定方法をご紹介します。

PHPを使ったリダイレクトの設定方法

今回は、「sample1.php」から「sample2.php」に転送するリダイレクトとします。
この場合のコードは以下の通りです。

 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://example.com/new-page.html'",1000*5);
</script>
<title>ドメインの例</title>
</head>
<body>
<h1>リダイレクト</h1>
<p>本サイトは移転しました。5秒後にジャンプします。<br>
ジャンプしない場合は、以下のURLをクリックしてください。</p>
<p><a href="https://example.com/new-page.html">移転先のページ</a></p>
</body>

ヘッダーのscriptタグ内(6行目「setTimeout〜」の部分)でリダイレクトさせるページの「”https://example.com/new-page.html”」を指定します。
この場合「redirect.html」をクリックすると5秒後に「https://example.com/new-page.html」へリダイレクトされるようになります。
また、14行目で移転先のリンクをページに表示させているので、ユーザーは5秒待つことなく新しいリダイレクト先ページを見ることが可能です。

4. HTMLのmetaタグを使ったリダイレクト(meta refresh)

HTMLのmetaタグを使ったリダイレクト(meta refresh)は、metaタグの「http-equiv属性」に”refresh”を設定することでリダイレクトをおこなう方法です。

「content属性」には「何秒後にページが移り変わるのか?」と「リダイレクト先のURL」の指示もできます。

では実際に、HTMLのmetaタグを使ったリダイレクトの設定方法をご紹介します。

HTMLのmetaタグを使ったリダイレクトの設定方法

自身のサイトソースのHTMLファイル内にある~の中に以下のコードを入力しましょう。


<meta http-equiv="refresh" content="秒数;URL=URL">

例えば、リダイレクト先を「https://example.com/new-page.html」にする場合は


<meta http-equiv="refresh" content="秒数;URL=https://example.com/new-page.html">

となります。

リダイレクトをする際に気をつけるべきこと

リダイレクトをする際に気をつけるべきことは、以下の7つです。

被リンクを受けていなくても301リダイレクトをおこなう

「被リンクを受けていないため、301リダイレクトをしても意味が無い」と考える人も多いが、ドメイン年齢や今までのサイト評価をプラスしてもらえる可能性あり。

極力1ページ単位で301リダイレクトをおこなう

対応するページが無い場合、トップページへリダイレクトされてしまう。

内容が同じページにだけ301リダイレクトをおこなう

Googleに不正と判断されてペナルティを受ける可能性あり。

旧ドメインの更新もおこなう

301リダイレクトがおこなわれている間はページ移転が有効なため、旧ドメインの管理も必要。

サーバー移転時に「.htaccess」のアップをおこなう

再度アップしなければ、301リダイレクトが無効になってしまう。

ペナルティ回避には使わない

移転に怪しい部分があると上手く評価が渡らない可能性あり。

リダイレクトに透明性があり、ユーザーが正しく情報収集できるようベストなリダイレクト設定を心がけましょう。

トップページをリダイレクトしてもサイト全体がリダイレクトされるわけではない

前述した通り、301リダイレクトはページ単位で設定するものです。サイトのすべてを移転するのであれば、古いドメインの全てのページに対して新しいドメインへの301リダイレクトを設定する必要があります。

でなければ、検索エンジンはサイトを移転していることを認識できません。
さらに、古いドメインのトップページにのみ301リダイレクトを設定したからといっても、古いドメイン全体の評価が新しいドメインに引き継がれるわけではないので注意が必要です。

Googleが警告する「不正なリダイレクト」に注意

Googleがどんなリダイレクトに対し不正と判断するのかは以下の通りです。

  • 検索エンジンにはあるコンテンツが表示されるが、ユーザーはまったく違うコンテンツにリダイレクトされる。
  • PC ユーザーには通常のページが表示されるが、モバイルユーザーはまったく別のスパムドメインにリダイレクトされる。

引用元:https://support.google.com/webmasters/answer/2721217?hl=ja

つまり、リダイレクト先の情報がリダイレクト元の情報と異なっていると判断された場合、Googleから不正なリダイレクトであると警告を受けることになるのです。

当然ながら、警告の対象となる不正なリダイレクトは検索結果などに響きます。なので、警告に引っかかることがないよう注意が必要です。

Search Consoleでアドレスの変更を設定する

Search Consoleの右上部の「歯車アイコン」から「アドレス変更」を選択するとサイト移転を申請できます。

しかし、Googleは一度クロールしただけではサイトが移転したことを認識してくれません。

移転したと認識するのに、数週間~数ヶ月かかることもあります。

そのためサイトの移転をおこなう前にSearch Console ヘルプ – アドレス変更ツールの使用を一度チェックしておきましょう。

iPhoneの「多くのリダイレクトが発生しています」表示に注意

iPhoneのSafariではブラウザの問題で「ページを開けません。多くのリダイレクトが発生しています。」と表示され、正しくウェブページが表示されないことがあります。

Apple社のサポートによると、ユーザーのiPhoneに問題があるのであればiPhoneのブラウザ中でキャッシュやCookieを削除すると解決するようです。もしユーザーから問い合わせが来た場合はこの情報を参考に対応してみてください。

リダイレクトを理解して、ユーザーにも検索エンジンにも優しいサイトづくりを!

本記事ではリダイレクトについて説明してきました。リダイレクトをおこなう方法は複数あるので、使い分けることが重要です。

正しくリダイレクトを設定することで、以前までのGoogle評価を引き継いで検索順位を落とすことなくサイトの移行ができます。

自社のサーバー環境やあつかっているファイル形式に合わせて、ベストなリダイレクト方式を選びましょう。

PR:デジタルトランスフォーメーション時代に勝ち残るサービスの作り方

関連記事