seo
Catatan teknis seputar web development, DevOps, dan integrasi AI.
22 artikel
- 20.28frontend
Server yang Menulis Judul, Klien yang Mengisi Daftar
Cangkang halaman, metadata, dan judul datang dari server; daftar, tab, dan pencarian debounce 350 ms hidup di satu island klien.
TL;DR: Halaman informasi olahraga baru dibuat. Server hanya menulis metadata dan judul, isi daftarnya diambil di browser. Judul dan metadata dihasilkan di server untuk mesin telusur.
#nextjs#react#seo - 17.58frontend
Ketika Rating Dimatikan, Menyembunyikan Badge Saja Tidak Cukup
Mematikan fitur rating lewat flag ternyata tidak cukup kalau badge kartu dan markup aggregateRating masih tayang. Catatan saya merapikan semua permukaannya.
TL;DR: Gue matiin fitur rating di detail tempat wisata tapi kaget kartu di beranda masih nongolin bintang bahkan JSON-LD-nya masih kebawa. Ternyata fetch detail udah dimatiin tapi kartu sama generator schema masih baca data rating lama. Akhirnya semua dibikin ngecek flag isRatingEnabled dulu biar visual sama markup mati bareng.
#react#seo#feature-flags - 17.38frontend
Migrasi Daftar Klien dari Gambar ke Data-Driven di Next.js
242 nama klien tadinya cuma hidup di dalam gambar. Kini mereka keindeks mesin pencari, kebaca screen reader, dan totalnya dihitung dari datanya.
TL;DR: Dulu daftar 242 klien cuma nempel di satu gambar gede jadi nggak bisa dicopy atau keindeks Google. Akhirnya semua nama dipindah ke kode TypeScript jadi teks asli yang kebaca mesin pencari dan screen reader. Gambar logo tetap dipajang buat visual tapi sekarang ada transkrip teksnya biar tetap sesuai aturan WCAG.
#nextjs#seo#accessibility - 01.27seo
Deskripsi Kartu Perusahaan dari Riset, Bukan Placeholder
Mengganti [PLACEHOLDER] dengan fakta yang bisa diverifikasi, dan kenapa teks generik justru dekat dengan sinyal spam Google.
TL;DR: Isi kartu profil masih placeholder, jadi gw sempat pengen generate teks marketing generik biar kelihatan penuh. Ternyata itu berbahaya, karena Google nganggep konten generik massal sebagai scaled content abuse alias spam. Solusinya mending riset fakta nyata tiap perusahaan, walau singkat, soalnya data valid jauh lebih bernilai daripada teks kosong yang nempel.
#seo#content-strategy#nextjs - 15.29seo
Peta Redirect WordPress ke Next.js di Vercel Tanpa Bocor SEO
Migrasi 21 URL WordPress lama ke Next.js di Vercel tanpa bocor SEO: peta redirect 308 di vercel.json agar trafik lama tidak 404 dan sinyal kanonis tetap utuh.
TL;DR: Gue migrasi WordPress ke Vercel tapi 21 URL lama jadi 404 dan bikin link equity bocor. Akhirnya gue bikin 21 redirect permanen 308 di vercel json soalnya diproses di Edge dan nggak bebani aplikasi. Gue juga benerin canonical yang sebelumnya muter balik biar nggak looping dan Google bisa baca kanonisnya dengan jelas.
#vercel#nextjs#seo - 13.23frontend
Metadata SEO Next.js App Router: Canonical, Hreflang, JSON-LD
Satu helper pageMetadata plus metadataBase dan JSON-LD LocalBusiness menutup canonical, hreflang, dan kartu sosial untuk seluruh route Next.js.
TL;DR: Jadi gitu, satu commit soal metadata bikin 16 route bilingual lolos audit SEO tanpa temuan. Ternyata rahasianya tiga lapis: canonical dan hreflang yang saling nunjuk, metadataBase buat rapiin URL, plus JSON-LD biar Google tahu ini bisnis beneran. Semuanya dikonsolidasi ke satu helper, jadi nambah route baru tinggal panggil fungsi, beres.
#nextjs#seo#i18n - 02.43seo
Sitemap Isi 9.200 Artikel, Google Cuma Indeks Homepage
Pelajaran dari audit situs berita dengan 9.200 artikel di sitemap tapi hampir nol yang terindeks: bedah crawl demand, internal linking, sampai jalur perbaikannya.
TL;DR: Audit sebuah situs berita dengan 9.200 artikel di sitemap menemukan hanya sekitar 44 artikel yang pernah kebagian implessi Google, dan angkanya turun ke nol untuk bulan terbit terbaru. Pemeriksaan teknis bersih semua, jadi masalahnya ada di crawl demand: volume terbit yang jauh melampaui sinyal otoritas plus arsip yang kehilangan jalur tautan internal. Perbaikannya editorial: turunkan volume, bangun tautan kontekstual ke konten lama, pangkas sitemap news, dan cari validasi eksternal.
#seo#google-search-console#crawl-budget - 02.33seo
Sitemap "Tidak Dapat Mengambil" di GSC: Diagnosa Sebelum Panik
Status merah "Tidak dapat mengambil" di GSC bukan berarti sitemap 404. Begini urutan diagnosa dari sisi server sebelum putuskan apa pun.
TL;DR: Sitemap merah di Search Console ternyata bukan berarti file-nya rusak; semua 147 URL balas 200 dan Cloudflare tidak memblokir. Pesan "Couldn't fetch" murni berarti Google belum berhasil menarik data saat percobaan terakhir dan akan retry dalam beberapa hari. Jangan resubmit berulang-ulang; tunggu, cek pakai Test live URL, dan investigasi lebih dalam kalau seminggu masih gagal.
#seo#search-console#cloudflare - 23.44seo
Asisten AI Terbaik 2026: Pilihan Tepat & Tren Agent Runtime
Perbandingan ChatGPT, Claude, Gemini, dan Perplexity per kebutuhan, plus titik temu asisten konsumen dengan agent runtime self-hosted: OpenClaw, Hermes Agent, dan Agent Zero.
TL;DR: Asisten AI 2026 bukan lagi sekadar chatbot pintar, tapi sistem yang ingat konteks dan bertindak otonom. ChatGPT, Claude, Gemini, dan Perplexity tetap unggul sebagai otak sesuai kebutuhan, tapi sifatnya session-based dan datanya di server vendor. Solusinya hibrida: sambungkan ke agent runtime self-hosted seperti OpenClaw, Hermes Agent, atau Agent Zero untuk memori persisten dan kendali data penuh.
#seo#ai#agent-runtime