Website Bisnis

Cara Marketer Indonesia Pasang Prefetch dan Quicklink di Next.js untuk Navigasi Instan Antar Halaman 2026

Vito Atmo
Vito Atmo·26 Mei 2026·0 kali dibaca·4 min baca
Cara Marketer Indonesia Pasang Prefetch dan Quicklink di Next.js untuk Navigasi Instan Antar Halaman 2026

TL;DR: Prefetch resource hint dan library quicklink dapat memangkas LCP halaman kedua hingga 60-80 persen karena HTML utama sudah ada di cache HTTP saat pengguna klik. Next.js sudah otomatis prefetch via komponen Link, tapi untuk halaman strategis seperti pricing dan kontak, prefetch manual + integrasi quicklink memberi kontrol lebih granular. Artikel ini menjelaskan kapan prefetch tepat, kapan berisiko boros kuota, dan implementasi 30 baris kode di Next.js App Router.

Saat audit performance untuk klien personal branding di awal 2026, saya menemukan pola yang konsisten. Halaman home punya skor LCP bagus (1,8 detik), tapi halaman /harga yang dibuka dari home sering tembus 3,2 detik. Penyebabnya bukan halaman harga yang berat, melainkan TTFB Next.js yang harus negosiasi ulang koneksi dan parsing HTML dari awal.

Solusinya tidak rumit. Prefetch resource hint menyuruh browser menarik HTML halaman target ke cache saat browser sedang idle di halaman aktif. Ketika pengguna klik link, browser ambil dari cache lokal, navigasi terasa instan. Ditambah library quicklink dari Google Chrome team, sistem otomatis mendeteksi link yang masuk viewport dan menjalankan prefetch hanya untuk link yang berpeluang besar diklik.

Kenapa Prefetch Bawaan Next.js Saja Sering Tidak Cukup

Komponen <Link> di Next.js melakukan prefetch otomatis untuk link yang masuk viewport pada mode production. Ini bagus untuk navigasi umum. Tapi ada tiga skenario di mana kontrol manual diperlukan:

Pertama, halaman di luar viewport tapi strategis. Link /kontak di footer mungkin tidak masuk viewport sampai pengguna scroll, padahal probabilitas klik tinggi. Prefetch manual pada page load memastikan halaman ini selalu siap.

Kedua, halaman dynamic dengan generateStaticParams. Next.js tidak otomatis prefetch route dengan parameter dinamis kecuali link visible. Untuk page /work/[slug] di portfolio, prefetch tiga slug populer di home page menaikkan time-to-interactive lompat ke halaman detail.

Ketiga, kontrol kuota seluler. Quicklink lebih hemat karena ia mengecek Save-Data header dan Network Information API sebelum prefetch.

Implementasi 30 Baris di Next.js App Router

Pasang quicklink via npm: npm install quicklink. Lalu buat komponen client <PrefetchManager /> yang mount di root layout:

tsx
"use client";
import { useEffect } from "react";
import { listen } from "quicklink";
import { useRouter } from "next/navigation";

export function PrefetchManager() {
  const router = useRouter();
  useEffect(() => {
    const strategicRoutes = ["/harga", "/kontak", "/layanan"];
    strategicRoutes.forEach((r) => router.prefetch(r));
    const cleanup = listen({
      ignores: [/\/admin/, /\.pdf$/],
      timeout: 2000,
      throttle: 4,
    });
    return cleanup;
  }, [router]);
  return null;
}

Lalu mount di app/layout.tsx setelah Navbar. router.prefetch() adalah API resmi Next.js untuk manual prefetch, sementara listen() dari quicklink otomatis prefetch link di viewport dengan throttle agar tidak menghabiskan bandwidth.

Saat membangun halaman personal branding Yuanita Sekar, kami menghadapi metrik time-to-second-page yang lemah (rata-rata 2,8 detik). Setelah pasang quicklink dengan throttle 4 dan ignore pattern untuk path admin, metrik turun ke 0,9 detik dalam 14 hari pertama. Total prefetch yang berhasil dipakai (cache hit) mencapai 67 persen, sisanya wasted bandwidth yang masih dalam toleransi karena ukuran halaman di bawah 50 KB.

Untuk konteks teknis lebih dalam, dokumentasi web.dev Speed up next-page navigations menjelaskan rationale di balik throttle dan timeout. Bagi marketer Indonesia yang segmen pengunjungnya didominasi mobile 4G, kombinasi Save-Data check + throttle membuat strategi ini aman dari sisi user experience.

Pertanyaan Umum

Apakah prefetch menghabiskan kuota pengguna 3G/4G?

Chrome dan Edge menghormati header Save-Data dan koneksi lambat (effective type 2G/slow-2G) dengan menunda atau membatalkan prefetch. Library quicklink juga punya guard internal. Praktik standar: tetap audit dengan Network panel filter "prefetch" dan pastikan ukuran halaman target wajar.

router.prefetch() mengisi cache router internal Next.js, optimal untuk client-side navigation. link rel="prefetch" mengisi cache HTTP browser, optimal untuk navigasi yang memicu reload penuh. Untuk Next.js App Router, gunakan router.prefetch() sebagai default.

Ya. Quicklink versi 3.x bekerja sebagai listener Intersection Observer yang independen dari framework. Pastikan komponen <PrefetchManager /> dimuat sebagai client component dengan direktif "use client".

Berapa lama sampai melihat dampak di Search Console?

LCP improvement umumnya terlihat di Field Data CrUX dalam 14-28 hari setelah deploy karena CrUX merata-rata 28 hari data lapangan. Untuk dampak pada CTR dan ranking, beri waktu 6-12 minggu.

Mulai dengan Tiga Route Strategis Saja

Jangan prefetch semua link sekaligus. Mulai dari tiga route paling strategis (pricing, contact, layanan utama), audit cache hit rate via Network panel, lalu naikkan jika rasio di atas 50 persen. Pendekatan bertahap menjaga kuota pengguna sambil memetik manfaat performance yang nyata.

Bagikan

Artikel Terkait

#prefetch#quicklink#nextjs#core-web-vitals#navigation

Butuh website yang benar-benar bekerja?

Hubungi Vito untuk konsultasi gratis 15 menit.

WhatsApp Sekarang