[wp]UserHeatの致命的な問題を回避した導入方法

面倒だけど無料で使わせてくれてるから別に文句ない。

どういうことか

無料のヒートマップサービスに「User Heat」というものがある。

基本的にサイト内にコードを入れることで分析してくれるようになる。

WordPressに導入するにあたり、プラグインが用意されている。
プラグインを入れてサイトIDを登録すれば設定完了なので、コードをいじらなくて良いのは楽ですね。

で、このプラグインはWordpressの致命的な問題の原因だったりする。

「サイトヘルス」から確認できる。

多分、頑張ればこれらを解消できるのだけど、プラグインを使わなければそもそも発生しない。
じゃあ使わなくていいよね。

WordPressへの問題のない導入

UserHeatの管理画面を開く。

「解析タグ発行」を開く。

「スクリプト」のタグをコピーする。
↓こういうやつ。

<!-- User Heat Tag -->
<script type="text/javascript">
(function(add, cla){window['UserHeatTag']=cla;window[cla]=window[cla]||function(){(window[cla].q=window[cla].q||[]).push(arguments)},window[cla].l=1*new Date();var ul=document.createElement('script');var tag = document.getElementsByTagName('script')[0];ul.async=1;ul.src=add;tag.parentNode.insertBefore(ul,tag);})('//uh.nakanohito.jp/uhj2/uh.js', '_uhtracker');_uhtracker({id:'**********'});
</script>
<!-- End User Heat Tag -->

</body>直前に貼り付けたら良いのだけど、footer.phpよりはfunctions.phpでやったほうが良いという持論。footer.phpはfooter-◯◯.phpで増やせるし、使わない組み方もできる。漏れちゃうとめんどくさい。functions.phpはサイト内全体に掛かるから漏れがない。

ということで、こんなかんじ。

function my_custom_footer_script() {
echo <<<EOD
<!-- User Heat Tag -->
<script type="text/javascript">
(function(add, cla){window['UserHeatTag']=cla;window[cla]=window[cla]||function(){(window[cla].q=window[cla].q||[]).push(arguments)},window[cla].l=1*new Date();var ul=document.createElement('script');var tag = document.getElementsByTagName('script')[0];ul.async=1;ul.src=add;tag.parentNode.insertBefore(ul,tag);})('//uh.nakanohito.jp/uhj2/uh.js', '_uhtracker');_uhtracker({id:'**********'});
</script>
<!-- End User Heat Tag -->
EOD;
}
add_action('wp_footer', 'my_custom_footer_script');

タグに「’」と「”」が使われているので、ヒアドキュメント (<<<)を使っている。
これだとエスケープの手間が省けて良い。

こういうのもある

function my_custom_footer_script() {
?>
<!-- User Heat Tag -->
<script type="text/javascript">
(function(add, cla){window['UserHeatTag']=cla;window[cla]=window[cla]||function(){(window[cla].q=window[cla].q||[]).push(arguments)},window[cla].l=1*new Date();var ul=document.createElement('script');var tag = document.getElementsByTagName('script')[0];ul.async=1;ul.src=add;tag.parentNode.insertBefore(ul,tag);})('//uh.nakanohito.jp/uhj2/uh.js', '_uhtracker');_uhtracker({id:'**********'});
</script>
<!-- End User Heat Tag -->
<?php
}
add_action('wp_footer', 'my_custom_footer_script');

phpを切っちゃうのもひとつ。

だけど、あんまり好きじゃない。

他の方法

GTMから挿入するっていう方法もある。
これもスマートだけど、GTMに慣れてる人が恒久的に管理してないと恐い。

移管したときにすっごいめんどくさい、怖い、そんな気がする。

これにより

サイトヘルスが良好になった。

改善の「永続オブジェクトキャッシュを使用してください」は、ロリポップは対応できないと明記されている。
合わせて代案が提示されている。

Just a moment...

なので、現環境でやれることはやれました。

最後に

UserHeatは有料版もあるんだよね。

有料版導入時にもプラグインで問題が出るなら、それは良くないと思います。

試してないからわからないけど。

コメント

タイトルとURLをコピーしました