URLリライトと301リダイレクトの仕組み
URLリライトや301リダイレクトについて話したり、奨めたりする人もいるだろう。でも、これらがどのように機能するのか、本当に理解しているだろうか? もちろん、「URLをリライトする」という行為によって、ブラウザに表示されるURLがよりSEOフレンドリー(そしてユーザーフレンドリー)になることは知っているだろう。また、301リダイレクトが恒久的リダイレクトだということもわかっているはずだ。でも、今回はもう少し話を掘り下げて、URLリライトと301リダイレクトがどのように連携して機能するのかを説明してみたい。
私が開発者として初めて取り組んだSEOプロジェクトは、大量のURLをリライトし、古いURLが新しいURLに確実にリダイレクトされるようにするという仕事だった。これは当初、気が滅入るような作業だった。というのも、URLリライトと301リダイレクトがどのように連携して機能するのか、私はきちんと理解していなかったからだ。何ページ分ものコードを書き換えなきゃいけないんだから、このプロジェクトに、数か月とまでは言わなくても、数週間程度はかかるに違いないと思っていた。でも、一度その仕組みをすっかり理解してしまうと、パッとひらめいて、文字どおりわずか2日ほどで作業を間違いなく済ませてしまった。そう、2か月でも2週間でもなく、2日だ。
URLのリライト
URLのリライトとは、ブラウザのアドレスバーに表示されるURLとは異なるURLの内容をサーバーから返すことだ。URLのリライトされたページにユーザーがアクセスした場合でも、ページのソースコードは変わらない。
古いURL構造からSEOを考慮した新しいURL構造に変更するのにURLリライトを使った場合、ユーザーが新しいURLにアクセスしても、サーバーは内部的には以前と同じ古いURLとして扱っている。
- ユーザーがSEOフレンドリーな新しいURLにアクセスする
- mod_rewriteやISAPI_Rewriteなどのモジュールによって、サーバー上で新しいURLが古いURLに変換される
- サーバーが古いURLからコードを呼び出す
- アドレスバーには新しいURLが表示されたまま、ブラウザにページが表示される
サーバーから見ると、何も変わっていない。コードは依然として同じだ。たとえば、開発者がURL変数を使用してサイトを構築していたとしても、何ひとつコードを変える必要はない。もちろん、この原則どおりにいかないケースは常に存在するが、基本的なレベルにおいては、ページのコードを変更する必要はないはずだ。
301リダイレクト
URL構造を新しくして、SEOを考慮した新しいURLでコンテンツが正しく表示されるようにリライトの設定ができたとしよう。次に、古いURLにアクセスがあった場合にも、新しいURLにきちんと301リダイレクトされるようにしなければならない。そうすることによって、古いURLのリンクジュースを今後は新しいURLに渡すべきだと検索エンジンに伝えられる。
301リダイレクトはまた、ユーザー体験の観点からも、404エラーページを表示するよりもいい。サーバーには、URL Aを今後はURL Bにすべきだということが伝えられる。
301リダイレクトのプロセス
- ユーザーが古いURLにアクセスする
- PHPなどのスクリプト言語のコードやmod_aliasなどのモジュールによって、301リダイレクトが実行され、ブラウザに表示されるURLは、古いものから新しいものへと文字どおり変更される
- ここでまた、URLリライトのプロセスが始まる
リライトとリダイレクトを連携させて使うことで、URL構造を変換するソリューションが完結する。私はこれまで多数の開発者たちに、SEOの基準と、特にリライトとリダイレクトの仕組みを理解し実装する方法を指導してきた。全体を把握するのにちょっと時間がかかるが、わかってしまえば実にシンプルだ。
リライトとリダイレクトについてより詳しい情報を知りたいなら、以下のサイトをチェックしてみよう。
- SEOmozのApacheによる301リダイレクト活用ガイド
- Apache 1.3 URL Rewriting Guide(日本語参考訳)、最新版のリライトガイド(英語版)
- IIS - ISAPI_Rewrite
- URLRewriter.net - .NET / IIS / ASP.NET向けのオープンソースのURLリライター
- さまざまな言語で301リダイレクトを実施する
個人的には、SEOマーケターや開発者たちが「ひらめきを得る」手伝いをすることは、すばらしく楽しい体験だと感じている。すべてがいかにシンプルで、自分のサイトをSEOフレンドリーにすることがいかに簡単かを理解したときこそ、「アハ体験」の瞬間だ。とりわけすばらしいのは、URLリライトがユーザー体験の向上にも役立つという点だ。今回の記事に何か付け足すことがあったり、あるいはリライトとリダイレクトがどのように連携して機能するのかについて、みんなならどのように説明するのかについて、意見があればぜひ聞かせてほしい。
ソーシャルもやってます!