Nginxを使用して、EC2マシンでホストされているシンプルなWebページがあります。私のWebページにアクセスできるとしましょう:
http://<my_ec2_machine_static_ip>/my_web_page
ページ内のヘッドセクションに、Googleアナリティクストラッキングコードを配置しました。その後、ドメイン名を購入し、上記のアドレスにリダイレクトしました。
アドレスバーにIPが表示されるのを避け、代わりにドメイン名を表示するために、ドメインプロバイダーの「見えないリダイレクト」を使用しました。その結果、ドメインプロバイダーは、サイトの実際のURLを含むframeset
を使用してWebページを構築します。こちらです:
<FRAMESET ROWS="*,0" FRAMEBORDER=0 BORDER=0 FRAMESPACING=0>
<FRAME SRC="http://<my_ec2_machine_static_ip>/my_web_page" NORESIZE>
</FRAMESET>
フレーム化されたサイトのアナリティクスサポートページ は次のように述べています:「フレームを使用するサイトでは、フレームセット(親)ページの<head>
セクション、およびそれぞれの</head>
タグの直前にトラッキングコードを含めることをお勧めします追跡したい子フレーム。」
問題は、「親」ページ(上記のフレームセットコードを含むページ)にアクセスできないことです。私は自分のページにアクセスするだけです。そのため、この「親」ページにトラッキングコードを配置することはできません。
これを行うよりクリーンな方法はありますか?この理由で偽の統計情報を取得するつもりですか?
事前に感謝します
Amazonを使用しているため、ドメインプロバイダーの「見えないリダイレクト」を使用する理由はありません。代わりに:
.yourdomain.com
とwww.yourdomain.com
の両方に、ec2マシンの静的IPアドレスを使用してAレコードを追加します。その後、ドメイン名がec2サーバーを適切に指すようにします。リダイレクトやフレームは必要ありません。あなたのサイトはアナリティクスを使用できるようになります。
私はこれを試してみて、それは私のために働いています:
HTMLコードの最後、タグの直前に以下のスクリプトコードを挿入します。
<script>
var _gaq=[['_setAccount','UA-XXXXXXXX-X'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
トラッキングIDを使用してUA-XXXXXXXX-Xを変更します。
Initializr Template のこのコードを使用することを好みます。GoogleのAnalyticsコードが機能しないためです。
お役に立てばと思います:)