PowerCMS X Q&A

PowerCMS Xを用いてWebサイトを構築する際の技術的なヒントや解決策をご紹介します。

固定IPではない環境でAccessAnalyticsプラグインのアクティビティ記録を除外できますか?

MTAccessTrackingタグを利用せず、自身でビューもしくはJavaScriptファイルにアクティビティ送信コードを記述します。その際、Cookie pt-ignore-analytics(Cookie名は任意)を持つユーザーはアクティビティを送信しないようにします。以下がサンプルコードで、アクティビティを送信するコードをif文で囲むだけの変更です。 js-cookieを利用しています。

if (!Cookies.get('pt-ignore-analytics')) {
    let trackingURL = '/path/to/pt-accessanalytics.php?uri=' + encodeURIComponent(location.href);
    trackingURL += '&referrer=' + encodeURIComponent(document.referrer);
    const req = new XMLHttpRequest();
    req.open('GET', trackingURL, true);
    req.send(null);
}

Cookie pt-ignore-analyticsは、サイト運営者しか知らないページを用意してセットするようにします。

Cookies.set('pt-ignore-analytics', '1', { expires: 365 });  // 有効期限は任意

なお、検索ワードの収集は検索結果ページにてJavaScriptではなくMTAccessTrackingタグが動的に処理される必要があります。CookieUtilitiesプラグインを併用し以下のように記述します。

<mt:if name="request.keyword"><mt:ifcookie name="pt-ignore-analytics"><mt:else><mt:accesstracking /></mt:ifcookie></mt:if>

関連するQ&A