0

外部 Web サイトへのリンクがある特定の PHP ランディング ページに訪問者が入っています。

各訪問者がそのリンクをクリックしたかどうかを追跡し、その HTTP リファラー、エントリ時間、クリック時間、訪問時間、ブラウザなどの追加情報を受け取りたい.

HTTP リファラーの追跡のみをカバーする 1 つのオプション (実際には、訪問者が私の Web サイトにアクセスするために使用した「クリーンな」検索語が表示されます) は、JavaScript コードの一部を使用することです。トラフィック ソースのオファー。

私は訪問者を外部のウェブサイトに送っているので、そのような追跡を行う唯一の方法は、最初にリンクをクリックした人を、このコードを含む私のサイトの自動リダイレクトページに送ることだと思います.

さて、私の仮定がすべて正しいと仮定します(そうでない場合は、アドバイスしてください):

1) この自動生成コードを使用する以外に、他にどのようなオプションがありますか?

2) そのようなリダイレクト ページは PHP ページである必要がありますか?

3) このような PHP ページでは、以下を使用するのが最適であると読みました。

    header('Refresh: 3;url=http://www.external-page.com');

4) JavaScript コードが完全に機能するには 3 秒で十分だと思います。訪問者に動的なカウントダウン メッセージを表示する方法はありますか?

5) 外部 Web サイトを新しいブラウザ ウィンドウで開きたいのですが、PHP を使用してツールバーを含まないウィンドウを開き、このウィンドウを特定のサイズで開く方法はありますか (画面全体ではなく) "_blank" ターゲットで)? そうでない場合、Javascriptでこれを行うにはどうすればよいですか? プラグインが必要ですか?

6) 複数のランディング ページをこの方法で動作するように変換する必要がある場合はどうすればよいですか? ランディング ページごとに個別のリダイレクト ページを手動で作成する必要がありますか、または元のページからリンク入力を受け取るテンプレートを作成する方法はありますか? おそらくユーザーを

   redirect.php?link=http://link1.com

次に、リンクを「GET」してURLにエコーしますが、十分にクリーンではないようです。ユーザーがリンクをポイントしたときに、このような厄介な宛先URLが表示されないようにすることをお勧めします.

ありがとう!

4

1 に答える 1

0

リンクにクリック イベント リスナーを追加し、成功するとリモート サイトに直接リダイレクトします (jquery を使用していると仮定します)。

$(document).ready(function() {
    $('a').on('click', function(){
        var href = $(this).attr('href');

        // Send a transparent POST request to your server
        $.post(
            '/tracking-url', 
            {
                url: href // you will have access to $_POST['url'] containing your href attribute value
            },
            function(response) {
                // On success event 
                // If everything is ok (server-side), just redirect the user to the site
                window.location = href;
            }
        ).fail(function() {
            // something unexpected occured
            alert("error");
        });

        return false; // prevents the default event behaviour
    });
});

リンクはそのままにしておきます。

<a href="http://link1.com">Go to link1</a>

jQuery.post()を参照してください。 jQuery.get( )を使用して値にアクセスする
こともできます。$_GET[]

于 2013-11-14T13:57:23.370 に答える