SEOを考えるなら301リダイレクトは必須!その必要性と具体的な設定方法をまとめました

SEO

ドメインやサイト構成の変更など、URLが変わった際に設定する301リダイレクト。一般的にはユーザーにページの引っ越しを知らせたり、正しいページへ誘導するためのものとされていますが、SEO対策においても非常に重要な設定であることをご存知ですか。
この記事では、301リダイレクトの役割や設定が必要な場面、具体的な設定方法などについてまとめました。

301リダイレクトとは

301リダイレクトとは、特定のページから別のページへユーザーを転送させる処理のことを指します。Webサイトを長期的に運用していると、ドメインを変更したり、サイト構成を見直すなどしてこれまで存在していたURLが使われなくなってしまうことがあります。こんな時、何も設定を行っていないと、ブックマークや他サイトのリンクを経由して訪れたユーザーは何も表示されず、場合によってはそのまま離脱してしまうことにもなりかねません。
こうした状況を避けるため、ページを訪れてくれたユーザーを正しいページヘと誘導するのが301リダイレクトです。

redirect_1.png

301リダイレクトと同じように使われる設定として、302リダイレクトがあります。いずれもユーザーを正しいページへ転送する設定であることに変わりはありませんが、その役割は少し異なっており正しく使い分ける必要があります。

301リダイレクトは「恒久的なリダイレクト」とされており、URLが今後も永続的に変更される場合に使用されます。先に説明したドメインの変更やサイト構成の見直しなどでURLが変わる場合は一般的にこの301リダイレクトが使用されます。

これに対して、302リダイレクトは「一時的なリダイレクト」と言われており、サイトのメンテナンスなどの理由で一時的にユーザーを別ページに誘導したい場合に使われます。
302リダイレクトの「一時的な」がどのくらいの期間を指すのかについて明確な基準はありませんが、およそ2週間くらいを目安にするといいでしょう。それ以上の長期間(もしくは恒久的に)URLを変更する場合は301リダイレクトを、それ以下の短期間の変更の場合は302リダイレクトを使うのが一般的です。

redirect_2.png

301リダイレクトは検索エンジンに移転を知らせる役割もある

301リダイレクトには、ユーザーを正しいページに誘導する以外にもうひとつ重要な役割があります。それは検索エンジンにURLの変更を知らせることです。

一般的に、検索エンジンはWebサイトごとにコンテンツの内容やユーザビリティなどを評価しており、それをもとにして表示順位を決定しています。この評価を高めるための一連の施策がSEO対策であることは、この記事を読んでいるみなさんには改めて説明するまでもないでしょう。

この検索エンジンによるサイトの評価は、当然ながらURLを基準にしています。つまり、なにも設定をせずただURLを変更してしまうと、これまで獲得してきた評価はそのまま失われてしまい、新しいURLでまたゼロからSEO対策に取り組まなくてはいけなくなってしまうのです。

301リダイレクトは、こうした事態を防ぐためにも重要なもの。URLが変わったことを検索エンジンに知らせておけば、旧URLの評価をそのまま新URLに引き継ぐことができるのです。特に旧URLの評価が高く検索結果で上位表示されている場合は、必ず301リダイレクトを設定しておきましょう。

URLを一元化してSEO評価をまとめる

301リダイレクトは上記で説明した用途のほか、以下のようにURLの正規化に使われるケースもあります。いずれも、複数のURLで同じページが表示される場合に、それらを一元化してSEO評価の分散を避ける目的で使用されます。

・「http」と「https」を一元化する

 →http://www.sample.com/
 →https://www.sample.com/

・「www」があるページとないページを一元化する

 →https://sample.com/
 →https://www.sample.com/

・トップページの「index.html」があるページとないページを一元化する

 →https://www.sample.com/
 →https://www.sample.com/index.html

不正なリダイレクトはペナルティの対象に

これまで説明したように、301リダイレクトはURLの変更をユーザーや検索エンジンに知らせて適切なページに誘導したり、URLを正規化したりするために使われます。こうした正規の使い方であればまったく問題はありませんが、これらの用途以外で使用した場合は不正とみなされることもあるため注意が必要です。Googleでは、不正なリダイレクトとして以下のような例を挙げています。

・検索エンジンにはあるコンテンツが表示されるが、ユーザーはまったく違うコンテンツにリダイレクトされる。

・PC ユーザーには通常のページが表示されるが、モバイル ユーザーはまったく別のスパム ドメインにリダイレクトされる。

これらの行為は当然ながらGoogleのガイドラインにも反しており、表示順位を下げるなどのペナルティ対象となります。リダイレクトはあくまでユーザーの立場に立って、正しく設定するようにしましょう。

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

301リダイレクトを設定する際にはいくつかの方法がありますが、ここでは最も一般的な「.htaccess」を使った設定方法をご紹介しましょう。

1. 「.htaccess」ファイルを作成する

テキストエディタなどを使ってファイルを作成し、名前を「〇〇.htaccess」として保存します。(〇〇は任意の文字列)

redirect_3.png

2. 転送処理の記述をする

「.htaccess」ファイルの中に転送処理の記述を行います。記述内容はリダイレクトの種類によって異なるため、以下を参照してください。

①ページ単位でリダイレクト設定する場合の記述

新旧サイトのディレクトリ構成が異なる場合やイレギュラーなページがあある場合は、ページごとにリダイレクト設定が必要です。「old.html」から「new.html」へ移行する場合の記述は以下のとおりです。

RewriteEngine on
RewriteRule ^old.html$ https://www.sample.com/new.html [R=301,L]

②ディレクトリ単位でリダイレクト設定する場合の記述

新旧サイトで構成が同じ場合は、ディレクトリ単位でリダイレクトの設定ができます。「old」ディレクトリから「new」ディレクトリへ移行する場合の記述は以下のとおりです。

RewriteEngine on
RewriteRule ^old(.*)$ /new$1 [R=301,L]

③「http」から「https」へのリダイレクト設定

HTTPでアクセスされた場合にSSLでリダイレクトする場合の記述方法です。サイトをSSL対応した場合などは必ず設定しておくようにしましょう。

RewriteEngine on
RewriteCond %{ HTTPS} off
RewriteRule ^(.*)$ https://%{ HTTP_HOST}%{REQUEST_URI} [L,R=301]

④「www」のありなしを一元化する場合のリダイレクト設定

URLにおける「www」のありなしを一元化する場合の記述です。それぞれ以下を参照してください。

・wwwありのURLに統一する場合

RewriteEngine on
RewriteCond %{ HTTP_HOST} ^example\.com
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

・wwwなしのURLに統一する場合

RewriteEngine on
RewriteCond %{ HTTP_HOST} ^www.example\.com
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]

⑤「index.html」を一元化する場合のリダイレクト設定

トップページにおける「index.html」をなしに統一する際の記述方法です。以下を参照してください。

RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://example.com/$1 [L,R=301]

「htaccess」はリダイレクトを設定する際に一般的に用いられる方法ですが、サーバーによっては使用できないケースもあり注意が必要です。実装前に、サーバー会社に十分に確認しておきましょう。

URL変更の際は必ず301リダイレクトの設定を

301リダイレクトはユーザービリティのためだけでなく、SEO対策においても非常に重要な設定です。サイトを移転したり、構成を見直したりした場合は、必ずリダイレクトの設定を行っておきましょう。