web-dev-qa-db-ja.com

Wordpressマルチサイト(サブフォルダー)-Googleアナリティクストラッキング

Google Analyticsで追跡したいWordpressマルチサイトサブフォルダーインスタンスがあります。

最適には、これは2つの場所で各サイトを追跡できるプラグインになると思います

  1. マルチサイトインスタンスからのすべてのトラフィックを合計するメイントラッキングコード
  2. 個々のサイトのトラッキングコード。各サイトが具体的にどのように機能しているかを確認します。

サブドメインマルチサイトインスタンスがあれば、このプラグインは私にとってはうまくいったと思います。

http://wordpress.org/extend/plugins/google-analytics-multisite-async/installation/

デュアルトラッキングコード(http://www.markinns.com/articles/full/adding_two_google_analytics_accounts_to_one_page)を手動で配置できることは知っていますが、これにはテーマの編集が含まれ、TwentyElevenテンプレートを使用する複数のサイトがあります。テーマを編集できず、TwentyElevenを使用している他のサイトで大混乱を招くことはないと思います。

だから誰もこれをやったことがありますか?私が見逃しているテクニックはありますか?マルチサイトサブフォルダーのインストールでこれを行うためのプラグインはありますか?複数のサイトで使用されているテーマにGAコードを手動で挿入する方法はありますか?

どんな洞察も大歓迎です。

2
mmundiff

サブドメインの代わりにサブフォルダーを使用しているため、ソリューションは見かけよりも簡単な場合があります。

サイトを集合的かつ個別に追跡する

これは、Analytics内のフィルターを使用して特定のサイトの統計情報をターゲットにし、マルチサイトインストール全体の単一アカウントで実行できます。アナリティクス内で使用できる方法は次のとおりです。

簡単な方法

基本的な統計レポート(ページビュー、平均訪問時間など)のみが必要な場合は、[コンテンツ]-> [サイトコンテンツ]-> [コンテンツドリルダウン]を選択します。各サブフォルダー(サイト)の概要が表示され、クリックしてそのサイトのページを閲覧できます!バム。

セグメント:より多くの作業、より多くの分析

より高度な機能が必要な場合は、データを表示するためのフィルターを保存できる機能を選択できますが、セグメントを使用することをお勧めします。保存して、簡単にオン/オフを切り替えることができます。一度オンにすると、選択を解除するまですべてのレポートで機能します。 100個のセグメントしか作成できませんが、 簡単な回避策があります です。
セグメントを作成するには:ほとんどすべてのレポートには、上部に[アドバンスセグメント]ボタンがあります。それをクリックし、「カスタムセグメントの作成」をクリックして、「ページ」「次で始まる」「サブフォルダ」でフィルタリングするように設定します。これをサイトごとに行います。

GAコードを埋め込む

テーマの更新を気にせずにトラッキングjsを追加するには、/ wp-content/mu-pluginsディレクトリにphpファイルを作成します。 (これは 特別なディレクトリ であり、テーマに関係なく、すべてのサイトに自動的に含まれます。)ga.php(または任意のもの)という名前を付けます。このファイルで、アナリティクストラッキングコードを関数に追加し、関数を「wp_footer」アクションにフックします。コードは次のとおりです。

//print Google Analytics tracking code in footer 
add_action('wp_footer', 'print_ga_tracking_code'); 
function print_ga_tracking_code() { ?> 
    <script type="text/javascript">
        //place your tracking code here
    </script> 
<?php }
2

マルチサイトインストールに膨大な数のWebサイトがない場合は、単一のGoogleアナリティクストラッキングコードを使用して、サブディレクトリごとに統計情報をフィルタリングするプロファイルを作成できます。

サイトにコードを追加するには、TwentyElevenテーマのコピーを作成し、コピーの名前を変更し(style.cssで名前を変更してください)、GAコードを追加し、サイトを切り替えます。それについての質問。同じテーマなので、切り替えはシームレスです。

GAコードをPHP条件にラップすることがおそらく望ましいので、コードは特定のドメインにのみ含まれます。以下に例を示します。

<?php if( 'www.yourdomain.com' == $_SERVER['HTTP_Host'] ) { ?>
    <!-- Google Analytics tracking code goes here -->
<?php } ?>

または、同じテーマを使用する他のサイトでGAを使用する場合、PHPを使用して各サイトに正しいスクリプトを追加できます。

<?php
// Define GA account codes.
$ga_tracking_codes = array(
    'site1.com' => 'UA-123456-1',
    'site2.com' => 'UA-234567-1',
    // ...
);
// If site is defined in array above, add proper GA script.
foreach( $ga_tracking_codes as $domain => $ga_code ) {
    if( $domain == $_SERVER['HTTP_Host'] ) { ?>
    <script type="text/javascript">
        var _gaq = _gaq || [];
        _gaq.Push( ['_setAccount', '<?= $ga_code ?>'] );
        _gaq.Push( ['_setDomainName', '<?= $domain ?>'] );
        _gaq.Push( ['_trackPageview'] );
        (function() {
            var ga = document.createElement( 'script' );
            ga.type = 'text/javascript';
            ga.async = true;
            ga.src = ('https:' == document.location.protocol
              ? 'https://ssl' : 'http://www')
              + '.google-analytics.com/ga.js';
            var s = document.getElementsByTagName( 'script' )[0];
            s.parentNode.insertBefore( ga, s );
        })();
    </script>
    <?php }
}
?>
2

WordPressには現在のサイトIDを判別する機能が組み込まれています。これは、テンプレート内の投稿やその他の情報を表示するために使用されるのと同じブログIDを取得するため、リファラーのURLをチェックするよりも優れた方法です

この$current_siteを使用して、ブログIDまたは$current_site->blog_idに基づいてAnalyticsスニペットを表示する関数を作成します

<?php
$current_site = get_current_site();
echo 'You are viewing '.$current_site->site_name;
?>

IDが現在のサイトのblog_idに基づいて動的に挿入されるように、if条件でGAプロファイルIDをラップすることもできます。

2
Anagio

WordPressには「ウィジェット」と呼ばれるものがあります。 WordPress admin> Appearance> Widgetsにアクセスして表示されるページを使用して、サイドバーにウィジェットをドラッグアンドドロップできます。必要なのは、各サイトにログインし、ウィジェットページにアクセスして、正しいGoogleアナリティクスJavaScriptコードを使用してサイドバーに「テキストウィジェット」を追加することだけです。本当に簡単です。テーマファイルを編集する必要はありません。プラグインをインストールする必要はありません。文字通りコピー&ペースト。

0
Abdussamad