Next.jsで「使用していないJavaScriptの削除」に別pageのjsが含まれている場合

公開日時

Next.jsで作ったサービスのトップページを PageSpeed Insights で分析したところ67点だった。

lighthouse1

SSGかつ数件のデータをリスト表示しているだけなので、もっと良い点になると思っていたが悲しい結果になってしまった。

「改善できる項目」を確認すると「使用していないJavaScriptの削除」に別ページのjsが含まれており、かつこのjsのサイズが大きかった。

トップページからこの別ページにはLinkを設定していた。

lighthouse2

next/Linkはデフォルトでprefetchが有効だということを思い出し、これが原因だと気づいた。

そこで↓のようにprefetchの無効化を実施。

<Link href="/some" prefetch={false}>
  Some Page
</Link>

再度PageSpeed Insightsで分析したところ94点まで改善した。

lighthouse3

アクセス頻度が低いページへのリンクの場合はprefetchを無効化するのを忘れないようにしよう。


Related #next.js

FigmaでSVG Octocatを作る その3

アウトライン化大事

Next.jsプロジェクトのGoogle Analytics V3をV4に更新する

トラッキングIDの差し替えのみで対応が完了した

Vercelで指定のブランチのみデプロイを実行する

Ignored Build Stepを設定した