SOTA-JP.COM

書評、WordPress、アフィリエイト、米国株投資

AMPページでもJetpackの統計情報を有効にする方法。ワードプレスでアクセス解析。

投稿日:2018年5月19日 更新日:

アクセス解析

Jetpackプラグインの統計情報は、アクセス解析としてとても便利です。

GoogleAnalyticsほど高機能ではありませんが、むしろシンプルだからこそ使いやすいとも言えます。

そのJetpackの統計情報ですが、アクセス解析をする際にjavascriptを使用しています。

なので、自前のjavascriptの使用が禁止されているAMPページでは、そのままでは動かないんです。

でも大丈夫。ひとてま加えればちゃんと動きます。

AMPページでJetpack統計情報を使う方法

Jetpackの統計情報では、javascriptを使った方法とは別に、gif画像を使った解析方法も用意してくれています。

pixel.wp.comに保存されているgif画像を自分のページに埋め込む。
そうすることで、javascriptが使えなくてもアクセス解析が有効になるんです。

方法1:AMPプラグインを使用する

では、具体的にどのように実装するか。

いちばん簡単な方法は、Jetpackプラグインの開発元であるAutomattic社など複数社が共同で開発しているAMPプラグインを使用する方法です。

このプラグインを有効にするだけで、自動的にAMPページ内で統計情報が有効になります。

方法2:AMPプラグインのコードを拝借する

では、プラグインを使わずに自力でAMP対応している場合はどうするか。

その場合は、AMPプラグインのコードを一部拝借するのが楽だと思います。

gif画像の読み込みは、同プラグインのjetpack-helper.phpというファイルの中にあるjetpack_amp_build_stats_pixel_url()という関数が行っています。

ソースコードはこうです。

function jetpack_amp_build_stats_pixel_url() {
  global $wp_the_query;
  if ( function_exists( 'stats_build_view_data' ) ) { // added in https://github.com/Automattic/jetpack/pull/3445
    $data = stats_build_view_data();
  } else {
    $blog = Jetpack_Options::get_option( 'id' );
    $tz = get_option( 'gmt_offset' );
    $v = 'ext';
    $blog_url = parse_url( site_url() );
    $srv = $blog_url['host'];
    $j = sprintf( '%s:%s', JETPACK__API_VERSION, JETPACK__VERSION );
    $post = $wp_the_query->get_queried_object_id();
    $data = compact( 'v', 'j', 'blog', 'post', 'tz', 'srv' );
  }
  $data['host'] = isset( $_SERVER['HTTP_HOST'] ) ? rawurlencode( $_SERVER['HTTP_HOST'] ) : '';
  $data['rand'] = 'RANDOM'; // amp placeholder
  $data['ref'] = 'DOCUMENT_REFERRER'; // amp placeholder
  $data = array_map( 'rawurlencode' , $data );
  return add_query_arg( $data, 'https://pixel.wp.com/g.gif' );
}

これをfunctions.phpなどに貼り付けて、AMP用のfooter.phpに次のコードを書き加えます。

<amp-pixel src="<?php echo esc_url( jetpack_amp_build_stats_pixel_url() ); ?>"></amp-pixel>

こうすることで、AMPページでもJetpack統計情報が有効になります。

まとめ

AMPページでJetpack統計情報を使えるようにするのは、意外とカンタンです。

なので、GoogleAnalyticsだけではなく、ぜひJetpack統計情報も有効にしておきましょう。

  • 詳細にアクセス解析したいならGoogleAnalytics。
  • リアルタイムに近いかたちでその日のアクセス数を知りたいならJetpack。

そうやって使い分けるのがオススメです。