ウェブサイトを構築する仕事には、
サイト内のページの追加や削除、移動、サイトの移転などの際に、
サイトを閲覧するユーザーが戸惑わないようにするための
「リダイレクト」という処理を行うことがあります。
このリダイレクトという処理ですが、ちょっと用法を間違えただけで
Google などの検索エンジンに検索対象から外されるなど、
SEO 的なペナルティを受けかねません。
そこで本日は、
- リダイレクトとは何か
- リダイレクトの種類と実現方法
についてお話しさせていただきます。
目次
本コンテンツの対象となる方
- リダイレクトとは何かを知りたい方
- リダイレクトによる SEO 対策への影響を知りたい方
リダイレクトとは
ウェブサイトの構築や運営の仕事をしていると、
ページの追加や削除、移動、
そしてサイトそのものの移転を請け負うことがあります。
その際、閲覧するユーザーに対して
古いページから新しいページへ変わったことをお知らせする
転送処理を行うのがユーザーフレンドリーと言えますが、
この転送処理のことをウェブの世界では「リダイレクト」と呼びます。
ここで注意いただきたいのは
リダイレクトには種類と実現方法がいくつかある点で、
やり方を間違えると転送元と転送先でコンテンツが重複するという
いわゆるミラーサイトという扱いになって、
検索順位が下がるなどの Google のペナルティを
受けることになりかねないと言うことです。
リダイレクトの方法
リダイレクトの方法には、次の3つがあります。
- HTML や JavaScript などのクライアント側で実現する方法
- PHP などのサーバー側のプログラムで実装する方法
- Apache などのウェブサーバー側で設定する方法
今回は、この中の注意すべき方法についてのみ説明をいたします。
◎HTML の meta タグによるリダイレクト
もっとも汎用的に使えるリダイレクトの方法と言えば
HTML の head タグ内の meta タグに記述する方法です。
次の様な書式で簡単に表現することができます。
<meta http-equiv="refresh" content="<移動するまでの秒数>;URL=<移動先の URL>">
サーバー環境に依存せずに使えて
プログラミングなどの知識も不要なことから、
初心者向けとしてよく紹介されている方法です。
ただし、仮にこの方法を
サイトの移転時に使うとなると問題が発生します。
問題とは、前のドメインの情報が新しいドメインに引き継がれないことです。
情報が新しいドメインに引き継がれないと言うことは
Google などの検索エンジンにとって別のサイト扱い
つまりミラーサイトとしての扱いになります。
通常、サイトの移転であれば、
前のドメインで持っていた検索順位などの情報を引き継ぎたいと思います。
しかし、他になんの対策もせずに meta タグでサイトの移転を行ってしまうと、
せっかくの古いドメインで培ったウェブサイトの信用がリセットされてしまい、
一気に検索順位が落ちてしまったりするのです。
まとめると、meta タグによるサイトの移転は
「検索エンジンにとってのサイトの移転ではない」ことであり、
内容が被っているサイトが2つあるという
とても SEO 的に悪い状態を作り出してしまうということです。
◎サーバー設定ファイル(.htaccess など)によるリダイレクト
ほとんどすべてのウェブサーバーでは、
管理するウェブサイトの細かい動作を指定するための
設定ファイルが存在します。
レンタルサーバーの多くで採用している
オープンソースのウェブサーバーである Apache でも、
「.htaccess」設定ファイルが存在します。
この設定ファイルを使うことで
meta タグよりもリダイレクトの細かい動作を制御することができます。
最低限知っていただきたいのは次の2つのリダイレクトです。
○301リダイレクト
301 リダイレクトは、サイトの「恒久的な移動」を意味します。
つまり、完全にサイトやページが移動した、ということを表します。
これを使うメリットで一番大きいのは
サイトが移転したことを正確に検索エンジンに伝えられることで、
それまでに培った検索エンジンからの評価を引き継げるということです。
使い方も難しくはなく、
リライト機能を指定した .htaccess を作成して
サーバーにアップロードするだけです。
次のコードは、さきほど meta タグで記述したものと
同じリダイレクト内容を .htaccess で記述した例です。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^<移転する URL>$ <移転先の URL> [R=301,L]
</IfModule>
この例では、1つのファイルを別の URL に移転にするように書いていますが、
1つの .htaccess ファイルでウェブサイト全体の移転を設定することも可能です。
他にも、基本的にはサイトの移転だが一部のコンテンツだけは残す、
といったケースにも対応できます。
ただし、世の中のレンタルサーバーの中には
このようなサーバーの設定を受け付けないように
構成しているところもありますので、ご注意ください。
※他にも方法はありますが、ここでは省略
○302リダイレクト
302 リダイレクトは、サイトの「一時的な移動」を意味します。
301 リダイレクトと違い、
古いサイトの情報が新しいサイトに引き継がれません。
この点だけ見ると meta タグによる動きと変わらないように見えますが、
実は検索エンジンに「一時的な移動」であることが伝わっているため、
ミラーサイト扱いにならないという大きな違いがあります。
そして検索エンジンのインデックスは古いサイトに対してのみ行われます。
使い方も簡単で、次のコードの様に 301 リダイレクトとほぼ同じ記述です。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^<移転する URL>$ <移転先の URL> [R=302,L]
</IfModule>
まとめると、
- サーバーのメンテナンスなどの一時的なリダイレクトであれば 302 リダイレクトを用い、
- ウェブサイトの移転には 301 リダイレクトを使うべき、
ということです。
Google に好かれるためには
現在の Google は、とにかくミラーサイトの存在を嫌っているようです。
ミラーサイトとしてのペナルティを受けた場合、
検索順位が下がるだけならまだしも
最悪の場合は検索対象から外されることすらあります。
ですので、リダイレクトする理由に沿った
リダイレクトの方法を取ることが重要と言うことです。
具体的には、
- metaタグによるリダイレクトは同じドメイン内のページの移動・削除時の利用に留めておき
- サイトの移転を行う際には 301 リダイレクトを
- サーバーのメンテナンスなどの一時的なものであれば 302 リダイレクトを
利用するようにしましょう。
まとめ
リダイレクトには、検索順位やページランクへの影響、
ドメインエイジの喪失などのリスクが伴います。
ドメインの変更などの際には正しいリダイレクトを設定し、
ドメインやサイトの信用をきちんと検索エンジンに伝えて
ユーザーに有益なコンテンツを提供していきましょう。
その他、IT 関連の疑問があれば、お気軽にご相談ください。
※Excel や Word などのソフトの疑問などでも大丈夫ですよ!