コラム一覧へ

2014年12月アーカイブ

サイトをリニューアルするとき、どのような手法をとっているでしょうか。

何も対処せずにWebページのURLが変更されると、せっかくGoogleやYahooなどの検索エンジンの登録やユーザーにブックマークされた内容が無駄になってしまいます。

そんなときサーバーに設定すべきなのが、301リダイレクトです。301リダイレクトとは、RFCで定義されたHTTPステータスコードの1つで"Moved Permanently"、つまりWebページの永続的な移動を意味します。

301.png

301リダイレクトは、サーバーがブラウザに返すステータスです。ブラウザはサーバーから301リダイレクトの結果を受け取ると、自動的にその結果に含まれるURLへアクセスします。

GoogleやYahooの検索エンジンも同じ動きをするようです。保証されている訳ではありませんが、この仕掛けでSEO効果もほぼ引き継がれるはずです。実際にGoogleもURLの変更時は301リダイレクトの使用を勧めています。

設定は簡単です。サーバーでApacheを使っている場合は、ドキュメントルートに.htaccessのテキストファイルを配置します。.htaccessには、1ファイルの移転に対して1行ずつ記述します。例えば次のような具合です。

redirect 301 /cfplus/security/ http://www.cmpd.jp/apps/point.html

空白で区切られた3つめのワードが移転元のWebページ。http://ドメイン名/を除いたものを記述します。4つ目のワードが移転先のWebページ。ドメインは違ってもかまいません。

上記は実際に登録されています。次のリンクにアクセスしてみてください。すぐにブラウザのURL表示がwww.cmpd.jpのドメイン下のURLに書き換わることが確認できます。

http://www.componentdesign.co.jp/cfplus/security/

上記は見えているとおりのURLにアクセスするリンクですが、サーバーが301リダイレクトを返します。最終的にブラウザに表示されるURLはhttp://www.cmpd.jp/apps/point.htmlです。

ディレクトリを指定した場合は、その下の全てのディレクトリ・ファイルが移転扱いになります。移転先は.htaccessの上から下に向かってサーチが行われ、該当の行が見つかったところで決定扱いになりますので、ディレクトリ内で例外がある場合は例外を先に記述することで上手く機能します。

ドメインごと移転する場合で、同一サーバーに仮想ドメインが含まれる場合は注意が必要です。
例えば、弊社のwww.componentdesign.co.jpのドメインは、リニューアルに伴いwww.cmpd.jpに移転したのですが、このとき次のような設定を行うと、同一サーバーに含まれる仮想ドメインも移転した扱いになってしまいます。

redirect 301 / http://www.cmpd.jp/

これを防ぐには、RewriteCond、RewriteRuleを記述し、リクエストにドメインが指定されていることを条件に指定します。例えば次のように記述します。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.componentdesign\.co\.jp$
RewriteRule ^$ http://www.cmpd.jp/ [R=301,L]

ホームページ等のサイトをリニューアルするときは是非この301リダイレクトを設定してください。ページ数が多いと作業は大変ですが、1ページあたりのSEO効果やユーザーのブックマークは長期間に渡って築いたものですので、設定すべき作業であることが理解できるかと思います。


« 2014年4月 | メインページ | 2015年3月 »

お問い合わせ

システムやアプリの開発のご相談、サービスに関するご質問など、どのようなことでもお気軽にお問い合わせください。