引数がおしゃれなJavascript解析コード

今年に入って急にお仕事依頼が増え、あまりの忙しさでブログはおろかツイッターの更新すらできませんでした。

という嬉しい悲鳴を上げつつ、最近ようやく自分の時間ができてきたので久しぶりにブログを更新しようと思います。

お仕事していく中で、記事になりそうなネタはいくつかメモしておきました。

そのうち、今回は解析タグについて。

アクセス解析とかヒートマップとかのね。

Javascriptコードをインラインに記述するタイプのなんだけど、その圧縮の仕方が洒落てるな~、真似したいな~と思ったものでメモします☆

どこがどうお洒落なのか

Javascriptの関数には引数を使って値を渡すことができるんだけど、その引数の名前は任意で特に決まっていません。

更に引数は複数渡すこともできます。

っというのが前提にあって、引数名をどうするかっていうところで、例えば

function(id,name,content){ ~

と書いたり、

function(a,b,c,d){ ~

と書いたりできます。

解析コードでも冒頭の部分でこの引数が設定されているので、そこを注意してみてみてください。

おしゃれな解析コード3選

3選というか3つしか出会っていない(笑

  • Googleアナリティクス
  • Clarity
  • User Insight

の3つです。

きっと探せば他にもいろいろ見つかるでしょう。

Googleアナリティクス

▽解析タグ

var flag_gana=false;function ywsgana(){if(flag_gana==false){(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXXXXX', 'auto');
ga('send', 'pageview')};flag_gana=true;};["resize","scroll"].forEach(function(evt){window.addEventListener(evt,ywsgana);});window.addEventListener("load",function(){if(10

▽引数

isogram

実をいうと最初は気付きませんでした(;´Д`)

何度も見ているうちに、isogram?イソグラム?何だろう?と思い調べてみると、この単語には意味がありました。

正確には「アイソグラム」と読むらしいです。

Google検索によると意味は、

アイソグラムは、繰り返し文字のない単語またはフレーズの論理的な用語です。

https://www.google.com/search?q=isogram%E3%81%A8%E3%81%AF

だそうです。

なるほど確かに引数は繰り返さないユニークなものだし、これはきっと狙って付けてるよね。

Clarity

▽解析タグ

var flag_clarity=false;function ywsclarity(){if(flag_clarity==false){(function(c,l,a,r,i,t,y){
c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
})(window, document, "clarity", "script", "XXXXXXXXXX")};flag_clarity=true;};["resize","scroll"].forEach(function(evt){window.addEventListener(evt,ywsclarity);});window.addEventListener("load",function(){if(10

▽引数

Clarity

そもそもClarityとは何かですが、Microsoftが提供するヒートマップツールです。

https://clarity.microsoft.com/

引数に「Clarity」ってあるから、これはClarityのタグなんだな~と分かりやすい!

おしゃれです(*´ω`*)

User Insight

▽解析タグ

(function(h,e,a,t,m,p) {
m=e.createElement(a);m.async=!0;m.src=t;
p=e.getElementsByTagName(a)[0];p.parentNode.insertBefore(m,p);
})(window,document,'script','https://u.heatmap.it/log.js');

▽引数

Heatmp

User Insightについても知らない人がいると思うので簡単に説明すると、ヒートマップ機能を搭載したアクセス解析ツールです。

使ったことはないけど公式サイトにそう書いてありました。

https://ui.userlocal.jp/

このタグも引数を見ると何なのか分かるよね。

本当は「Heatmap」となれば一番良かったんだろうけど、「Heatmp」でもわかるよ、わたしには分かるよ。

若干強引にでも引数は意味のあるものにした方がおしゃれです(*‘∀‘)キリッ

あとがき

ここ最近、WordPressの表示速度改善のお仕事がかなり増えました。

何でもGoogleは2021年5月から、「ページ エクスペリエンス」なるものをランキング付けの要素に導入するとのこと。

▽Google 検索へのページ エクスペリエンスの導入時期
https://developers.google.com/search/blog/2020/11/timing-for-page-experience

ページエクスペリエンスとは以下の5つ。

  • ウェブに関する主な指標
  • モバイル フレンドリー
  • セーフ ブラウジング
  • HTTPS
  • 煩わしいインタースティシャルがない

詳しくは以下に書いてあります。

https://developers.google.com/search/docs/guides/page-experience

中でも「ウェブに関する主な指標」っていうのが、PageSpeed Insightsでも見られる以下の3つ。

  • FID(初回入力遅延)
  • LCP(最大コンテンツの描画)
  • CLS(累積レイアウト変更)

上のGoogleの記事によると、

もうみんなサイトの高速化意識してるみたいだから、そろそろランキングにも反映していくよ

的な感じかな。

PageSpeed Insightsのスコアが直影響しているわけではないけど、FID/LCP/CLSを改善してたら自然とスコアも良くなるものです。

SEO対策という今まで正解はないとか、目に見えないものっていうイメージだったけど、PageSpeed Insightsのスコア改善は「見えるSEO対策」としてスタンダードなものになっていくだろうね。