URLを正規化する方法のひとつ、301リダイレクトの設定方法を、ページ単体/ディレクトリごと/サイト全体など、よくあるパターン別に解説します。
301リダイレクトの設定方法
一般的なレンタルサーバーでWebサイトを運営しているのであれば、.htaccessファイルで301リダイレクトの転送設定を行います。
.htaccessファイルが利用できるかは、レンタルサーバーのヘルプページで確認してください。
トップページと同じ階層に.htaccessファイルを作って以下のように記述します。
特定のページのみリダイレクトさせたい場合
Redirect 301 /blog/ http://hogehoge.com/blog2/
上記の例は「/blog/」へのアクセスを「http://hogehoge.com/blog2/」へリダイレクトします。
リダイレクト元とリダイレクト先が別ドメインでも問題なく機能します。
これはリダイレクト元のページと、リダイレクト先のページが1対1で対応するシンプルな記述方法です。
数本のURLのリダイレクトであればこの方法でもいいのですが、数百・数千ページを一度に設定する時には不向きです。
特定のディレクトリ配下のページのみリダイレクトさせたい場合
あるディレクトリ配下のすべてのページを、別のディレクトリ配下にリダイレクトするなど、ルールに従ってリダイレクトしたい時は、以下の記述方法で設定しましょう。
RewriteEngine on
RewriteRule ^hogehoge_1(.*)$ /hogehoge_2$1 [R=301,L]
hogehoge_1ディレクトリへのアクセスをhogehoge_2ディレクトリにリダイレクトする設定です。
hogehoge_1の箇所をリダイレクト元のディレクトリ名、hogehoge_2の箇所をリダイレクト先のディレクトリ名に変更します。
Webサイト全体を別のドメインにリダイレクトさせたい場合
別のドメインにWebサイトを移転する場合は、以下のように記述します。新旧のWebサイトでURLの命名ルールが同じであることが条件です。
RewriteEngine On
RewriteCond %{http_host} ^old-domain.com
RewriteRule ^(.*) http://new-domein.com/$1 [R=301,L]
「old-domain.com」へのアクセスが「new-domein.com」にリダイレクトされます。
仮に「old-domain.com/page1/」というURLがあった場合「new-domain.com/page1/」にリダイレクトされます。
301リダイレクトのSEO効果
301リダイレクトは、転送元のページが持っているページランクなどの評価を転送先のページに引き継ぎます。
コンテンツがまったく変わっていないのであれば検索順位もほぼ同じ順位になるはずです。
301リダイレクトの他にもページを転送する方法はいくつかありますが、Googleはページ移転・サイト移転には301リダイレクトを使用することを推奨しています。
もし301リダイレクトが使えない環境であれば、JavaScriptによるリダイレクトを使用することもできます。
また転送先の新しいURLをGoogleにより早く認識してもらうためにはsitemap.xmlが有効です。転送先のURLをsitemap.xmlに追加して、転送元のURLはsitemap.xmlから消しておきましょう。
301リダイレクトを使う場面
リダイレクト元のページが不要で、完全に一つのURLに統合をする場面で使います。
- ページが別のページに移転したとき(Webサイトの移転含む)
- www有り無しのURLや、index.html有り無しのURLを一つのURLに統合するとき(URLの正規化)
- コンテンツマーケティングを行っているWebサイトで、似たような記事が多数あるとき
301リダイレクトとは?
「リダイレクト」とはあるページにアクセスしたユーザーを自動的に別のページに転送する仕組みです。
「301」とはサーバーから返されるステータスコードと呼ばれるもので、「恒久的(永続的)な移転」という意味を持っています。
つまり301リダイレクトとは、「永続的な移転という意味を持ち、設定をした別のページに自動的に転送する仕組み」です。
また301リダイレクトを使用したときは、検索結果のURL欄に「リダイレクト先」のURLが表示され、302リダイレクトを使用すると「リダイレクト元」のURLが表示されます。