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

Next.jsのPreview Mode時はAnalyticsを無効化する

cookieの__next_preview_dataキーで判定

Next.js 11

手軽にアップグレードできた

VercelのNode.jsバージョンを変更する

Settings => General => Node.js Version から変更できる

FigmaでSVG Octocatを作る その3

アウトライン化大事