2012.05.22Web制作

サイトリニューアル時の301リダイレクト、.htaccess記述方法いろいろ

  • このエントリーをはてなブックマークに追加

WEBサイトをリニューアルする際に、「古いURLを放置せずに301リダイレクトを行いましょう。」ということを聞いた方は多いのではないでしょうか?

古いURLに対して適切な処理を行わずにいると、さまざまな機会損失を発生させてしまいます。

そこで、今回はサイトリニューアル時に行うべき.htaccessファイルを使った301リダイレクトの設定方法をいくつかご紹介します。

301リダイレクトとは

301リダイレクトとは、200や404などのhttpステータスコードの1つで、URLが恒久的に変更される際に利用する転送処理コードになります。

なぜ301リダイレクト設定を行うべきのか?

リニューアルでURLが変わってしまった時の旧URLをそのままにしておくと、さまざまな観点から機会損失が発生します。

具体的にどのような機会損失があるのかユーザーと検索エンジンのそれぞれの観点から見ていきましょう。

ユーザービリティの損失

  • 旧URLをブックマークしていたユーザーがアクセスできなくなる
  • 旧URLへのリンクからアクセスできなくなる
  • 旧URLの検索結果からアクセスできなくなる(リニューアル後暫くは旧URLも検索結果に登場してしまいます)

上記のように存在しなくなったURLにも少数ながらユーザーはやってきます。

そのため、301のリダイレクトを行い、移管したページへユーザーがアクセスできるようにする必要があります。

また、ページを移管せずに削除する場合には、404エラーページを設定することにより、ユーザーにページがなくなったことを知らせることができます。

設定しない場合には、下記のようなエラー画面が表示されますが、404エラーページの設定をしっかりと行うことにより、様々なメリットがありますので、下記記事を参考に設定を行ってください。

google-error

検索エンジンの評価の損失

  • 旧URLにリンクがついていた場合、その評価が引き継がれない
  • 突然大量のクロールエラーが発生し、検索エンジンを混乱させる
  • 新しいページのインデックスが遅くなる

上記のように存在しなくなったURLにも検索エンジンのクローラーもやってきます。

こちらについてはもう少し詳しく見ていきましょう。

旧URLにリンクがついていた場合、その評価が引き継がれない

弊社のお客様でペット要因を販売されている企業様の事例を交えて解説します。

このお客様は弊社とは別の会社で、ECサイトの購入機能を充実させるため、2014年にサイトのフルリニューアルを行いました。これによりサイトが使いやすくなった一方で、301リダイレクトやリニューアル時に行うべきSEOを実装しなかったため、自然検索の流入が激減してしまいました。

success-stories-that-revived-the-ec-site-01

上記は実際にその際の自然検索の流入です。矢印で記載している「リニューアル」を境に赤枠の通り流入が激減してしまったのです。

リニューアルにより自然検索の流入が激減したため、どうにか流入を戻してリニューアル前よりも増加したいと弊社にご相談を受け、別の施策を行うことで流入を増加させることができました。しかし、旧URLについていたリンクの評価は引き継ぐことはできませんでした。

突然大量のクロールエラーが発生し、検索エンジンを混乱させる

ユーザーがなくなったページにアクセスするように検索エンジンのクローラーも何の設定もされていないとなくなったページをクロールします。

これにより検索エンジンが存在しないページへアクセスすることになるため、Search Consoleのクロールエラーが下記のようになってしまいます。

crowl-error

新しいページのインデックスが遅くなる

先ほど説明したように検索エンジンのクローラーは存在しないページへアクセスすることになるため、サイトのクロールに時間がかかってしまいます。

そのため、新しいページへのクロールが遅れることになり、インデックスされるのも時間がかかってしまいます。

 

301リダイレクトの設定を行わないとこのような損失が生まれてしまいます。

301にはどのような効果があるのか

では301にはどのような効果があるのか見ていきましょう。

  • 旧ページにきたユーザーが自動で新しいページアクセスできる
  • 旧ページの評価を新しいページに引き継ぐことができる

旧ページにきたユーザーが自動で新しいページアクセスできる

301リダイレクトは恒久的にページを移管した転送処理のため、旧ページにユーザーがアクセスした際に新しいページを自動で表示してくれます。

そのため、ユーザビリティを向上することができます。

旧ページの評価を新しいページに引き継ぐことができる

ユーザー同様検索エンジンにも恒久的にページを移管したことを伝えることができるため、ページの評価を引き継ぐことができます。

また、被リンクの評価も引き継ぐことができます。

ここで、注意したいのが100%評価を引き継ぐことができない可能性があることです。そのため、流入が一定数減少することもありますので注意しましょう。

Googleが「非推奨」としている事項

301リダイレクトに関してGoogleが「非推奨」としている事項がいくつかあります。

  • 302リダイレクト(一時的な転送)はNG
  • JavaScriptやはNG
  • 旧URLを全部TOPページにリダイレクトすることはNG

一時的な転送である302ではなく、301を使うことが重要です。

また、全ページトップページヘリダイレクトを行うこともよくありません。301リダイレクトは同様の内容のコンテンツが旧ページから新しいページへ移管したこと伝えるための設定です。そのため、面倒でも必ずコンテンツが対応しているページに転送するようにしましょう。

ちなみに、URLを変える必要が無いページに関しては極力維持する方が理想です。先ほど説明したように301リダイレクトを使っても評価の一部は失われると言われていますので、URLが変わることでせっかく集めたはてブやイイねのカウント表示もゼロ・リセットされてしまうため注意しましょう。

【準備】あらかじめ設定しておくべきこと

では実際に設定する手順を見ていきましょう。

まず、.htaccessに必要な情報を記述していきます。

.htaccessとは

話がずれてしまいますが、.htaccessについて知らない方もいるかと思いますので、こちらについて少し説明します。

.htaccessとは、WBEサーバで利用されるApacheのコントロールを設定するファイルです。

301リダイレクトの処理ができるだけでなく、特定のIPからのみアクセスを制限することやエラーページの設定など様々なことができます。

作成方法は、難しくありません。テキストエディタで必要な記述内容をテキストエディタで記述し、そのファイルを「.htaccess」という名前で保存することで作成することができます。

記述したファイルをFTPソフトなどを利用し、サーバへアクセスしてファイル内容を反映させたいディレクトリのトップに設置します。基本的にはルートディレクトリに設置で問題ないです。これで作業は完了です。

では実際にどのように記述するのか目的別に見ていきましょう。

※ここで紹介する.htaccessの記述内容は、ご利用中のサーバ環境やその使用状況によって異なります。あくまで一般的なものを紹介しておりますので、ご注意ください。

URLの正規化を行う場合

RewriteEngine on

RewriteCond %{HTTP_HOST} ^(example.com)(:80)? [NC]

RewriteRule ^(.*) http://www.example.com/$1 [R=301,L] RewriteCond %{THE_REQUEST} ^.*/index.html

RewriteRule ^(.*)index.html$ http://www.example.com/$1 [R=301,L]

上記は「www.」有りに統一する場合です。「example.com」部分や「index.html」は任意の内容に変更してください。

ドメインが変更になる場合

「ドメインが変更になるが下層ページのURLが変わらない」場合はURLの正規化を行ったあとに、以下を追記しましょう。

RewriteCond %{HTTP_HOST} ^(www.old-url.com)(:80)? [NC]
RewriteRule ^(.*) http://www.new-url.com/$1 [R=301,L]

「www.old-url.com」や「www.new-url.com」は任意のURLに書き換えて使ってください。

ページ単位でリダイレクトを行う場合

特定のページから特定のページへリダイレクトを行う際は、下記のように記述します。

RewriteRule ^/old-page.html$ http://www.example/new-page.html [R=301,L]

ディレクトリ単位でリダイレクトを行う場合

こちらの場合は下記のように記述します。

RewriteRule ^old-dir(.*)$ /new-dir$1 [R=301,L]

先ほどの「ページ単位でリダイレクトを行う方法」と合わせて記述する際は下記になります。

RewriteRule ^old-dir(.*)$ /new-dir$1 [R=301,L]
RewriteRule ^new-dir/old-page.html$ http://www.example/new-dir/new-page.html [R=301,L]

一部のディレクトリやページに関しては、転送設定をかけたくない場合

これは例えが無いとわかりにくいので、サブディレクトリを個別ページへ301リダイレクトする場合の設定方法(無料SEO対策のススメ)の内容をケーススタディにさせていただきます。

  1. 「saitama」ディレクトリ内に市区町村ディレクトリが数十個ある
  2. 「saitama」ディレクトリ内の全ページをsaitama.htmlにリダイレクト設定する
  3. 「saitama」内の一部ディレクトリだけsaitama.htmlとは異なるページ(new-page.html)にリダイレクトしたい

こんな時は「!」(例外条件の指定)を使って解決します。

RewriteCond ^!saitama/old-dir.*

RewriteRule ^saitama.* /saitama.html [R=301,L]

RewriteRule ^saitama/old-dir.* http://www.example/new-page.html [R=301,L]

設定する際に注意したいポイント

設定する際に気をつけたいポイントがありますので、下記に注意して設定しましょう。

記述ミスがないか確認

記述が終わりサーバ上に設定したらちゃんとリダイレクトができているか確認しましょう。

Google Search Console の Fetch as Googleでも確認することもできますが、確認できる数に限りがあります。

そこで、HTTP Status Code Checkerなど利用して設定に漏れがないか確認しましょう。

アドレス変更ツールの使用

サイトを新しいドメインに変更した際には、Search Console のアドレス変更ツールを使用しましょう。

使用が必須ではありませんが、使うことでインデックスの登録を促すことが可能となります。

URLのリダイレクトを念頭において、初動からチームで取り組む

小~中規模サイトのリニューアルであれば、ご紹介した記述の組み合わせでなんとかなるはずです。
しかし、大規模サイトの大幅リニューアルとなると話は別です。旧URLを100%リダイレクトすることが非現実的になるケースも往々にして発生する可能性があります。

ただ、そのような場合でも旧URLを意味も無く変更しない、やむを得ず変更になる場合はできるだけ301リダイレクトしやすいように新URLを作るというポリシーを制作チーム全体で共有してリニューアルを企画することで、結果はかなり変わってくるはずです。

  • 変える必要が無いURLは変えない
  • URLやパラメータの規則性をできるだけ変更しない
  • リダイレクトを諦めるURLにはオリジナルの404エラーページを表示させる

おわりに

301リダイレクトを行わないと旧ページの評価を受け継ぐことができずに自然検索からの流入が激減することがあります。

リニューアルの規模が大きい、URLの変更が複雑な場合などは行う作業も複雑になってしまいますが、行わないと大きな損失が生まれてしまいますのでしっかりと行いましょう。

  • このエントリーをはてなブックマークに追加
The following two tabs change content below.
digital-marketing

digital-marketing

デジタルマーケティング研究所では、デジタルマーケティングの施策・広告・技術を、分析・実装・検証して、WEB担当者・マーケティング担当者の方の役立つ情報を発信していきます。