Banyak artikel SEO on-page yang beredar isinya sama: title tag, meta description, H1. Selesai. Padahal halaman yang stuck di posisi 8-15 biasanya bukan karena lupa nulis meta description—tapi karena ada 3-4 faktor teknis yang diabaikan setelah checklist "standar" dicentang semua.
Saya sudah audit ratusan halaman sejak 2014. Pola yang muncul terus: tim konten rajin nulis, tapi halaman nggak naik karena ada gap antara apa yang mereka kerjakan dan apa yang sebenarnya Google evaluasi. SEO on-page checklist lengkap yang benar itu bukan soal panjang daftarnya—tapi soal urutan dan prioritas.
Artikel ini adalah workflow yang saya pakai sendiri sebelum publish atau sebelum optimasi ulang halaman yang underperform. Bisa langsung dicopy ke Notion atau Google Sheets.
1. Riset Intent Sebelum Nulis Satu Kata pun
Ini yang paling sering diskip. Orang langsung loncat ke "keyword density" padahal belum tahu mau jawab intent apa.
Buka SERP untuk keyword target kamu. Lihat 5 hasil teratas:
- Apakah semuanya artikel blog, atau ada halaman produk/kategori?
- Apakah formatnya how-to, listicle, atau comparison?
- Berapa rata-rata panjang kontennya?
Kalau 4 dari 5 hasil teratas adalah artikel how-to dengan rata-rata 1.500 kata, tapi kamu publish halaman landing page produk 300 kata—nggak peduli seberapa bagus on-page kamu, intent-nya sudah salah dari awal.
Tools yang saya pakai: Ahrefs (lihat SERP overview + content gap) atau gratis pakai SE Ranking versi trial. Untuk pasar Indonesia, jangan lupa cek intent-nya memang bahasa Indonesia—bukan asumsi dari keyword berbahasa Inggris.
2. Struktur Title Tag dan Meta Description yang Benar
Title tag bukan sekadar tempat naruh keyword. Ada beberapa hal yang sering salah:
Title tag:
- Panjang ideal: 50-60 karakter (bukan kata, tapi karakter). Lebih dari itu terpotong di SERP.
- Primary keyword sebaiknya di depan, bukan di belakang.
- Hindari keyword stuffing seperti "Harga Laptop Murah | Laptop Murah Jakarta | Beli Laptop Murah". Google bisa rewrite title kamu kalau dianggap spam.
- Tambahkan modifier yang relevan: tahun, lokasi, atau angle spesifik ("2025", "untuk pemula", "tanpa modal").
Meta description:
- Bukan faktor ranking langsung, tapi mempengaruhi CTR.
- Panjang: 140-160 karakter.
- Sertakan primary keyword secara natural—Google akan bold kata yang match dengan query pengguna.
- Tulis seperti iklan mini: ada hook, ada benefit, ada implicit CTA.
Contoh meta description yang buruk:
"Artikel ini membahas tentang cara membuat website yang baik dan benar untuk pemula maupun yang sudah berpengalaman."
Contoh yang lebih baik:
"Buat website pertama kamu dalam 2 jam—tanpa coding. Panduan step-by-step khusus pemula, sudah diuji di 2025."
3. Hirarki Heading yang Logis (Bukan Sekadar H1-H6)
Aturan dasarnya simpel: satu H1 per halaman, isinya primary keyword. Tapi banyak yang salah di level H2-H3.
Heading bukan dekorasi. Fungsinya dua: bantu Google memahami struktur konten, dan bantu pembaca scan sebelum baca full.
Yang sering saya temukan saat audit:
- H2 isinya pertanyaan yang nggak ada hubungannya dengan topik utama (biasanya karena copy-paste dari template FAQ)
- H3 dipakai sebelum ada H2 (broken hierarchy)
- Keyword sekunder yang harusnya masuk H2 malah dijadikan bold biasa
Praktisnya: tulis semua heading dulu sebelum nulis konten. Baca ulang heading-nya saja—apakah sudah membentuk outline yang masuk akal? Kalau jawabannya iya, baru isi kontennya.
Untuk SEO on-page checklist lengkap ini, target saya adalah setiap H2 mengandung setidaknya satu secondary keyword atau variasi semantik dari primary keyword.
4. Optimasi Konten: Kedalaman, Bukan Panjang
Panjang konten bukan faktor ranking. Kedalaman iya.
Perbedaannya: artikel 2.000 kata yang mengulang hal yang sama 5 kali vs artikel 900 kata yang menjawab semua sub-pertanyaan yang mungkin dimiliki pembaca—Google lebih suka yang kedua.
Cara saya mengukur kedalaman:
Cek "People Also Ask" (PAA) untuk keyword target. Kalau ada 5 pertanyaan di PAA dan artikel kamu tidak menjawab satupun, itu gap yang perlu diisi.
Cek konten kompetitor dengan Ahrefs Content Gap. Masukkan 3 URL kompetitor teratas, lihat keyword apa yang mereka rank tapi kamu tidak. Keyword-keyword itu biasanya topik yang belum kamu cover.
Gunakan NLP sederhana. Copy konten kompetitor teratas ke Google Docs, pakai Add-on seperti "Word Frequency" untuk lihat kata/frasa apa yang sering muncul. Itu sinyal topik yang relevan secara semantik.
Satu hal yang sering diabaikan: internal linking dari halaman ini ke halaman lain yang relevan. Bukan sekadar naruh link—tapi pastikan anchor text-nya deskriptif dan relevan. Kalau kamu punya artikel tentang riset keyword, link dari sini dengan anchor "cara riset keyword untuk pemula" jauh lebih baik daripada "klik di sini".
Bicara soal riset keyword, saya pernah bahas workflow lengkapnya di panduan riset keyword untuk pasar Indonesia—bisa jadi referensi sebelum kamu mulai nulis konten baru.
5. Optimasi Gambar dan Media
Ini bagian yang paling sering di-skip karena dianggap minor. Padahal untuk niche tertentu (kuliner, properti, fashion), gambar bisa jadi traffic source tersendiri via Google Images.
Checklist gambar:
- Nama file deskriptif sebelum upload:
seo-on-page-checklist.webpbukanIMG_20250101_001.jpg - Alt text berisi deskripsi gambar yang natural—bukan keyword stuffing. Kalau gambarnya screenshot Ahrefs, alt text-nya: "Screenshot Ahrefs menampilkan keyword difficulty untuk query SEO on-page"
- Format: WebP untuk foto, SVG untuk ilustrasi/ikon. PNG hanya kalau butuh transparansi.
- Ukuran file: di bawah 100KB untuk gambar biasa, di bawah 200KB untuk hero image. Pakai Squoosh (gratis, browser-based) kalau belum ada pipeline otomatis.
- Lazy loading: pastikan atribut
loading="lazy"ada di semua gambar below the fold.
<!-- Contoh implementasi yang benar -->
<img
src="/images/seo-on-page-checklist.webp"
alt="Diagram SEO on-page checklist lengkap dengan urutan prioritas"
width="800"
height="450"
loading="lazy"
/>
Satu hal yang jarang dibahas: dimensi gambar harus selalu didefinisikan di HTML (width dan height). Tanpa ini, browser tidak tahu berapa ruang yang harus dialokasikan sebelum gambar load—ini langsung mempengaruhi Cumulative Layout Shift (CLS), salah satu Core Web Vitals.
6. Technical On-Page: Yang Sering Lolos dari Radar
Ini bagian yang membedakan checklist biasa dengan SEO on-page checklist lengkap yang sebenarnya.
Canonical tag. Setiap halaman harus punya canonical tag yang menunjuk ke dirinya sendiri (self-referencing canonical), kecuali ada versi duplikat yang perlu dikonsolidasi. Cek dengan cara: lihat source code halaman, cari <link rel="canonical".
Schema markup. Untuk artikel blog: gunakan Article schema. Untuk halaman produk: Product schema. Untuk FAQ: FAQPage schema. Schema bukan faktor ranking langsung, tapi bisa trigger rich result yang meningkatkan CTR secara signifikan. Google Rich Results Test (gratis) bisa validasi implementasinya.
URL structure. URL yang baik: pendek, deskriptif, mengandung primary keyword, pakai tanda hubung (bukan underscore). Contoh: /blog/seo-on-page-checklist-lengkap bukan /blog/?p=1234 atau /blog/artikel_seo_on_page_2025_final_v2.
Mobile-friendliness. Mayoritas traffic Indonesia datang dari mobile. Cek dengan Google Mobile-Friendly Test. Yang sering jadi masalah: font terlalu kecil (di bawah 16px), tombol terlalu berdekatan, konten lebih lebar dari viewport.
Page speed. Target Core Web Vitals untuk halaman yang mau rank kompetitif:
- LCP (Largest Contentful Paint): di bawah 2,5 detik
- FID/INP: di bawah 200ms
- CLS: di bawah 0,1
Cek dengan PageSpeed Insights. Kalau skor mobile di bawah 70, itu prioritas sebelum optimasi konten apapun.
Untuk audit teknis yang lebih dalam, saya rekomendasikan baca dulu cara audit SEO teknis dengan Screaming Frog—banyak dari checklist di atas bisa dicek sekaligus lewat tool itu.
Tabel Prioritas: Mana yang Dikerjakan Duluan?
| Faktor | Impact | Effort | Prioritas |
|---|---|---|---|
| Search intent match | Tinggi | Sedang | 🔴 Pertama |
| Title tag & H1 | Tinggi | Rendah | 🔴 Pertama |
| Kedalaman konten | Tinggi | Tinggi | 🔴 Pertama |
| Internal linking | Sedang | Rendah | 🟡 Kedua |
| Schema markup | Sedang | Sedang | 🟡 Kedua |
| Optimasi gambar | Sedang | Rendah | 🟡 Kedua |
| Core Web Vitals | Tinggi | Tinggi | 🔴 Pertama |
| Meta description | Rendah (ranking) / Tinggi (CTR) | Rendah | 🟡 Kedua |
| Canonical tag | Sedang | Rendah | 🟡 Kedua |
Kalau halaman kamu sudah publish dan stuck, urutan audit yang saya sarankan: cek intent dulu, lalu Core Web Vitals, baru konten. Jangan langsung rewrite konten kalau ternyata masalahnya page speed atau canonical yang salah.
Kesimpulan: SEO On-Page Checklist Lengkap Bukan Dokumen Statis
Checklist ini bukan sesuatu yang dikerjakan sekali lalu dilupakan. Algoritma Google berubah, kompetitor update konten mereka, dan intent pengguna bisa bergeser—terutama di pasar Indonesia yang trennya cepat.
Yang saya lakukan: setiap halaman penting di-review minimal 6 bulan sekali. Bukan rewrite total, tapi cek apakah masih relevan dengan SERP saat ini, apakah ada gap konten baru, dan apakah internal link masih pointing ke halaman yang relevan.
Apa yang harus kamu lakukan besok? Ambil satu halaman yang stuck di posisi 6-15, buka SERP untuk keyword targetnya, dan bandingkan intent-nya dengan apa yang kamu publish. Kalau ada mismatch—di situlah masalah utamanya. Baru setelah itu jalankan checklist teknis dari atas.
Kalau kamu mau template checklist ini dalam format spreadsheet yang bisa langsung dipakai tim, tinggalkan komentar di bawah—saya akan buatkan versi downloadable-nya.