URLを変更しサイトを移行する場合、何もSEO対策を行わないとユーザービリティを損失するだけでなく、検索エンジンの評価も大きく下がってしまいます。
そこで重要になるのがユーザーを新しいページへ適切に移動させ、サイト情報や検索評価を移動先のサイトへ転送させる「301リダイレクト」という設定です。
今回は.htaccessによるリダイレクト設定について詳しくご紹介します。
リダイレクトについてのより詳しい解説や、.htaccess以外の方法によるリダイレクト設定については以下の記事をご覧ください。
リダイレクトとは?リダイレクトの種類と設定方法
リダイレクトの目的
サイトを運営しているとURLを変更してページを移行しなければならないことがあります。この場合、元のページで得られていた検索評価をそのまま新しいページに引き継ぐための設定を行いますが、それを「301リダイレクト」と呼んでいます。
301リダイレクトをしなければ、元のページが持っていた検索評価を継続することは難しくなります。そのためSEO対策という点で決して無視できない設定なのです。
301リダイレクトを設定することによって、ユーザーを新しいページに正常に移動させるだけでなく、検索エンジンに新規のページを認識させることができます。ユーザーと検索エンジンに新規のページを認識させるための「保証」が301ダイレクトといえるでしょう。
.htaccessで301リダイレクトの設定方法
301リダイレクトの設定はGoogleが推奨している「.htaccessファイル」を使って行います。.htaccessを使えるかどうかはサーバー環境によって制限があるものの、使えるサーバーにおいては広く使われている方法です。
最初にテキストエディタを使って任意の名前でテキストファイルを作成します。Windowsでは”.”から始まるファイルが作成できないためです。次にサイトの変更および移行の形に合わせてタグを追加・修正してからファイル名を「.htaccess」に変えて保存する手順です。
以下にいくつかの例を示します。
old.htmlからnew.htmlへのリダイレクト
RewriteEngine on
RewriteRule ^old.html$ http://www.sample.com/new.html [L,R=301]
wwwありからwwwなしへのリダイレクト
RewriteEngine on
RewriteCond %{ HTTP_HOST} ^sample\.com
RewriteRule ^(.*)$ http://www.sample.com/$1 [R=301,L]
httpからhttpsへのリダイレクト
RewriteEngine on
RewriteCond %{ HTTPS} off
RewriteRule ^(.*)$ https://%{ HTTP_HOST}%{REQUEST_URI} [L,R=301]
httpsからhttpへのリダイレクト
RewriteEngine on
RewriteCond %{ HTTPS} on
RewriteRule ^(.*)$ http://%{ HTTP_HOST}%{REQUEST_URI} [L,R=301]
また、Redirect permanentを指定したリダイレクトの方法もあります。
新ドメインへのリダイレクト
Redirect permanent / http://sample.com/
このように様々な移行のケースに対応し301リダイレクトの記述を行っていきます。記述を行った.htaccessファイルは保存したのちにWeb上にアップロードします。アップロードして初めてリダイレクトは適用されるのです。
301リダイレクトの確認方法
確認には実際にブラウザからアクセスをすることで行うこともできますが、301リダイレクトが正常に動作しているかどうかを確認するためには専用のツールを利用することもできます。近年は「リダイレクトチェックツール」「リダイレクトチェッカー」などフリーのツールが公開されています。
http://ohotuku.jp/redirect_checker/ 「リダイレクトチェックツール」
http://tool.mface.jp/redirects/ 「リダイレクトチェッカー」
301リダイレクトの注意事項
301リダイレクトを設定する際の注意事項をいくつか説明していきます。
302リダイレクトはおすすめしない
301リダイレクトは「恒久的なリダイレクト」ですが、302リダイレクトは「一時的なリダイレクト」です。検索エンジンももともとこうした認識でページ移転を判断していたため、301を使うとよいでしょう。(現在は認識が多少異なるものの、やはり301リダイレクトを行うことがおすすめです)
htaccessファイルが使用できるサーバーであること
301リダイレクトを設定したくても.htaccessファイルが使えるサーバー環境でなければ無理です。自分が利用しているサーバー環境を事前にチェックしておきましょう。
301リダイレクトは解除してはいけない
一度301リダイレクトを設定し、検索エンジンに認識されるようになっても301リダイレクトを解除してはいけません。301リダイレクトを解除すると「恒久的な転送」という認識が検索エンジン側で途切れてしまいます。こうなると、前ページと新ページの関係性は消え、いずれも独立したページとして認識されてしまうことになるのです。
前ページの情報を新規のページに引き継ぎたい場合は、サーバー上に.htaccessファイルを置き続けて301リダイレクトを維持する必要があります。
リダイレクトが認識されるまでの期間
301リダイレクトの設定をしてから検索エンジンに正しく認識・評価されるまでの期間はクロールの頻度にもよりますが大体数日~数週間です。ページ数が多いほど、クロール頻度が低いほどこの期間は長くなります。設定してすぐに評価されるということはないので注意しましょう。
サイトを運営しているとリダイレクト問題はいつ起こってもおかしくありません。301リダイレクトによって適切な設定を行わないと、それまで獲得してきたユーザーや検索評価を一気に失う可能性があります。
SEO対策においてはユーザーの動きだけでなく、検索エンジンの評価を維持することが重要です。サイトの移行問題が発生する前に301リダイレクトの正しい知識を学んでおきましょう。