先日、Googleの検索アルゴリズムでPageSpeed Insights(Core Web Vitals)の結果を試験的に導入というニュースが流れた。
【SEO対策】Core Web Vitalsでも記載した通り、当サイトでもCore Web Vitalsの調査を行っていて、


先日までCore Web Vitalsで重要な三要素であるLCP、FIDとCLSはオールグリーンであったが、最近仕様変更があったのか?記事詳細ページで確認してみると、

スコアの色がオレンジになっている。
何が問題なのか?を確認するためにラボデータを見てみると、


Largest Contentful Paintのスコアが極端に遅くてオレンジになっている。
改善の内容にはGoogle Analyticsの読み込みしか記載されていない。


ブラウザの開発者ツールのnetwork(ネットワーク)で確認してみると、Google Analyticsのタグの取得が上位にあるので、これが原因かと…
ただ、読み込みだけでLCPが遅くなるのは謎だ。
試しにGoogle Analyticsのタグを下記のように変更してみた。
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="//www.googletagmanager.com/gtag/js?id=UA-XXXXXXXX-Y"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-XXXXXXXX-Y');
</script>
※UA-XXXXXXXX-Yはサイトによって異なる
このGoogle Analyticsのコンソールで配布されているコードを
<script>
window.onload = function(){
var scriptTag = document.createElement("script");
scriptTag.src = "//www.googletagmanager.com/gtag/js?id=UA-XXXXXXXX-Y";
document.body.appendChild(scriptTag);
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-XXXXXXXX-Y');
};
</script>
onloadイベントでGoogle Analyticsのコードを取得と取得後のコードを実行するように修正してみた。
この対応後に再びPageSpeed Insightsを確認してみたところ、


ラボデータのLargest Contentful Paintのスコアが2倍以上速くなってグリーンになった。
念の為に今回の対応に問題がないか?Google Analyticsのコンソールを開き、リアルタイムレポートを確認してみたところ、

一応、こちらのアクセスに対して反応した。
あとは今日一日を終え、いつも通りに集計できているかの確認が必要だ。
追記
<script>タグの読み込みでasyncとdeferで大丈夫ではないか?と思い、どちらも試したけれども、どちらもダメだった。
HTMLScriptElement - Web API | MDN




