Google Analyticsタグの投稿

2010-03-23
晴れ

Ktai Style 2 への Google Analytics 設置方法

ゆりこ による 10:12:52 の投稿
カテゴリー: WordPressハック
タグ: ,

昨日 Ktai Style 2 の正式版を公開しました。実は附属ドキュメントに Google Analytics の推奨設置方法を書いてあるのですが、個別に紹介しておきます。

Google の説明に従うと、<html> タグの直前および </body> タグの直前それぞれに PHP コードを入れることになります。しかし、以下の問題があります。

  • <html> タグの直前にコードを入れるには携帯用 header.php を改造することになるが、グローバルスコープではないため、$GA_ACCOUNT, $GA_PIXEL 変数に global 宣言が必要。
  • </body> タグの直前にコードを入れるには footer.php を改造することになるが、挿入するコードが PHP ショートタグ形式になっている (<?= $googleAnalyticsImageUrl; ?>) ため、環境によっては動かない。(マトモな環境なら short_open_tag = Off ですよね;-)
  • header.php, footer.php の2つのファイルを改造するのは手間がかかる。
  • 附属テーマを改造する場合、あらかじめ複製して wp-content/ktai-themes/ に入れないと、プラグインのアップデートで上書きされる。

簡単に設置するには、携帯テーマの functions.php または個別のプラグインファイルとして Analytics コードを入れることがおすすめです。Ktai Style 2 からは ktai_wp_footer アクションが使えるようになったため、これを使えばそのような実装が可能です。

個別のプラグインファイルとして設置する場合、以下のようなコードを ks-google-analytics.php として作成して wp-content/plugins/ ディレクトリーに配置し、「Ktai Style Patch of Google Analytics」プラグインを有効化すればよいです。もちろん、$GA_ACCOUNT の数値は自分のものを入れてください。また、googleAnalyticsGetImageUrl 関数は Google から最新のものを入手するのが確実です。

<?php 
/*
Plugin Name: Ktai Style Patch of Google Analytics
Version: 1.0.1
*/
global $GA_ACCOUNT, $GA_PIXEL; // Change by IKEDA Yuriko
  // Copyright 2009 Google Inc. All Rights Reserved.
	$GA_ACCOUNT = "MO-XXXXXXXX-X";
	$GA_PIXEL = "/ga.php";
	// $GA_PIXEL = get_bloginfo('wpurl') . '/ga.php'; // when ga.php is under WP directory

function googleAnalyticsGetImageUrl() {
	global $GA_ACCOUNT, $GA_PIXEL;
	$url = "";
	$url .= $GA_PIXEL . "?";
	$url .= "utmac=" . $GA_ACCOUNT;
	$url .= "&utmn=" . rand(0, 0x7fffffff);
	$referer = $_SERVER["HTTP_REFERER"];
	$query = $_SERVER["QUERY_STRING"];
	$path = $_SERVER["REQUEST_URI"];
	if (empty($referer)) {
		$referer = "-";
	}
	$url .= "&utmr=" . urlencode($referer);
	if (!empty($path)) {
		$url .= "&utmp=" . urlencode($path);
	}
	$url .= "&guid=ON";
	return str_replace("&", "&amp;", $url);
}
 
function show_googleAnalyticsGetImageUrl() {
	$googleAnalyticsImageUrl = googleAnalyticsGetImageUrl();
	echo '<img src="' . $googleAnalyticsImageUrl . '" />'; // Change by IKEDA Yuriko
}
// Added by IKEDA Yuriko
add_action('ktai_wp_footer', 'show_googleAnalyticsGetImageUrl');
?>

上記のコードでは解析用コード ga.php はサイトのドキュメントルートに置くことが前提です。ブログURL が http://example.com/blog/ でも http://example.com/ga.php のように置きます 。WordPress ディレクトリーの直下に置くならば(http://example.com/blog/ga.php など)、$GA_PIXEL の定義を $GA_PIXEL = get_bloginfo('wpurl') . "ga.php"; としてください。

[追記] $GA_PIXEL を修正する場合、PC 閲覧時またはスクリプトが Ktai Style より先に読まれる場合はエラーになるため、ks_siteurl() をあきらめて素直に get_bloginfo() にしました。また、Ktai Style 関連スクリプトというのが分かるようにプラグイン名を変更しました。