初代編集長ブログ―安田英久

日本語URLはGoogle Analyticsでエラーを引き起こす場合がある

日本語URLを使っていると、GAでうまくアクセスを記録できない場合があります
Web担のなかの人

今日は、URLの作り方によっては、Google Analyticsでエラーが発生してしまう可能性がある事例について、お伝えします。

端的に結論から言うと、日本語URLを使っていると、Google Analyticsでうまくアクセスを記録できない状況が発生する場合があります。

しかも、このエラーはバックグラウンドで発生するため、訪問者もサイト管理者も、エラーが発生していることに気づくことは滅多にありません。

Firebugの[接続]での414エラー表示

ここでいう「日本語URL」とは、次のようなものを指します。

http://example.com/blog/Web担当者の知っておくべき10のテクニック.html

ドメイン名の話ではなく、パス(ディレクトリやファイル名)の部分に日本語を使うものですね。最近のブラウザはうまく見せてくれますが、日本語URLは実際には非常に長い文字列になります。具体的には、UTF-8でエンコードされた日本語URLは、日本語1文字が9バイトになります。

たとえば、次のようにブラウザに表示されるURLは、

http://example.com/はじめに

実際には次のような文字列として扱われています。長くなっていますよね。

http://example.com/%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB

そして、Google Analyticsのトラッキングコードは、アクセスがあった際に、アクセスされたURL、ページのタイトル、参照元のURLなど、さまざまな情報を「GETメソッド」という方法でビーコンサーバーに伝えます。

その際に、トラッキングコードがビーコンサーバーに情報を飛ばすURLの長さが長すぎると、Google Analyticsのサーバーは「414(URIが長すぎます)」というエラーを返すのです。具体的には、ビーコンアクセスのパス部分が2Kバイト(2048文字)を超えると414エラーになるようです。

Google Analyticsのトラッキングコードがビーコンサーバーに飛ばす情報にはさまざまなものがありますが、次の4つが、日本語(または日本語URL)が原因で異常に長くなる場合あります。

パラメータ名内容自分で制御可能か
utmdtアクセスしたページのtitle要素可能
utmpアクセスしたページのURL可能
utmrそのアクセスの参照元URL(他サイトからの場合のみ)不可能
utmcctそのサイトの初回訪問時の参照元URL(クッキーに保存)不可能

上記4項目を除くとビーコンアクセスのURLは約350バイト程度の長さになりますので、上記4項目の合計で1700バイトを超えるとエラーになる可能性があります。

もっとわかりやすく言うと、上記4項目の合計で日本語190文字(1項目平均48文字)を超えるとエラーになる可能性があるのです。

しかも、「そのサイトに始めて訪問したときの参照元URL」は、その後のアクセスでもずっと引き継がれるので、影響が大きくなります。

本来ならば、Google AnalyticsのトラッキングJavaScriptがこれらの情報をチェックして、長くなりすぎていたら何らかの処理をするべきなのですが、現状はそうしていないようです(以前にグーグルさんに連絡した記憶があるのですが、修正されていないようです)。

日本語URLを使う場合は、ページのタイトルとほぼ同じ内容をURLに含めていることが多いでしょう。ですから、対策としては、ページのタイトルを48文字以内にするといった考え方もあります。

または、可能ならばURLの全体長を45文字程度に切り詰めるといった処理をシステム的に含めるのも良いでしょう。

そうすれば、自分のサイトで問題が出にくくなりますし、リンク先のサイトに迷惑をかけることも少なくなるでしょう。

この記事が役に立ったらシェア!
メルマガの登録はこちら Web担当者に役立つ情報をサクッとゲット!

人気記事トップ10(過去7日間)

今日の用語

NDA
Non-Disclosure Agreementの略。一般には「秘密保持契約」と ...→用語集へ

インフォメーション

RSSフィード


Web担を応援して支えてくださっている企業さま [各サービス/製品の紹介はこちらから]