web-dev-qa-db-ja.com

Google Analyticsとフレームセット

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>タグの直前にトラッキングコードを含めることをお勧めします追跡したい子フレーム。」

問題は、「親」ページ(上記のフレームセットコードを含むページ)にアクセスできないことです。私は自分のページにアクセスするだけです。そのため、この「親」ページにトラッキングコードを配置することはできません。

これを行うよりクリーンな方法はありますか?この理由で偽の統計情報を取得するつもりですか?

事前に感謝します

1
Jorge Arévalo

Amazonを使用しているため、ドメインプロバイダーの「見えないリダイレクト」を使用する理由はありません。代わりに:

  1. Amazon AWS Route 53 DNSサービスにサインアップ
  2. ルート53で、ドメインの「ホストゾーン」を作成します
  3. .yourdomain.comwww.yourdomain.comの両方に、ec2マシンの静的IPアドレスを使用してAレコードを追加します。
  4. ドメインプロバイダーに移動し、ドメインのネームサーバーをAmazon Route 53のNSセクションのレコードに設定します。

その後、ドメイン名がec2サーバーを適切に指すようにします。リダイレクトやフレームは必要ありません。あなたのサイトはアナリティクスを使用できるようになります。

1

私はこれを試してみて、それは私のために働いています:

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コードが機能しないためです。

お役に立てばと思います:)

2
Carlos Azaustre