WEB系キャンパス

(K)サイトリニューアルした時に設定する.htaccessの記述まとめ

redirect_301_top

あるサイトのリニューアル案件で、サイト(ドメイン)にそれなりに歴史がある場合、「リニューアル作業完了しました!」となっても、キチンと古いページを見えなくして、新しいページを表示させないとまだ「古いページが表示されている」という問い合わせが来ます。

ちょっと待ってれば、更新頻度の高い新しいサイトに入れ替わるんでしょうが、サイトをリニューアルした事をGoogleに伝えなければいけません。その時に「.htaccess」に設定した記述を今回は備忘録。

301リダイレクトの.htaccessの記述の記述方法

例えば、古いサイトのお問い合わせページのURLが「http://hoge.com/contact.html」で仮に新しいサイトをWordpressで組んだ時にお問い合わせページのURLが「http://hoge.com/contact」となるとします。

ですが、Google検索結果には当然古い歴史のあるURLを優先的に表示させます。
リニューアル前の過去のサイトは、「コレは古いサイトなんで、コッチが新しいサイトですよ」ってGoogleに伝える必要があります、その時に使うのが301リダイレクトです。

「.htaccess」のファイルは前にピリオドがついているため、不可視ファイルとなっているので・・・
ローカル内で作業する場合ならPCの設定で不可視ファイルを見えるように。
FTPソフト内ならアプリ内で不可視ファイルが見える設定にする必要があります。

【1】サイトのドメイン自体が変更される場合

旧サイトからドメイン変更でマルっとURLが変わっちゃう場合は以下の記述えを使います。

上記は「http://hoge.com」の場合

RewriteEngine on
RewriteRule (.*) http://hoge.com/$1 [R=301,L]

特定のディレクトリを別の新サイトURLへリダイレクトかける場合は以下の記述

旧サイト:http://hoge.com/old
新サイト:http://hogehoge.com/

RewriteEngine On
RewriteRule ^old(.*)$ http://hogehoge.com/$1 [R=301,L]

【2】ページ(個別)にリダイレクトをかける場合

旧ページがページ数が10〜20の簡単な場合はこの記述で十分かと思います。「hoge.com」でGoogle検索して、表示されてるページを全部リダイレクトかけちゃえばOKです。

RewriteRule ^contact.html$ http://hoge.com/contact.html[R=301,L]

あと、シンプルにこんな書き方もあるようです。

Redirect 301 contact.html http://hoge.com/contact.html

【3】ディレクトリ(階層)にリダイレクトをかける場合

public_html内のディレクトリ階層が変わった場合の話。
例えば、「http://hoge.com/old/」が「http://hoge.com/new/」と変更した場合の記述方法は以下

Redirect permanent /old/ http://hoge.com/new/

【4】WWWありとなしを統一させたい場合

wwwありなしは、人からするとあんまり関係ないんですが、Googleからすると、別のページと認識されるそうで、重複コンテンツ扱いを受けて、順位が下る場合があります。設定しておくに越したことはありません。

【WWWありの場合】

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^hoge\.com$
RewriteRule ^(.*)$ http://www.hoge.com/$1 [R=301,L]

【WWWなしの場合】

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.hoge\.com$
RewriteRule ^(.*)$ http://hoge.com/$1 [R=301,L]

記述の気にするところは、ドメインのピリオドの前にバックスラッシュ(\)がつくことですかね?

まとめ

最近プログラマーさんとのタッグを組んだ仕事もありますが、一人でサイト構築までやらせていただける案件も増えてきたので、最終チェックとして、キチンと把握して設定しときたいもんです。

せっかくサイトリニューアルしても、古いページばかり表示されてたら、何のためにリニューアルしたのか訳わかりませんので・・・。今回は以上ですm(_ _)m

Comment Form