はじめに
SEOコンサルタントの外山です。
先日、昨年から関わっていたウェブサイトのリニューアル案件について、サイト前後のパフォーマンス比較の報告会を終えて、ようやく一区切りが付きました。
お客様がサイトのリニューアルを検討しはじめたのは数年前からで、私がSEOの観点から関わらせていただいたのは昨年からですが、サイトの設計から実際の制作、移行の準備、リニューアル当日、その後の効果測定まで、実に息の長いプロジェクトでした。
幸い大きな問題はなく、リニューアルにより意図していた目的もほぼ達成でき、リニューアルに関わったメンバーの一人として、ほっと胸をなで下ろしているところです。
ウェブサイトの担当者にとって「サイトリニューアル」というは、現在のウェブサイトを機能やサイト構造、デザインやUI/UXなど、様々な観点から刷新・改善する大きな「チャンス」であると同時に、今まで積み上げてきた流入を失いかねない「リスク」でもあると思います。
特に、SEOの観点からの検討や対策は、ともすれば忘れがちであったり、優先順位として後回しにされがちだったりします。
例えば、サイトリニューアルにあたりSEOの観点から検討すべきこととして、以下のようなものがあります。
- キーワードマーケティング調査
- カテゴリ設計
- サイト構造要件定義(ディレクトリ・リンク構造・URL仕様)
- サイト技術仕様要件定義
- ワイヤー改善指示
- HTMLコーディングチェック
- タイトル・ディスクリプションルール設計
- コンテンツ・リダイレクトマッピング
- XMLサイトマップ指示
- サーチコンソールなどパフォーマンス計測の準備設定
これらのすべてをしっかりやらなければいけない、となるとかなり大変ですが、少なくともやっておきたい、やっておかないといけないポイントというものが、いくつかあります。
本ブログでは、そんな「サイトリニューアルで失敗しないためのSEO上の注意点」として、大きなポイントのひとつである「コンテンツ・リダイレクトマッピング」を解説したいと思います。
コンテンツの洗い出しはプロジェクトの前半に実施しておくべき事項ですが、リダイレクトマッピングは大詰めの最重要事項と考えております。
なお、サイトリニューアルについては、Googleも「URL の変更を伴うサイト移転」という名称で、公式ドキュメントを用意しています。今回はこちらの情報をかなり参考にしていますので、興味がある方はご覧ください。
≫URL の変更を伴うサイト移転
https://support.google.com/webmasters/answer/6033049?hl=ja
URLのマッピングと301リダイレクト
「コンテンツ・リダイレクトマッピング」とは、一言で言うならば、現在のウェブサイトのURL(ページ)と新しいウェブサイトのURL(ページ)の新旧対応表を作成することを意味します。
この「元のサイトの URL から新しいサイトの URL へのマッピング」については、Googleも「URL マッピングを準備する」というページで、詳しく解説しています。
≫URL マッピングを準備する
https://support.google.com/webmasters/answer/6033086
新旧対応表が何故必要なのかというと、現在の各URLの流入を新しいURLへ確実に引き継ぐためです。現行サイトの各ページは、長い時間をかけて培ってきたGoogleやユーザーの「評価」がたまっています。その「評価」があるからこそ、特定のキーワードで検索されたときに、そのページが上位に表示されます。
もしウェブサイトが移転したことにより、内容がまったく同じでも、URLが変わってしまったのだとしたら、その新しいURLは、0から評価を獲得していかなくてはなりません。内容が同じなので、再度同じ評価を得ることは可能かもしれませんが、時間はかかってしまいます。
その時間を短縮するために一般的に行われる対応が「301リダイレクト」となります。301リダイレクトは、URLの変更をユーザーや検索エンジンに正しく伝達するための方法で、「301」という数字は、ステータスコード「301」を意味し、ページが別の場所に完全に移転したことを意味します。
参考:ページの URL の変更と 301 リダイレクトの使用
https://support.google.com/webmasters/answer/93633
301リダイレクトは、Apacheでしたら、その設定ファイルである「httpd.conf」や、あるいはディレクトリごとに設置する「.htaccess」で設定できますが、設定するにしても、AのURL→BのURLという、新旧対応表(=URLマッピング)が必要となります。
リダイレクトマッピングの方法
では、リダイレクトマッピングは、どういう手順で行えば良いのでしょうか。いろいろな方法があると思いますが、大きくは以下の4つが必要になると思います。
- 手順1. 現在サイトのURLを特定する
- 手順2. 新しいサイトのURLを特定し、新旧対応表を作成する
- 手順3. リダイレクトルールを作成し、実装する
- 手順4. リダイレクトの内容をテストする
手順1. 現行サイトのURLを特定する
まずは、現行サイトのURLにどのようなものがあるかを特定します。
現行サイトのURLの一覧が必要になりますが、これは口で言うほど簡単なものではなく、特に規模が大きいサイトであればあるほど、URLの一覧を作成することは容易なことではありません。
ですが、リダイレクトマッピングにおいては、「完璧なURLの一覧」は必要ではありません。リダイレクトの目的は、現在のURLの評価を新しいURLへ引き継ぐ(移行する)ことですので、例えば、ユーザーのアクセスがないページは、マッピングを作成する必要はありません。Googleのドキュメントにおいても、重要な、すなわちセッション数やPV数の多いURLから対処することを推奨しています。
「流入が多い」あるいは「ユーザーのアクセスがある」URLに絞るのであれば、例えば以下のような方法でURLの一覧を作成することが可能です。
Search Consoleで、流入の多いURLの一覧や外部リンクが設定されているURLの一覧を取得する
Search Consoleを用いて、例えば「過去1年間において検索結果画面上に表示されたURL」の一覧を取得します。管理画面からですと1,000件までしかURLは取得できませんが、APIを通じれば、上限なく取得することができます。
APIの使用については、「Search Console APIを用いて検索パフォーマンスの生データをRで抽出する方法」のブログもご覧ください。
また同様に、Search Consoleのリンクレポートから、「外部サイトからリンクが設定されているURL」の一覧を取得することも有用です。
Google Analyticsで、PVの多いURLの一覧を取得する
Google Analyticsで、例えば「過去1年間においてPVがあったURL」の一覧を取得します。Search Consoleでは、検索結果画面に表示されたURLに限定されてしまいますが、この方法ですと、例えばメルマガや広告でだけ使用されていたページなども、リストアップすることが可能です。
301リダイレクトは、クローラーだけでなく、実際のユーザーにとっても意味あるものですので、メルマガや広告でだけ使用していたURLにも、必要に応じて301リダイレクトを設定することが重要となります。
サーバーのアクセスログ(生ログ)で、一回以上アクセスがあったURLの一覧を取得する
サーバーのアクセスログを用いると、URLの他に、アクセスのあった画像やCSS、JSなどのファイルも特定することができます。これらのファイルは、リダイレクト設定が必ずしも必要という訳ではありませんが、移行すべきコンテンツの移行漏れをなくす上で、このようなファイルを把握することは重要となります。
アクセスログについては、「SEOにおける「生ログ」分析のススメ」のブログで詳しく説明していますので、興味のある方はご覧ください。
CMSなどのテンプレート単位でURLを把握する
巨大なサイトであればあるほど、何らかのCMSを用いていることが多いと思いますが、そのCMSのテンプレート単位で、URLの一覧を取得・整理することも有用です。例えばECサイトでは、膨大な商品ページがありますが、そのページテンプレートは単一、あるいは少数である場合が多いと思います。
テンプレートを用いている場合は、テンプレートごとにURLに規則性があることが多いので、リダイレクトマップも作成しやすくなります。そのような意味で、現在のサイトに何種類のテンプレートがあるかを把握しておくことは、重要となります。
手順2. 新しいサイトのURLを特定し、新旧対応表を作成する
現行サイトのURLを特定したなら、次に現在作成中の、新しいウェブサイトのURLを特定します。こちらは現行サイトのURLを取得することに比べれば容易ではないかと思います。
そして新旧双方のURLが特定できたのなら、下記のような対応表を作成します。対応表は、ページテンプレート単位で整理すると分かりやすいかと思います。
新旧対応表の例(ドメインは変わらないが、サイト構造が変わる場合)
テンプレート | 旧URLの例 | 新URLの例 |
---|---|---|
サイトTOP | https://aaa.bbb.com/ | https://aaa.bbb.com/ |
カテゴリページ | https://aaa.bbb.com/[旧カテゴリ]/ | https://aaa.bbb.com/[新カテゴリ]/ |
商品ページ | https://aaa.bbb.com/[旧カテゴリ]/[商品ID]/ | https://aaa.bbb.com/[新カテゴリ]/[商品ID]/ |
ニュースページ | https://aaa.bbb.com/news/[記事ID].html | https:/aaa.bbb.com/company/news/[記事ID].html |
ブログページ | https://aaa.bbb.com/blog/ | 【存在しない】 |
レビューページ | 【存在しない】 | https://aaa.bbb.com/review/ |
なお、今回は旧URL→新URLへのリダイレクトを設定することが目的なので、新しいウェブサイトのみに存在するコンテンツ(古いウェブサイトには存在しないコンテンツ)は、対応表としてはまとめる必要は必ずしもありません。ですが一緒に整理しておくと、新旧双方のサイトの全体像を把握し、コンテンツの移行や制作の抜け漏れを防ぐことができますので、まとめて整理することをお勧めします。
手順3. リダイレクトルールを作成し、実装する
新旧URLの対応表が完成し、URLのマッピングが出来たら、次は実際の301リダイレクトに落とし込むために、リダイレクトルールを作成します。そして作成したリダイレクトルールにのっとり、サーバー環境にあわせて、リダイレクトを実装します。
リダイレクトの実装は、Apacheやnginxなど、WEBサーバーにより違いがあると思いますが、新旧対応表があり、リダイレクトルールが作成されているのであれば、あとはエンジニアの方にお願いすることができると思います。
なお、301リダイレクトは
Aページ → Xページ
Bページ → Yページ
Cページ → Zページ
というように、1URLずつ列挙してリダイレクトするやり方もありますが、規則性があるものは、リダイレクトをまとめることができます。例えば
https://aaa.bbb.com/news/[記事ID].html
→
https:/aaa.bbb.com/company/news/[記事ID].html
の301リダイレクトを、Apacheのhttpd.confに記載する場合は以下のように記載できます。
RewriteRule ^/news/(.*)$ /company/news/$1 [R=301,L]
※旧サイトのnews配下へのアクセスを、新サイトのcompany→news配下へのアクセスにリダイレクトする。
このように、同種のリダイレクトはできるだけ1つのルールにまとめるようにすると、実装も楽になると思います。また、Apacheで301リダイレクトを設定する際は、以下の点も注意すると良いでしょう。
・httpd.confに設定する場合と.htaccessに設定する場合では、記述方法に違いがある
参考:【mod_rewrite】「.htaccess」と「httpd.conf」での設定による違い
http://ysklog.net/mod-rewrite/related05.html
・大量のリダイレクトを.htaccessに記述すると、リダイレクトが遅くなる
参考:.htaccessに2000行書くとApacheの処理が何秒遅くなるか測ってみた
https://webtan.impress.co.jp/e/2016/08/02/23489
・パラメータ部分の条件判定には%{QUERY_STRING}を用いる
参考:クエリパラメータ付きのURLをmod_rewriteでリダイレクトさせる
https://qiita.com/saitoryc/items/b73c55300a09ccb007e8
上記は、すべて私が一度はまってしまった経験談です。ご注意ください。
手順4. リダイレクトの内容をテストする
最後に、設定されたリダイレクトが、サーバー上で間違いなく処理されているかを確認します。
まずは同じWEBサーバーが動作しているテストサーバーを用意し、「httpd.confの設定に、文法的な間違いがないか」をチェックします。設定ファイルに間違いがあると、リダイレクトが動かないばかりか、最悪サーバー自体が起動しません。そのようなことを避けるためにも、設定ファイルを組み込んだWEBサーバーが起動するかどうかを、まずはチェックすると良いです。
続いて、旧URLの1つ1つに対して、適切に301リダイレクトが設定されているかをチェックします。Screaming Frogのようなツールを用いて、旧URLをクロールして、そのリダイレクト先をまとめてチェックするのが、効率的だと思います。
リダイレクトでは、リダイレクトのループや複数回のリダイレクトのチェーンが意図せずに発生する場合もありますので、それらのチェックもまとめて行うと良いでしょう。
さいごに
以上、リダイレクトマップの作成について解説しました。
サイトリニューアルにおいては、その他にもrobots.txtの更新を忘れないとか、canonicalや各種アノテーション(hreflangなど)の設定の引継ぎも忘れないなど、他にも注意すべき点があります。
Googleがサイト移転時の注意事項をドキュメントにまとめていますので、そちらもご覧ください。
参考:サイト移転を開始する
https://support.google.com/webmasters/answer/6033080
繰り返しになりますが、サイトリニューアルは、現在のウェブサイトを様々な面から改善するための「チャンス」であると同時に、適切な対策を行わなければ、今までの流入を大幅に失いかねない「リスク」でもあります。リスクをうまく回避して、サイトリニューアルの本来の目的が達成するために、今回のブログ記事が、何らかの参考になれば幸いに思います。
プリンシプルでは、通常のSEOコンサルティングに加えて、リニューアル時のSEOコンサルティング(リニューアルSEO)についても承っております。もしお困りのことがございましたら、お気軽にお問い合わせ下さい。