プリレンダリング (Prerender) とは、ユーザーが次にアクセスする可能性の高いページを、バックグラウンドで事前にレンダリング (HTML の解析、CSS の適用、JavaScript の実行) しておく最適化技術です。実際にリンクをクリックしたとき、既にレンダリング済みのページが即座に表示されるため、体感的にはゼロ秒でページが切り替わります。
Chrome は Speculation Rules API を通じてプリレンダリングをサポートしています。HTML に <script type="speculationrules"> を記述し、プリレンダリング対象の URL パターンを指定します。Chrome はユーザーの行動を予測し、クリックされる可能性が高いリンクを事前にレンダリングします。
短縮 URL のリダイレクト体験を劇的に改善する手段としてプリレンダリングは有効です。通常、短縮 URL をクリックすると、DNS 解決 → TCP 接続 → リダイレクトレスポンス → リダイレクト先の DNS 解決 → ページ読み込みという複数のステップが発生します。プリレンダリングが効いていれば、これらすべてが事前に完了しており、クリック後は即座にページが表示されます。
プリレンダリングの注意点として、リソース消費があります。プリレンダリングはページ全体をバックグラウンドで読み込むため、ユーザーの通信帯域とデバイスのメモリを消費します。モバイル環境ではデータ通信量の増加が問題になる可能性があるため、確度の高いリンクに絞って適用すべきです。
プリレンダリングの段階的な代替手段として、dns-prefetch (DNS 解決のみ)、preconnect (DNS + TCP + TLS)、prefetch (リソースのダウンロードのみ) があります。リソース消費と効果のバランスで使い分けます。関連書籍は Amazon でも探せます。