Checklist SEO Blog Next.js yang Wajib Beres Sebelum Artikel Pertama
Oleh Anang H. Darmawan

Foto: Juanjo Jaramillo / Unsplash
Banyak blog Next.js diluncurkan dengan tampilan rapi tapi fondasi SEO setengah jadi: semua halaman memakai title yang sama, sitemap belum ada, dan preview saat link dibagikan ke WhatsApp kosong tanpa gambar. Memperbaikinya setelah 30 artikel terbit jauh lebih repot daripada membereskannya sebelum artikel pertama. Berikut checklist yang saya pakai, berbasis App Router.
Struktur URL dan canonical
Tentukan pola URL sekali dan jangan diubah-ubah. /blog/judul-artikel/ lebih baik daripada /blog/2026/08/23/judul-artikel atau /post?id=12. Slug pendek, huruf kecil, dipisah tanda hubung, dan memuat kata kunci utama.
Putuskan juga soal trailing slash lewat opsi trailingSlash di next.config, lalu pastikan canonical mengikuti pilihan itu. Di App Router, set metadataBase di layout root dengan domain produksi, lalu isi alternates.canonical di setiap halaman. Tanpa metadataBase, URL relatif untuk gambar OG dan canonical tidak punya domain yang benar saat build.
Metadata per halaman
Setiap artikel butuh title dan description unik. Pakai generateMetadata di app/blog/[slug]/page.tsx yang membaca data artikel lalu mengembalikan title, description, openGraph, dan twitter. Pasang template title di layout root, misalnya "%s | Nama Blog", supaya nama brand selalu ikut tanpa ditulis ulang di tiap artikel.
Tulis description 140 sampai 160 karakter yang menjawab kenapa orang harus klik, jangan asal memotong paragraf pertama. Kalau kamu punya puluhan halaman lama dengan meta description kosong, Generate meta title/desc SEO membaca konten tiap halaman dan membuat judul serta deskripsi secara batch lewat API LLM, dengan template prompt yang bisa disesuaikan (Rp150.000). Tetap baca ulang hasilnya sebelum dipasang.
OG image dan JSON-LD Article
Gambar Open Graph menentukan tampilan link saat dibagikan di WhatsApp, Facebook, LinkedIn, atau X. Ukuran yang aman adalah 1200 x 630 piksel. Isi openGraph.images di metadata tiap artikel, lalu cek hasilnya di OG Meta Preview sebelum link disebar.
Untuk data terstruktur, sisipkan tag script bertipe application/ld+json di halaman artikel berisi schema Article atau BlogPosting dengan headline, datePublished, dateModified, image, publisher, dan author bertipe Person. Data ini membantu mesin pencari memahami siapa penulisnya dan kapan artikel diperbarui. Validasi dengan Rich Results Test dari Google setelah deploy.
Sitemap, robots, dan RSS
Buat app/sitemap.ts yang menghasilkan daftar URL dari sumber data artikel, jangan daftar yang diketik manual. Dengan begitu artikel baru otomatis masuk, dan lastModified bisa diambil dari tanggal update. Pasangkan dengan app/robots.ts yang menyebut lokasi sitemap.
RSS sering dianggap kuno, padahal masih dipakai pembaca feed dan berbagai layanan otomasi. Di App Router, RSS bisa dibuat lewat route handler, misalnya app/blog/rss.xml/route.ts yang menghasilkan XML dari data yang sama dengan sitemap. Kalau blogmu memakai static export, tandai route handler itu statis dengan export const dynamic = "force-static" supaya ikut di-generate saat build.
Setelah deploy, daftarkan sitemap di Google Search Console. Dari sana kamu juga bisa melihat query apa yang mulai memunculkan blogmu, sumber ide artikel yang jauh lebih akurat daripada tebakan.
Checklist ringkas sebelum artikel pertama
| Item | Yang dicek |
|---|---|
| Pola URL | /blog/slug/, huruf kecil, trailing slash konsisten |
| metadataBase dan canonical | Domain produksi, canonical di tiap halaman |
| Title dan description | Unik per artikel, description 140 sampai 160 karakter |
| OG image | 1200 x 630 piksel, sudah dicek di preview |
| JSON-LD Article | Author Person, datePublished, lolos Rich Results Test |
| Sitemap dan robots | Dibuat dari data, terdaftar di Search Console |
| RSS | Feed valid, tautan artikel memakai URL absolut |
Kalau kamu belum punya fondasi blog sama sekali, Blog MDX SEO-ready (Next.js) adalah template blog HTML, CSS, dan JavaScript dengan struktur meta tag, heading, dan tautan yang sudah rapi, disusun supaya mudah diporting ke Next.js dengan MDX. Paketnya berisi file template lengkap dan panduan kustomisasi, siap di-hosting di Cloudflare atau Netlify, seharga Rp250.000.
Ambil satu artikel draf, jalankan build, lalu buka file HTML hasilnya. Cari tag title, meta description, og:image, canonical, dan script ld+json. Kalau kelimanya ada dan isinya benar, blogmu siap menerima artikel pertama.
