SEO

サイト移転に必須!!301リダイレクトの為の.htaccess書き方5選

サイト移転に必須!!リダイレクトのための.htacces書き方5選

WEBサイトの引越しの際、忘れてはいけないのが
旧サイトから新サイトへのリダイレクト設定。

旧サイトへアクセスしたら、自動的に新サイトに飛ばしてくれるアレですね。
今回は、リダイレクト設定を行うメリットや実際に使える
htaccessの書き方についてご紹介いたします。

目次
1.WEBサイトの引越しでリダイレクトをする理由
2. 301リダイレクト設定はhtaccessで
3. よく使う301リダイレクト書き方5選
4. 参考URL


WEBサイトの引越しでリダイレクトをする理由

通常WEBサイトを引越しした場合には、旧サイト側に301リダイレクトと呼ばれる
恒久的な転送を意味するリダイレクトの設定を行います。

ですが、何故301リダイレクトの設定する必要があるのでしょうか
理由は大きく分けて2つ。

1.訪問ユーザ対策
リダイレクトをする理由1:訪問ユーザ対策
WEBサイトを引越ししてすぐの期間は、検索エンジンを利用すると
旧サイトが検索結果に表示されます。

その旧サイトに、転送設定がされていなければ当然 新サイトに辿りつけないですよね。

また、検索エンジンを利用しない場合もお気に入りブックマークから旧サイトに訪問しようとしても
新サイトにはたどりつけませんから、常連ユーザにとっても、 不便を強いれることになります。

301リダイレクト設定を行っていると、
このようなユーザに対する不便を解消することが可能となります。

2.検索エンジン対策
リダイレクトをする理由1:検索エンジン対策
新サイトを公開したとしても、
検索エンジンはすぐにインデックスを開始してくれるわけではありません。

また、旧サイトで獲得していた検索エンジンからの評価(被リンクやPageRankなど)も
新サイトには引き継がれていないため、旧サイトは上位表示されていた検索ワードでも、新サイトではなかなか上位表示できない可能性があります。

この場合においても、301リダイレクト設定を行うことで
検索エンジンが、旧サイトの評価を新サイトに引き継ぐことが可能となり
検索からのユーザ流入の減少を抑えることができるのです。

 

 

ということで、301リダイレクトをきちんと設定していないと、
ユーザにとってはとんでもなく不便な上に、SEO的にも大問題!

さくっと設定してしまいましょう!


301リダイレクト設定はhtaccessで

301リダイレクトを設定するには、.htaccessというファイルに
内容を記述する必要があります。

.htaccessとは
.htaccessとは、 Webサーバーをディレクトリ単位で制御するためのファイルで、 リダイレクトやBASIC認証、404エラーページの作成を行えます。
[参考URL] https://www.seohacks.net/basic/terms/htaccess/

ほかにも、IPアドレス単位でアクセスを遮断することができたり
デバイスによって表示させるページを振り分けることも可能。

本当に便利なので、こちらについてもまた別の機会に記事にできればいいなと思っています。

ということで、よく使う.htaccessの書き方をご紹介。


よく使う301リダイレクト書き方5選

1.全て新サイトのTOPへリダイレクト(非推奨)

リダイレクトの書き方1

RewriteEngine On
RewriteRule ^(.*)$ https://www.new.com/

 

これはちょっと乱暴な方法。
サイトを見に来たユーザは、どの旧ページにアクセスしても
全て新サイトのトップに飛ばされてしまいますね。

実際、最近国税庁のサイトリニューアルがあった際
リンクしていたページを見ようとしたらすべてTOPページに
飛ばされる問題が発生して阿鼻驚嘆の嵐でした。

国税庁Webサイトに関するニュース記事

この設定をした場合、旧サイトの該当ページに対する検索エンジンからの評価を
新サイトの同じページに渡すことができませんので、SEO的にもあまり意味がありません。
どうしても設定したい場合は構いませんが、FASTCODINGではオススメしません。

SEO対策をしっかり行いたい皆さまは
以降の方法を参考にしてみてください。

2.新サイトと旧サイトのディレクトリ構成がまったく同じ場合

リダイレクトの書き方2

Redirect permanent / https://new.com/

 

旧サイトと新サイトの違いはドメインだけ。
そのほか構成などはすべて同じの場合はこの設定で十分。

ですが、大抵サイトを引越しする場合はディレクトリ構成や
使用するパラメータなど微妙に変わってくる場合は多いはず。

その場合は以降の設定が参考になると思います。

3.旧サイトの特定のページを新サイトの特定のページへ

リダイレクトの書き方3

例)
旧サイト:https://old.com/old.html
新サイト:https://new.com/dir/new.html

RewriteEngine On
RewriteRule  old.html$ http://new.com/dir/new.html [R=301,L]

新旧サイトのディレクトリ構成に規則性がない場合や
イレギュラーなページの場合は、このように1ページ毎にのリダイレクト設定を
記述していきます。

4.正規表現を使ってディレクトリ構成の変更

リダイレクトの書き方

例)
旧サイト:https://old.com/dir/180520/test.html
新サイト:https://new.com/dir/18/0520/test.html

RewriteEngine On
RewriteRule ^dir/([0-9]{2})([0-9]{4})/(.*)$ https://new.com//$1/$2/$3? [R=301,L]

この例では、新サイトのディレクトリを日付でさらに細かく分けていきます。
このように、ある程度の規則性があるディレクトリの再構成には正規表現で対応することができます。

5.クエリパラメータの値をディレクトリ構成に変更

リダイレクトの書き方5

例)
旧サイト:https://old.com/dir/search.php?date=xxxx
新サイト:https://new.com/dir/xxxx/

RewriteEngine On
RewriteCond %{QUERY_STRING} date=(.*)$
RewriteRule ^dir/search.php$ https://new.com/dir/%1/? [R=301,L]

パラメータを利用してリダイレクトを行う場合は
4の例のようにRewriteRule上に正規表現を記述しても動いてくれません。

この場合はRewriteCondでパラメータ用に正規表現を書くことで対応します。


参考URL

いかがでしたでしょうか。
今回は5つの書き方をご紹介しましたが、これ以外にも301リダイレクトの際には
様々な書き方をすることができます。

該当サイトの構成に合わせた設定を心がけてくださいね。

最後に.htaccessのリダイレクト設定について参考になるサイトをご紹介いたしますので
お役立てくださいませ。