Lewati ke konten
Studi Kasus

Studi Kasus: Bug Canonical Paginasi Blog

M. Irfan Ramadhan3 menit baca
Laptop dari sudut miring menampilkan dasbor analitik web dengan grafik pageview per menit dan daftar halaman paling aktif di atas meja gelap.
Foto: Pexels
Daftar Isi

Bug canonical paginasi terjadi ketika halaman paginasi (?page=2 dan seterusnya) menyatakan canonical ke halaman pertama. Di blog ini, 43 dari 52 artikel hanya terdaftar di halaman yang canonical-nya ke /blog, sehingga jalur link internalnya hampir tak terbaca Google. Perbaikannya: canonical mandiri per halaman dan arsip semua artikel.

Ringkasan cepat:

  1. Blog ini menampilkan 9 artikel per halaman sejak versi awal (17 Juli 2026), dan semua halaman paginasi memakai canonical /blog.
  2. Saat bug ditemukan (24 September 2026) ada 52 artikel, jadi 43 di antaranya hanya terdaftar di halaman 2 sampai 6.
  3. Laporan Page indexing Search Console pada hari yang sama mencatat 9 URL artikel berstatus "Discovered - currently not indexed".
  4. Perbaikan: canonical mandiri untuk ?page=N, bagian arsip yang me-link semua artikel, dan redirect untuk URL kategori yang 404.
  5. Hasilnya belum terukur, dan penyebab lain seperti umur domain tetap mungkin berperan.

Apa yang Terjadi pada Halaman Paginasi Blog Ini?

Halaman /blog memakai satu metadata statis: canonical /blog untuk semua varian, baik filter ?kategori= maupun paginasi ?page=. Niat awalnya menghindari konten duplikat. Efek sampingnya, halaman 2 sampai 6 memberi tahu Google bahwa mereka hanyalah salinan halaman 1.

Dokumentasi Pagination Best Practices dari Google Search Central menyarankan agar halaman pertama tidak dipakai sebagai canonical untuk seluruh urutan halaman. Konfigurasi blog ini melakukan persis hal yang disarankan untuk dihindari.

Berapa Artikel yang Terdampak?

Angkanya bisa dihitung langsung dari kode dan git. Konstanta ARTICLES_PER_PAGE bernilai 9 sejak commit pertama blog, dan pada 24 September 2026 ada 52 artikel:

ItemJumlah
Artikel di halaman 1 (canonical /blog)9
Artikel yang hanya ada di halaman 2 sampai 643
Total halaman paginasi6

Artikel tersebut tetap ada di sitemap dan sebagian ditautkan dari artikel lain. Tetapi satu-satunya daftar lengkap artikel di situs ada di halaman-halaman yang menyatakan diri duplikat.

Apa yang Terlihat di Google Search Console?

Laporan Page indexing pada 24 September 2026 menampilkan beberapa kelompok status. Tidak semuanya masalah, jadi berikut cara membacanya:

StatusIsiPerlu diperbaiki?
Discovered - currently not indexed9 URL artikelYa, ini gejala utama
Crawled - currently not indexedGambar OG, font, llms.txt, feed.xmlTidak, bukan halaman biasa
Duplicate without user-selected canonical2 URL ?kategori=Sebagian, filter perlu ditangani
Page with redirectVersi http dan wwwTidak, perilaku normal
Not found (404)5 URL, termasuk /blog/kategoriSebagian, satu punya penyebab jelas

Yang menarik, tidak ada satu pun artikel di kelompok "Crawled - currently not indexed". Artinya, dari data ini Google tidak terlihat menolak isi artikel. Masalahnya ada di penemuan dan penjadwalan crawl, yang sejalan dengan jalur link internal yang lemah.

Bagaimana Memperbaikinya?

Ada tiga perubahan yang diterapkan pada 24 September 2026:

  1. Canonical mandiri untuk paginasi. Halaman ?page=N sekarang menyatakan canonical ke URL-nya sendiri, dengan generateMetadata di Next.js yang membaca searchParams. Filter ?kategori= tetap ber-canonical ke /blog.
  2. Arsip semua artikel. Halaman 1 /blog kini memuat bagian yang me-link setiap artikel, sehingga tiap artikel bisa dicapai dalam dua klik dari beranda lewat halaman yang ter-index.
  3. Redirect kategori. /blog/kategori dan /blog/kategori/:nama dialihkan permanen (308) ke /blog dan /blog?kategori=:nama.

Inti perubahan canonical berbentuk seperti ini:

export async function generateMetadata({ searchParams }: BlogPageProps): Promise<Metadata> {
  const { page, kategori } = await searchParams;
  if (isValidCategory(kategori)) return baseMetadata;
 
  const currentPage = clampPage(page);
  if (currentPage < 2) return baseMetadata;
 
  return {
    ...baseMetadata,
    alternates: { ...baseMetadata.alternates, canonical: `/blog?page=${currentPage}` },
  };
}

Bagaimana Memverifikasi Perbaikannya?

Verifikasi dilakukan langsung pada versi production. Canonical /blog?page=2 dan /blog?page=6 kini mengembalikan URL masing-masing. Untuk arsip, daftar slug dari sitemap dibandingkan dengan slug yang ter-link di /blog, dan hasilnya sama persis: 52 dari 52.

Pemeriksaan serupa bisa dilakukan dengan perintah sederhana:

curl -s https://contoh.com/blog | grep -oE 'href="/blog/[^"?#]+"' | sort -u | wc -l

Bandingkan angkanya dengan jumlah artikel di sitemap. Selisihnya adalah artikel yang tidak punya jalur link dari halaman indeks.

Apa yang Belum Bisa Dipastikan?

Hasil perbaikan ini belum terukur. Laporan Page indexing baru bisa dibandingkan setelah beberapa minggu, dan artikel ini akan diperbarui bila ada data baru. Ada juga penjelasan lain yang tidak bisa disingkirkan: domain ini baru sekitar 10 minggu dan hampir belum punya backlink, dan situs baru memang cenderung dijadwalkan crawl lebih lambat. Karena itu, canonical yang keliru sebaiknya dilihat sebagai satu faktor yang layak dibereskan. Statusnya sebagai penyebab tunggal belum terbukti.

Pelajaran Apa yang Bisa Diambil?

Ringkasan

  • Canonical /blog pada semua halaman paginasi membuat 43 dari 52 artikel hanya terdaftar di halaman yang dianggap duplikat.
  • Search Console mencatat 9 URL artikel "Discovered - currently not indexed", dan tidak ada artikel yang "Crawled - currently not indexed".
  • Perbaikannya berupa canonical mandiri per halaman, arsip semua artikel, dan redirect kategori, semuanya diterapkan 24 September 2026.
  • Efek pada indexing belum terukur dan faktor umur domain masih berperan, jadi evaluasi perlu menunggu data beberapa minggu.
  • Butuh pemeriksaan indexing serupa untuk situsmu? Lihat layanan SEO teknis yang tersedia.

studi kasus · canonical · paginasi · indexing · Google Search Console · Next.js

Pertanyaan yang Sering Diajukan

Apakah canonical ke halaman pertama pada paginasi boleh dipakai?

Tidak dianjurkan. Dokumentasi Google Search Central tentang paginasi menyarankan agar halaman pertama tidak dipakai sebagai canonical untuk seluruh halaman dalam urutan. Setiap halaman paginasi sebaiknya punya URL unik dan canonical yang menunjuk ke dirinya sendiri, supaya isi dan link di dalamnya tetap bisa ditemukan.

Apa arti status Discovered - currently not indexed di Search Console?

Status ini berarti Google sudah menemukan URL tersebut, biasanya lewat sitemap atau link, tetapi belum merayapinya. Penyebabnya bisa jadwal crawl yang lambat untuk situs baru, prioritas rendah, atau kesulitan menemukan jalur link internal. Status ini belum tentu menandakan halaman bermasalah.

Apakah perbaikan canonical ini sudah terbukti mempercepat indexing?

Belum terukur. Perbaikan diterapkan pada 24 September 2026 dan hasilnya baru bisa dinilai dari laporan Page indexing beberapa minggu kemudian. Faktor lain, seperti umur domain yang baru sekitar 10 minggu dan belum banyak backlink, juga memengaruhi kecepatan crawl. Hasilnya akan dicatat di artikel ini.

Artikel Terkait

M. Irfan Ramadhan

SEO Specialist & Web Developer

Menulis tentang SEO teknis, GEO/AI search, dan pengembangan web modern berdasarkan pengalaman langsung mengerjakan proyek klien.