面倒だけど無料で使わせてくれてるから別に文句ない。
どういうことか
無料のヒートマップサービスに「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に慣れてる人が恒久的に管理してないと恐い。
移管したときにすっごいめんどくさい、怖い、そんな気がする。
これにより

サイトヘルスが良好になった。
改善の「永続オブジェクトキャッシュを使用してください」は、ロリポップは対応できないと明記されている。
合わせて代案が提示されている。
なので、現環境でやれることはやれました。
最後に
UserHeatは有料版もあるんだよね。
有料版導入時にもプラグインで問題が出るなら、それは良くないと思います。
試してないからわからないけど。

コメント