WordPress SEO by Yoastでイベントトラッキングが使えない時

Pocket

「WordPress SEO by Yoast」という有名なプラグインがあります。
簡単な手順でgoogleanalytics用のアクセス解析を提供してくれるwordpress用のプラグインです。

しかし不便な面もあり、「WordPress SEO by Yoast」を入れるとイベントが今までのコードで取得できなくなります。
多くの方は以下のような形で書かれていると思います。
ga(‘send’, ‘event’, ‘button’, ‘click’, ‘nav buttons’, 4);

イベントが取得できない理由は、名前の衝突を避けるため
ga();ではなく__gaTracker();が用意されているためです。

単純な解決方法は
ga(‘send’, ‘event’, ‘button’, ‘click’, ‘nav buttons’, 4);

__gaTracker(‘send’, ‘event’, ‘button’, ‘click’, ‘nav buttons’, 4);
と置き換えることです。
一行、二行ぐらいならこちらのほうが楽に解決できると思います。

問題は大量にある場合ですが、以下のように記述すれば解決します。

自動生成部分とコメントで囲んでる部分はwp_head()からyoastが呼び出される部分と思って下さい。
ga = __gaTracker;
だけでも上手くいく事もありますが、analytics.jsの取得が遅い場合は失敗することがあります。

コメントを残す

メールアドレスが公開されることはありません。