通常、jsのコードは </body> 直前に入れるようにとありますが、
<body>直後に入れるようにした場合、どのような問題が発生するのでしょうか。
Googleがどこかで発表しているようでしたらそのページを教えてください。
発表されているかどうかがわからない場合は、
そのようにした場合に想定される問題点でも構いません。
よろしくお願いします。
解析ツールのコードと、肝心のコンテンツ要素との重要性を比較衡量してのこと。
コンテンツ要素が巨大でないかぎり特に問題はありません。
たしか、元々Googleは<body>直後に入れるよう推奨していたものの、多くのユーザーからの問い合わせから、</body> 直前に入れるように変更されたものであると記憶しています。
http://adwords.google.com/support/aw/bin/answer.py?hl=jp&answer=...
AdWordsの説明で
3) ウェブサイトへのコード スニペットの挿入
コード スニペットは <body> タグ間に設置します。</body> タグに近い部分に設置すると、ページの下部に画像が表示されます。 ページのヘッダーやフッターには設置しないでください。 この場合、コンバージョンの統計情報が正確に集計されず、トラッキングの目的が果たせなくなります。
とあります。
ただ、これは<body>の直後、</body>の直前の影響に対する回答にはなりませんね。
わかりきった回答にしかなりませんが、スニペットの挿入位置によって、コンバージョン率に影響は出ることになります。
離脱率も同義だと思います。
つまり、最後に訪問したページをスニペットを読み込み&実行してから閉じるのか、その前にユーザが閉じるのかで、
離脱ページが変わります。(その前のページなのか、当該ページなのか)
bodyタグ内のデータが重ければ、それだけ開始or閉じbodyタグの時間差が発生するので、スニペットをどこに貼るかで結果はかなり変わってくるはずです。(ただし、あくまでも離脱するページに起因する問題)
下記のようなコードを実行すればわかりますが、基本的にブラウザは読み込んだソースから
解釈&実行していくので、
alert( "1回目:" + obj.innerHTML );
は、objつまりid="foo"が見つからず、エラーになります。
<html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> </head> <body> <script type="text/javascript"> var obj = document.getElementById( "foo" ); alert( "1回目:" + obj.innerHTML ); </script> <div id="foo">hoge</div> <script type="text/javascript"> var obj = document.getElementById( "foo" ); alert( "2回目:" + obj.innerHTML ); </script> </body> </html>
総じて、本当に離脱しているページを調べたいのであれば、ひょっとするとGoogleに従わず、
開始body直後に貼るというのも得策かもしれません。
ずる賢いことも考えるなら、PVそのものもわずかでもアップできるはずです。検証したわけではないので、あくまで理屈ですし、
Googleに従わなかったことで何らかの影響が出ても文句は言えません。
なるほど!
いまだに遅い回線で重いページを見る方もいますからね。
参考になりました。
ありがとうございます。
Googleの発表はこれですかね。
http://www.google.com/support/analytics/bin/answer.py?hl=jp&answ...
<body>直前に記した場合でも、直後に記した場合でも、変化はありません。
HTMLの読込が完了し、ページが正常に表示されるならば、ちゃんとGoogleAnalyticsのコードも動作します。
ちなみに、一部のSEO業者が
「いままで<body>直下や<head>にしるしていたコードを、</body>前に移すことで、SEO効果が上がる。
(文章が始まる行が、GoogleAnalyticsのコードを移動した分だけ早くなるため)」
と言っていたのを昔小耳に挟みましたが、全く差は無いと言って良いと思われます。
私の場合は、HTMLのメンテナンスが楽だと考え、</body>直前に記述しています。
ありがとうございます。
ありがとうございます。