リライトとリダイレクトは
アクセス解析を正しく理解する上においても重要な知識です。
社内でエンジニアの方に整理せて共有いただく機会があったので、
メモとして。
リライトとリダイレクト
リライトはmod_rewriteモジュールを用いた
urlのかきかえを行う行為です。
上図を参考にしてください。(クリックで拡大)
具体的には、
Apacheにモジュールを読み込ませた上で
httpd.confもしくは
.htacsessというファイルで設定したファイルを利用して行ないます。
参考URL
- URLリライトと301リダイレクトの仕組み | Web担当者Forum
- 301 Redirect - How to create Redirects(英語)
- SEOmoz | Guide to Applying 301 Redirects with Apache(英語)
- .htaccess – Rewrite
- apacheのhttpd.confの設定で、下記のような記述があるのですが、どういう意味ですか? RewriteEngine On RewriteCond %{HTTP_REFERER} $^ RewriteRule ^.*$ [F] .. - 人力検索はてな
一方、リダイレクトは
mod_rewriteモジュール以外に、
アプリでの転送、メタタグによる転送、JSによる転送など複数の形式があります。
アクセス解析におけるリライトのあつかい
JSで計測するビーコンタイプの場合、
リライトを意識する必要はありません。
ブラウザーに表示されているURLがアクセス解析で扱われるURLです。
ただし、意識しないといけないのはモバイルアクセス解析の場合です。
モジュール方式の場合やパケットキャプチャリング方式の場合、
ブラウザーに表示されていない実体のURLを参照する事ができます。
というか、場合によっては実体のURLしか扱えないばあいもあるようです。
Visionalistモバイル・SiteCatalystモバイルともに、
.htacsessに記載されている際には、リライト後(実体のURL)しか参照できません。
これにより
ページ単位、URL単位の分析やリファラー情報などに影響がある場合があるので注意が必要です。
アクセス解析におけるリダイレクトのあつかい
リダイレクトの場合には
リファラーが引き継がれているかどうか、
が一番のポイントになります。
正しく、というかブラウザ間での挙動を一定にしたければ、
一言でいえば、リダイレクトをする場合、
できる限り
mod_rewriteを使うようにしましょう。
アプリでの転送の場合、
300番代の転送を使っていれば、問題ありません。
問題はメタタグやJSを使ったリダイレクトです。
これらの手法を使った場合、ブラウザによって挙動が異なり、リファラーが落ちる場合が多いです。
実際に現時点で各ブラウザで試して見ました。
- 暫定で作ってみました。
1ページ各ブラウザから挟んでリダイレクトすると、
ブラウザ | IE 8 | Firefox 3.5.5 | Chrome 5.0dev |
JS 0秒 | なし | なし | なし |
JS 10秒 | なし | なし | なし |
META 0秒 | なし | なし | 直前ページ |
META 10秒 | なし | なし | 直前ページ |
こちらのようになります。
まとめ
リダイレクトとリライトは
どちらもseo対策やアプリ実装で当たり前に使われる機能です。
アクセス解析を実装するうえで、
あるいは思ったようなレポートが取得できない時には、
リダイレクト、リライトの設定を必ず確認しましょう。