Bahasa Indonesia punya keuntungan yang jarang disadari dalam urusan slug: sejak ejaan dibakukan lewat EYD tahun 1972, bahasa ini sepenuhnya ditulis dengan huruf Latin polos tanpa diakritik sama sekali — tidak ada huruf seperti é, ñ, atau ü yang perlu ditransliterasi atau dihilangkan. Judul "Halo, Dunia!" nyaris tidak kehilangan informasi apa pun saat diubah jadi slug, berbeda dengan bahasa-bahasa yang huruf beraksennya membawa makna sendiri.
Apa yang dilakukan konversi slug
- Mengubah semua huruf menjadi huruf kecil.
- Mengganti spasi dan tanda baca dengan tanda hubung.
- Menghapus karakter di luar Latin dasar, yang jarang muncul dalam teks bahasa Indonesia asli.
- Menyingkat tanda hubung berulang dan menghapus tanda hubung di awal dan akhir.
Misalnya, judul "Halo, Dunia! Apa kabar?" menjadi sesuatu seperti halo-dunia-apa-kabar — tanpa kehilangan huruf apa pun, hanya tanda bacanya.
Mengapa URL-encode biasa saja tidak cukup
Percent-encoding (misalnya %21 untuk tanda seru) secara teknis valid di URL, tapi tidak dapat dibaca manusia dan terlihat tidak tepercaya di bilah alamat atau saat berbagi tautan. Slug memecahkan masalah keterbacaan itu, bukan hanya validitas teknis.
Untuk apa ini dibutuhkan
- Menghasilkan URL posting blog secara otomatis dari judul berbahasa Indonesia.
- Membuat pengenal yang mudah dibaca dari nama produk untuk toko online.
- Membentuk nama berkas atau class CSS dari teks apa pun, menghindari karakter yang tidak diizinkan.
Kolisi: ketika judul berbeda menghasilkan slug yang sama
Judul "Halo, Dunia!" dan "halo dunia" setelah normalisasi (huruf kecil, penghapusan tanda baca) akan menjadi slug yang sama, yaitu halo-dunia, meskipun teks aslinya berbeda. Jika slug digunakan sebagai pengenal unik (misalnya, dalam URL artikel), kolisi seperti ini perlu ditangani secara terpisah — biasanya dengan menambahkan sufiks angka atau ID pada duplikatnya.