SEOにも重要なサイト移転後のリダイレクトについて

ホームページのリニューアルや引越しをした後、『リダイレクト処理』はしていますか?

適切な方法でリダイレクト処理をしないと、どんなに情報を発信していても閲覧者に届かなくなってしまうかもしれません。
SEOの観点から言うとリニューアル前に受けていた評価をすべて無駄にしてしまうばかりか、新しいページがコピーコンテンツとして扱われて評価を下げられてしまい、多くの人に情報を届けられなくなってしまうのです。

ユーザビリティにもSEOにも非常に重要な『リダイレクト』。そもそもどうすればできるのか、htaccessを使えない場合はどうするのか、簡単に説明させていただきたいと思います。

 

SEOにおけるリダイレクトの重要性

SEOを意識するにあたって、リダイレクトが重要になる場面は、ホームページの全部、または一部のURLが変更されたときです。

検索エンジンはフォルダやファイルの構成が全く同じだとしてもドメイン名が違うと別のサイトだと認識します。「ブログを引っ越すぞ!」と思って、新しいアカウントを取得したり、別のドメインを使い始めたりすると、内容が全く同じであってもURLが違うので別のサイトとして扱われます。そうなると、これまで検索エンジンから受けていた評価が失われ無駄になってしまうのです。
SEO対策していて上位表示されていたとしても、また同じ順位に上がるまで時間がかかるか、上がらない可能性も高くなります

『.com』から『.co.jp』に変えたり、店舗名変更に伴うドメイン変更、あるいは利用しているブログサービスを変えたりなど、URLが変わってしまう場面は少なくないと思います。
引越ししたことを検索エンジンに伝えることができれば、評価がすべて無駄になることを防げます。そのために、適切な設定をしたリダイレクト処理が必要になるのです。

繰り返しになりますが、引越し前のブログやホームページをそのままにしていると、新しく作ったページの方はコピーページだと認識される可能性もあります。意図しないマイナス評価を防ぐ意味でも、リダイレクト処理は必要なのです。

 

どのようにリダイレクトさせるのか

サーバー側で実行する方法、クライアント(閲覧者のブラウザ)側で実行する方法があるので、環境に応じて出来る方をお選びください。

可能であれば、サーバー側で実行するのがベストです。

 

サーバー側で実行するリダイレクト – htaccessを使う方法 –

httpステータスコードの『301』を返した上でリダイレクトをされるように設定することがSEOには重要で、Apacheサーバーを利用しているのであればhtaccessを使って制御することで実現可能になります。

httpステータスコードについての詳細は割愛しますが、サーバーへの接続状態を数字で示していると考えて頂ければほとんど間違いありません。例えば正常に接続された場合は200が返ります。

301は「恒久的に移動した」ことを意味していて、ページを引っ越したことを検索エンジンに伝える役割があります。
※『301』似たものに『302』というステータスコードがありますが、これは、「一時的な移動」を意味しています。

検索エンジンは、ページにアクセスしたときにステータス301が返ってくると、移転したと認識し、評価のほとんどを、移転先に移すとされています。

mod_aliasモジュールのRedirectディレクティブを使う方法、もしくはmod_rewriteモジュールを使う方法が一般的です。

 

Redirectディレクティブを使う

『Redirectディレクティブ』とは、mod_aliasというApacheのモジュール(機能)の一つで、指定のページアクセスがあった際に別のページにリダイレクトさせることができます。

htaccessファイルに次のように記載すれば実行可能です。


  Redirect 301 / https://gmo-sol.jp/

上記は、サイトへのアクセスがあったら、https://gmo-sol.jp/にリダイレクトさせる際の記述例です。フォルダやファイルの構成は同じでドメインだけが変わったという場合は、これだけで十分な場合がほとんどです。

 

mod_rewriteモジュールを使う場合


  RewriteEngine On
  RewriteRule / https://gmo-sol.jp/ [R=301,L]
  RewriteEngine Off

例は単純な処理ですが、Apacheのmod_rewriteモジュールを使えば、HTTP環境変数を使って処理を切り替えるなど、複雑なリダイレクトが可能になります。
詳細は割愛させていただきますが、閲覧者の接続状況(使用しているブラウザ、直前に開いていたページなど)に応じて、処理方法を切り替えることが可能です。

 

クライアント側で実行するリダイレクト – metaタグを使う&JavaScriptを使う方法 –

可能な限りhtaccessを使う方が良いのですが、使えない場合、JacaScriptを使うか、もしくはHTMLのmetaタグを使うことでリダイレクト処理できます。
閲覧者に移転した旨を伝えられるのですが、検索エンジンには伝えられないことが難点です。

 

JavaScriptを使う方法

次のように記述して、headタグ内、もしくはbodyタグ内のどこかに追加することでリダイレクト処理がなされます。


<script type=!text/javascript">
  (function(){
    window.location.href = 'https://gmo-sol.jp’;
  })();
</script>

上記は『https://gmo-sol.jp』にリダイレクトさせる例です。
JavaScriptで記述する場合は移転先URLを「'(シングルクォーテーション)」で囲む必要がある点にご注意ください。

 

metaタグを使う方法

htaccessも使えず、お使いのサービスの仕様によってJavaScriptも使えないという場合に使う方法です。


<meta name="refresh" content="0; https://gmo-sol.jp/">

content=”0; https://gmo-sol.jp/”がリダイレクトに関する情報です。

『0』がページが読み込まれてリダイレクトされるまで待機する秒数、
『https://gmo-sol.jp/』はリダイレクト先のURLです。

ただ、この方法はW3Cという、HTMLの仕様を作成している団体や、Googleが使わないようにと勧告しているのでオススメしません。
方法が他に無いという場合を除いて使わない方が良いと考えます。

なんらかのサービスを利用しているのであれば、head要素を編集できる場合にのみ使える方法です。ただ、head要素は編集させないようにしているサービスの方が多いと思っているのですが、実際のところはどうなんでしょう…。
いずれにせよ、htaccessを使えないサーバーやブログサービスをご利用の場合は、閲覧者の利便性を考えると追加した方が良いとおもいます。

 

htaccessが使えない場合の代替案!canonical + JavaScriptリダイレクト

htaccessを使えない場合の代替案として、link要素のrel=”canonical”属性と、JavaScriptを使ったリダイレクトを併用する方法を提案します!
rel=”canonical”とは、URLの違う類似コンテンツのうち、正規ページのURLがどれかを指定する際に使うタグのことで、次のよう記述します。

 


  <link rel="canonical" href="https://gmo-sol.jp">

 

href属性の値に移転先のURLを記載し、head要素内に記載することで効果が得られます。
注意点として、検索エンジンに対して、正規ページURLの『提案』を行うもので、保証するものではありません。想定通りの結果にならない可能性があることに注意が必要です。

次の例のように、上記のタグと、JavaScriptを使ったリダイレクトを併用することで検索エンジンに正規ページのURLを伝えるとともに、閲覧者に対してリダイレクトをするという処理ができます。

 


<link rel="canonical" href="https://gmo-sol.jp">
<script type="text/javascript">
(function(){
  var ua = window.navigator.userAgent.toLowerCase(); //アクセス者の使用ブラウザ等の情報を取得
  var redirectUrl = 'https://gmo-sol.jp';//移転先URL 
  if(!ua.match(/googlebot/i)){//googlebotからのアクセスでない場合に実行
    setTimeout(function(){
      window.location.href=$redirectUrl;//リダイレクト処理
    },5000);//5秒後に実行
  }
})();
</script>

 

上記例について簡単に説明すると、1行目で正規URLを検索エンジンに伝えて、3行目~11行目でリダイレクトを実行しています。
『https://gmo-sol.jp』の箇所を書き換えることで、別のページにリダイレクトするように変更可能です。

 

まとめ

canonical + JavaScriptリダイレクトを使う方法を使って、リダイレクトさせつつインデックスページの正規化が出来た例もあるので、サーバー側で実行できない場合は有効だと考えています。

リダイレクト処理はサイト移転時、これまで検索エンジンから受けた評価を逃さないために重要です。SEOの観点から必須なものです。また、重要なことは、「301ステータスコードを付けた処理が必須」、という点です。
htaccessを使える場合は必ず使用して、検索エンジンにステータスコードを伝えるようにすることで、サイト移転による評価を下げる心配がなくなると存じます。

サイト制作者や企業のWeb担当の方の参考になれば幸いです。

すべての人にインターネット
関連サービス