アクセス解析とPV/サイト内検索キーワードランキングの作成 (AccessAnalyticsプラグイン)

設置とインストール

  • pluginsディレクトリに AccessAnalyticsディレクトリを設置します。
  • システムのプラグインの管理画面で、AccessAnalyticsにチェックを入れて有効化します。
  • スキーマ管理画面から「activity」モデルと「seaechword」モデルを選択してアップグレードします。

プラグイン設定

  • アプリのURL : pt-accessanalytics.phpのURLを入力します。アプリへのリクエストがあったときに指定がなければ自動で設定されます。
  • 集計期間 (日) : アクティビティの一覧画面とページビューレポートに表示されるレポートの期間を日で指定します(初期値30)。
  • ランキングの表示件数 : アクティビティの一覧画面に上位表示する件数を指定します(初期値10)。
  • 除外する IPアドレス (カンマ区切り) : アクティビティの除外対象のIPアドレスをカンマ区切りで指定します(システムのみ)。
  • 除外する User-Agent (カンマ区切り) : アクティビティの除外対象の User-Agentの部分文字列をカンマ区切りで指定します(システムのみ)。

アクティビティの一覧

アプリケーション

http://example.com/powercmsx/plugins/AccessAnalytics/app/pt-accessanalytics.php

必要に応じて別の場所に移動してください。
移動した場合は環境変数「accessanalytics_app_url」にURLを追加するか、プラグイン設定の「アプリのURL」にURLを指定してください。
プラグイン設定がある場合は常にそちらが優先されます。

アプリケーションの呼び出し方

pt-accessanalytics.php?url=URLエンコードされたURL&referrer=URLエンコードされたリファラ

ファンクションタグ「mt:accesstracking」を利用すると以下のコードが出力されます。

<script>
var trackingURL='<mt:var name="app_url">?uri='+encodeURIComponent(location.href);
trackingURL+='&referrer='+encodeURIComponent(document.referrer);
var req=new XMLHttpRequest();req.open('GET', trackingURL, true);
req.send(null);
<noscript>
<iframe src="<mt:var name="app_url">?uri=<mt:var name="current_archive_url" escape="url">" height="0" width="0" style="display:none;visibility:hidden">
</iframe>
</noscript>
</script>
  • download=1 パラメタを付与するとアクティビティを保存してからデータをダウンロードさせることができます。

記録されるもの

  • ページへのアクセス
  • サイト内検索
  • フォームへのコンタクトの投稿
  • コメント
  • 会員サイトへのログイン
  • 会員サイトへのログアウト
  • ダウンロード

テンプレート・タグ

ブロックタグ

mt:rankedobjects

アクセスの多い順にオブジェクトをループ出力します。ループの中ではオブジェクトのコンテキストがセットされます。
このタグは LivePreview には対応していません。

予約変数

  • __model__ : オブジェクトのモデル名
  • __first__ : ループの初回に1がセットされます
  • __last__ : ループの最終回に1がセットされます
  • __odd__ : ループの奇数回に1がセットされます
  • __even__ : ループの偶数回に1がセットされます
  • __counter__ : ループのカウンター(1から始まる)
  • __index__ : 'var'属性が与えられた時、ループのカウントがセットされます
  • __total__ : ループの総回数がセットされます(配列またはオブジェクトの数)

セットされる変数

  • object_label : オブジェクトのプライマリカラムの値
  • object_url : オブジェクトのURL
  • object_count : アクセス数の集計
  • object_model : オブジェクトのモデル名
  • object_table : オブジェクトのモデルのラベル名

タグ属性

  • models : モデル名の配列またはカンマ区切りテキスト
  • period : 集計期間(YmdHis 形式のタイムスタンプまたは last[n]days / last[n]weeks / last[n]months / last[n]years)
  • period_end : 集計期間の終わり(YmdHis 形式のタイムスタンプまたは last[n]days / last[n]weeks / last[n]months / last[n]years) 省略時は現在時刻となります
  • class : アクティビティオブジェクトのクラス名(省略時「Page View」)
  • prefix : 変数のプレフィックス(省略時'object')
  • limit : 表示する件数(数値)
  • glue : 繰り返し処理の際に指定された文字列で各ブロックを連結する
  • include_draft : オブジェクトが'status'カラムを持つ時、公開されていない下書きなどのオブジェクトを含む
  • include_workspaces : オブジェクトに'workspace_id'カラムが存在する時、指定のスペースに存在するオブジェクトに絞り込む(カンマ区切りの数字または'this'または'all'または'children')
  • exclude_workspaces : オブジェクトに'workspace_id'カラムが存在する時、指定のスペースに存在しないオブジェクトに絞り込む(カンマ区切りの数字)
  • workspace_id : スペースIDでの絞り込み
  • workspace_ids : 'include_workspaces'のエイリアス

mt:rankedkeywords

検索キーワードを検索された回数順にループ出力します。

予約変数

  • __first__ : ループの初回に1がセットされます
  • __last__ : ループの最終回に1がセットされます
  • __odd__ : ループの奇数回に1がセットされます
  • __even__ : ループの偶数回に1がセットされます
  • __counter__ : ループのカウンター(1から始まる)
  • __index__ : 'var'属性が与えられた時、ループのカウントがセットされます
  • __total__ : ループの総回数がセットされます(配列またはオブジェクトの数)

セットされる変数

  • object_keyword : キーワード(アルファベットについては小文字に揃えられます)
  • object_count : 検索数の集計

タグ属性

  • period : 集計期間(YmdHis 形式のタイムスタンプまたは last[n]days / last[n]weeks / last[n]months / last[n]years)
  • period_end : 集計期間の終わり(YmdHis 形式のタイムスタンプまたは last[n]days / last[n]weeks / last[n]months / last[n]years) 省略時は現在時刻となります
  • prefix : 変数のプレフィックス(省略時'object')
  • limit : 表示する件数(数値)
  • glue : 繰り返し処理の際に指定された文字列で各ブロックを連結する
  • include_workspaces : オブジェクトに'workspace_id'カラムが存在する時、指定のスペースに存在するオブジェクトに絞り込む(カンマ区切りの数字または'this'または'all'または'children')
  • exclude_workspaces : オブジェクトに'workspace_id'カラムが存在する時、指定のスペースに存在しないオブジェクトに絞り込む(カンマ区切りの数字)
  • workspace_id : スペースIDでの絞り込み
  • workspace_ids : 'include_workspaces'のエイリアス

ファンクションタグ

mt:accesstracking

アクティビティを記録します。静的出力時はJavaScriptコードを出力します。

タグ属性

  • url : JavaScriptコードを生成せずにトラッキングPHPプログラムのURLを出力する