SEOにも影響を与える?リダイレクトの種類と正しい使い分け方法とは

SEO

Webサイトを更新・改善していく中で、もともとあったページを削除したり、URLを変更したりすることもあるかと思います。そんな時に役立つのがリダイレクトですが、設定方法によってはSEOに影響を及ぼすなんて話を聞いたことはありませんか? ここでは、リダイレクトの種類やその設定方法、またSEOに及ぼす影響についてまとめました。

URLを変更した場合は必ずリダイレクトの設定を

リダイレクトとはホームページ関連の用語で、あるページを訪れたユーザーを別のページに転送する処理のこと。HTTPリダイレクトまたはURLリダイレクトと呼ばれることもあります。一般的にはURLの変更やページの削除など、もともと存在していたページがなくなった場合にユーザーを正しいページへ誘導する目的で使われます。

リダイレクトを設定する場合、該当のページにアクセスがあったらすぐに転送する場合と、該当ページが移転(または削除)したことを案内してから転送する場合の2通りがあります。

前者のすぐに転送する場合は、待ち時間もなくユーザー側にストレスがかからないメリットがありますが、そもそもリダイレクトされていることに気付きにくいため一定期間が経過してリダイレクトの設定をやめてしまえば、アクセスできなくなるというデメリットがあります。特に被リンクやブックマークからの流入が多い場合は注意しておく必要があります。
後者の該当ページが移転(または削除)したことを伝える場合は、ユーザーを待たせることになりますが、もともとのページがすでにないことを告知することが可能です。

そのため、サイト構成を見直しているなど一時的なリダイレクトの場合は前者の即時転送を使用し、移転など恒久的なリダイレクトの場合は案内してから転送するようにするのが一般的です。それぞれメリット・デメリットがあるので使い分けるといいでしょう。

リダイレクトは2種類、どう使い分ける?

リダイレクトには「301リダイレクト」と「302リダイレクト」の2種類があります。いずれもユーザーを転送する処理であることに変わりはありませんが、その機能や使われる場面が異なります。それぞれどのように使い分けすればいいのか、まとめてみました。

301リダイレクト

301リダイレクトは、URLを恒久的に変更する際に使われるリダイレクトです。通常、何も処理をせずURLを変更してしまうと、旧URLで獲得してきたSEOの評価はそのまま消去されてしまいます。これまで増やしてきた訪問者数や被リンクなどの情報は旧URL側に残ってしまい、新URLではまた一から評価を獲得していく必要があります。こうなると検索順位も大幅に下がってしまい、ユーザーの流入減や離脱の原因にもなりかねません。

こうした事態にならないよう、旧URLの評価を引き継ぐために行うのが301リダイレクトです。301リダイレクトを設定していれば、URLを変更しても旧サイトの評価を引き継ぐことができるため、検索順位低下などの影響を最低限に抑えることができます。そのため、ドメイン変更やサイト構成の変更など、恒久的にURLを変更する場合に使用されます。

redirect_1.png

302リダイレクト

これに対して、URLを一時的に変更する際に使われるのが302リダイレクトです。302リダイレクトが設定されたページの場合、SEO評価は引き継がれず旧URL側に残ったままになります。そのため、サイトのメンテナンスや一定期間ページを閉じている場合など、一時的にユーザーを転送したい場合には302リダイレクトを使用するといいでしょう。

redirect_2.png

リダイレクトの設定方法

リダイレクトを設定する場合、主に「.htaccess」「php」「javaScript」の3つの方法があります。それぞれの設定方法について「old.html」から「new.html」へ移行する場合を例として見ていきましょう。

.htaccessによるリダイレクト

「.htaccess」によるリダイレクトを設定する場合は、メモ帳などのテキストアプリで「.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]

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

 

phpによるリダイレクト

phpの場合は、header関数を利用してLocationを指定することでリダイレクト処理を行います。ログインしていないユーザーをログインページに誘導するなど、条件分岐が複雑な場合に用いられます。

phpによるリダイレクトを設定する場合の記述(「new.php」への移行)

redirect_3.png 

javaScriptによるリダイレクト

サーバーの都合によりHTTPによるリダイレクトが設定できない場合、javaScriptを用いる方法があります。ただ、ユーザー側がブラウザの設定でjavaScriptを無効にしている場合はリダイレクトできないことに注意が必要です。
また、javaScriptを実行させるためにはページを移転したあとも旧ページを残しておく必要があります。そのため、同一コンテンツが複数存在することによるペナルティの対象になる可能性もあり、必ずしもおすすめできる方法ではありません。

また、分析面でもデメリットが存在します。javaScriptによるリダイレクトによって、本当は自然検索でページAに流入していたはずなのに、ページAからページBにリダイレクトすることで、その流入がリファラル扱いになってしまうのです。

サーバーの都合で「htaccess」が使用できない場合は便利な代替方法ですが、実装前にはデメリットをしっかりと認識しておく必要があります。

javaScriptによるリダイレクトを設定する場合の記述(「new.html」へ移行)

redirect_4.png

リダイレクトはSEOに影響を与える?

「リダイレクトはSEO評価に悪影響を与える」——マーケターのみなさんの中には、こんな話を聞いたことがある人もいるかもしれません。本来SEO評価を引き継ぐために設定するリダイレクトが、悪影響を与えるとなれば本末転倒ですが、実際のところはどうなのでしょうか。

実は以前は、スパム行為を防ぐためにリダイレクトされたページはSEO評価が失われてしまう仕様になっていたこともありました。検索順位の高いページをリダイレクトすることで内容をまるごとすり替え、他のWebサイトの流入に利用するという手口が横行したため、リダイレクトされたページの検索順位は削除されていたのです。

しかし、最近では検索エンジンの精度が向上し、こうした不正なリダイレクトを検知・排除することができるようになりました。その結果、現在はリダイレクトによってSEO評価がゼロになることはなく、検索順位に大きな影響を与えることもなくなっています。そのため、評価を引き継ぎたい場合は「301リダイレクト」を、そうでない場合は「302リダイレクト」を、それぞれ状況によって使い分けすれば問題はないとされています。

リダイレクトは設定方法を間違えないよう注意が必要

リダイレクトすること自体はSEOに影響を与えることはありません。しかし、その設定方法を間違えるとせっかく獲得してきた評価を失ったり悪影響を与える場合もあります。そんなことにならないよう、正しい知識をもとにサイトを運営していきましょう。