SEO untuk developer: HTML yang bisa dibaca crawler, kode HTTP yang tepat, tag head penting, Core Web Vitals yang lolos, dan tetap terlihat oleh AI.

Singkatnya
bagi developer, SEO berarti membuat setiap halaman penting bisa dijangkau, dirender, dan dipahami tanpa ambigu oleh crawler. Sajikan konten utama di HTML awal (server-side rendering atau static generation), kembalikan kode status HTTP yang jujur, taruh title, meta description, canonical, dan direktif robots di respons server, buat link dengan elemen <a href> sungguhan, penuhi ambang Core Web Vitals, dan tambahkan data terstruktur JSON-LD. Sebagian besar crawler AI tidak menjalankan JavaScript: konten yang baru muncul setelah hidrasi tidak terlihat oleh ChatGPT, Claude, dan Perplexity.
Ingin tahu lebih banyak? Tanyakan kepada
Kuis singkat
Apakah SEO cocok untuk Anda, dan bagaimana memulainya?
4 pertanyaan singkat untuk melihat apakah Google bisa mendatangkan pelanggan untuk Anda.
Saran kami untuk Anda
Sorank adalah solusi yang tepat untuk Anda
Orang mencari apa yang Anda jual dan Anda bisa menunggu beberapa bulan: Sorank menemukan pencarian yang tepat, menulis dan menerbitkan artikel, serta mendapatkan tautan untuk Anda.
Sorank cocok dengan jawaban Anda
Coba selama 3 hari di situs Anda sendiri, atau mulai dengan audit gratis untuk melihat posisi Anda.
3 hari gratis, lalu berhenti kapan saja. Garansi uang kembali 90 hari.
SEO untuk developer adalah bagian dari optimasi mesin pencari yang hidup di dalam kode: template, routing, rendering, header, dan performa. Tim marketing memilih kata kunci dan menulis konten, tetapi satu kode status yang salah, rute yang hanya dirender di klien, atau noindex yang terlupa bisa menghapus semua kerja itu dalam sekali deploy. Dasar-dasar SEO JavaScript dari Google menjelaskan tiga fase (crawling, rendering, pengindeksan), dan setiap fase punya titik gagal yang hanya bisa diperbaiki developer. Panduan ini membahasnya sesuai urutan kerusakannya.
| Area | Tanggung jawab developer | Gejala umum saat rusak |
|---|---|---|
| Rendering | Konten utama dan link ada di HTML dari server | Halaman terindeks kosong atau tidak lengkap |
| Kode status | 200, 301, 404, 410, 5xx dikembalikan dengan benar | Soft 404, halaman error terindeks, halaman terhapus masih mendapat peringkat |
| Tag head | Title, description, canonical, robots, hreflang yang unik | Duplikasi, URL yang salah mendapat peringkat, halaman tidak ada di indeks |
| Kontrol crawling | robots.txt, sitemap XML, link internal, parameter | Halaman penting tidak ditemukan, crawling terbuang di filter |
| Performa | Core Web Vitals pada pengguna seluler nyata | Pengalaman halaman buruk, konversi turun |
| Data terstruktur | JSON-LD valid yang sesuai dengan konten terlihat | Tidak ada hasil kaya, entitas membingungkan |
| Akses AI | User agent AI diizinkan, konten terbaca tanpa JavaScript | Merek tidak muncul di jawaban ChatGPT dan Perplexity |
Googlebot merender JavaScript, tetapi pada langkah kedua yang bisa tertunda, dan Google sendiri menulis bahwa server-side rendering atau pre-rendering tetap merupakan ide yang bagus karena lebih cepat bagi pengguna dan crawler, dan tidak semua bot menjalankan JavaScript. Poin terakhir itu kini makin penting: dalam analisis Desember 2024 berjudul The rise of the AI crawler, Vercel menemukan bahwa saat ini tidak ada crawler AI besar yang merender JavaScript, dengan menyebut antara lain GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, dan PerplexityBot. Gemini, yang memakai infrastruktur Google, adalah pengecualian.
| Mode rendering | Yang diterima crawler | Kecocokan untuk SEO |
|---|---|---|
| Client-side rendering (CSR) | Kerangka HTML yang hampir kosong, konten setelah JavaScript berjalan | Lemah: tertunda bagi Google, tidak terlihat oleh sebagian besar crawler AI |
| Server-side rendering (SSR) | HTML lengkap di setiap permintaan | Kuat untuk halaman dinamis |
| Static generation (SSG) | HTML lengkap dibuat saat deploy | Paling kuat untuk konten yang jarang berubah |
| Incremental regeneration (ISR) | HTML statis yang diperbarui terjadwal atau sesuai permintaan | Kuat untuk katalog besar dan blog |
Dua aturan berlaku untuk framework apa pun. Link harus berupa elemen <a> dengan atribut href: Google menyatakan hanya bisa menemukan link dalam bentuk itu, jadi tombol dengan click handler dan rute berbasis fragmen adalah jalan buntu. Setiap rute juga butuh URL sendiri tanpa # yang langsung mengembalikan kontennya. Panduan kami tentang SEO JavaScript, SEO untuk single-page application, dan SEO Next.js membahas detail tiap framework.
Kode status adalah instruksi bagi crawler. Dokumentasi Google tentang kode status HTTP dan error jaringan menjelaskan cara setiap kelompok ditangani:
Periksa apa yang benar-benar dikirim server Anda dengan pemeriksa header HTTP, dan batasi rantai redirect menjadi satu lompatan: artikel kami tentang redirect SEO membahas pola migrasi.
Setiap halaman yang bisa diindeks butuh title dan description unik, canonical yang merujuk ke dirinya sendiri, dan pada situs multibahasa, anotasi hreflang. Simpan semuanya di respons server:
<title>Running shoes for flat feet | Example</title>
<meta name="description" content="Tested picks, sizes and prices.">
<link rel="canonical" href="https://example.com/running-shoes-flat-feet">
<link rel="alternate" hreflang="fr" href="https://example.com/fr/chaussures-pieds-plats">
<meta name="robots" content="index, follow">Tag canonical harus mengarah ke URL yang ingin Anda tampilkan di peringkat, dengan protokol, host, dan aturan garis miring akhir yang persis sama dengan yang dipakai situs Anda.
Perhatian
Jangan pernah mengandalkan JavaScript untuk menghapus noindex. Google menyatakan bahwa saat menemukan tag noindex, ia bisa melewati rendering: halaman yang dikirim dengan noindex di HTML lalu menghapusnya di sisi klien bisa tetap berada di luar indeks.
Mesin pencari mengindeks URL, jadi skema URL adalah keputusan SEO. Gunakan path yang mudah dibaca, huruf kecil, dipisahkan tanda hubung; pilih satu aturan garis miring akhir dan redirect yang lain; pertahankan satu URL untuk satu konten. Filter, pengurutan, dan parameter pelacakan melipatgandakan URL tanpa menambah konten: arahkan canonical-nya ke versi bersih dan jangan menautkan kombinasi parameter yang tidak ingin Anda crawl.
Link internal membawa penemuan sekaligus hierarki. Render navigasi, breadcrumb, dan blok konten terkait di server, beri daftar berhalaman link biasa ke setiap halaman, dan hindari infinite scroll tanpa URL berhalaman di belakangnya. Produk atau artikel yang hanya bisa dijangkau lewat pencarian internal atau filter JavaScript adalah halaman yatim bagi crawler.
robots.txt mengatur crawling, bukan pengindeksan: URL yang diblokir tetap bisa muncul di hasil pencarian jika halaman lain menautkannya. Untuk mengeluarkan halaman dari indeks, biarkan halaman itu di-crawl dan kembalikan noindex. Buat sitemap XML dari rute atau database Anda, cantumkan hanya URL kanonis berstatus 200, dan perbarui lastmod hanya saat konten benar-benar berubah. Uji aturan Anda dengan pemeriksa robots.txt sebelum setiap rilis, dan jangan pernah men-deploy robots.txt staging berisi "Disallow: /" ke produksi.
Google menggunakan Core Web Vitals sebagai bagian dari sinyal pengalaman halaman. Menurut web.dev, sebuah halaman dinilai baik bila mencapai ambang berikut pada persentil ke-75 pemuatan nyata, di seluler maupun desktop:
| Metrik | Yang diukur | Ambang baik | Perbaikan umum dari sisi developer |
|---|---|---|---|
| LCP (Largest Contentful Paint) | Pemuatan | 2,5 detik atau kurang | Preload gambar utama, render bagian atas halaman di server, gunakan CDN |
| INP (Interaction to Next Paint) | Responsivitas | 200 ms atau kurang | Pecah tugas panjang, tunda skrip pihak ketiga, kurangi biaya hidrasi |
| CLS (Cumulative Layout Shift) | Stabilitas visual | 0,1 atau kurang | Tetapkan lebar dan tinggi media, sediakan ruang untuk iklan dan embed |
INP menggantikan First Input Delay sebagai Core Web Vital stabil pada 2024. Nilailah dengan data lapangan (Search Console, Chrome UX Report) dan debug dengan alat lab. Entri glosarium kami tentang Core Web Vitals mencantumkan alat-alatnya.
Gunakan JSON-LD di dalam tag script, dirender di server, yang menjelaskan apa yang terlihat di halaman:
<script type="application/ld+json">
{"@context": "https://schema.org", "@type": "Article",
"headline": "Running shoes for flat feet",
"datePublished": "2026-10-01",
"author": {"@type": "Person", "name": "Jane Doe"}}
</script>Buat dari data yang sama dengan halaman agar keduanya tidak pernah berbeda, validasi di CI, dan hindari menyuntikkannya lewat tag manager. Generator schema menyediakan templat awal untuk tipe-tipe umum.
Tips
Tambahkan pemeriksaan SEO ke pipeline Anda: gagalkan build jika template yang bisa diindeks tidak punya title atau canonical, jika sebuah rute mengembalikan 200 untuk slug yang tidak dikenal, atau jika robots.txt produksi berisi "Disallow: /". Regresi seperti ini murah ditangkap sebelum deploy dan mahal sesudahnya.
Visibilitas di AI dimulai dari akses. Tentukan user agent AI mana yang Anda izinkan (GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, dan lainnya) dan tulis aturan eksplisit di robots.txt; panduan kami tentang robots.txt untuk crawler AI menjelaskan perbedaan bot pelatihan dan bot pencarian. Lalu pastikan teks, harga, spesifikasi, dan FAQ ada di HTML awal, gunakan heading semantik dan tabel alih-alih teks dalam gambar, dan jaga halaman tetap ringan agar cepat diambil. File llms.txt bisa merangkum halaman penting Anda untuk alat AI, tetapi belum ada asisten besar yang mengonfirmasi memakainya: anggap opsional.
Sorank adalah produk kami: software SEO dan GEO yang berjalan dengan autopilot. Developer biasanya mengenalnya lewat integrasi: Sorank menerbitkan artikel ke WordPress, Shopify, Webflow, atau Wix, atau ke stack kustom apa pun melalui webhook, seperti dijelaskan di halaman instalasi. SEO Chat menjawab pertanyaan tentang situs Anda dalam percakapan, dan Pelacakan Sebutan AI memeriksa setiap minggu apakah ChatGPT, Claude, dan Gemini menyebut merek Anda.

Ringkasnya: kirim dari server HTML yang lengkap, kode status yang jujur, dan tag yang benar, lalu ukur performa pada pengguna nyata. Itu melayani Googlebot sekaligus crawler AI yang tidak menjalankan JavaScript. Untuk mengisi situs yang dibangun dengan baik dengan konten yang mendapat peringkat, lihat paket Sorank, mulai dari $49 per bulan dengan uji coba gratis 3 hari.
Tidak selalu bagi Google, yang merender JavaScript, tetapi menambah penundaan dan risiko, dan sebagian besar crawler AI sama sekali tidak menjalankan JavaScript. Untuk halaman yang harus mendapat peringkat atau dikutip, sajikan konten utama dan link di HTML awal melalui server-side rendering, static generation, atau pre-rendering, dan pakai client-side rendering untuk bagian interaktif.
Keduanya memberi tahu Google bahwa halaman sudah tidak ada, dan dalam kedua kasus Google lama-kelamaan berhenti memakai URL tersebut. Kode 410 menandakan penghapusan yang disengaja dan permanen, yang disukai sebagian tim untuk konten yang memang dihapus. Yang terpenting adalah tidak mengembalikan 200 dengan pesan error, karena itu menimbulkan soft 404.
Core Web Vitals adalah bagian dari sinyal pengalaman halaman, yang disebut Google sebagai satu faktor di antara banyak faktor, dengan relevansi dan kualitas konten yang lebih berbobot. Metrik ini terutama menjadi penentu di antara halaman yang mirip dan sangat berpengaruh pada konversi, jadi mencapai ambangnya sepadan dengan usahanya.
MEREKA MENCOBA SORANK SEBELUM ANDA
