URL rewriting adalah teknik mengubah struktur URL yang dinamis, rumit, atau berisi parameter angka menjadi tautan yang bersih, mudah dibaca manusia, dan ramah mesin pencari (SEO-friendly). Praktik terbaik melibatkan penggunaan huruf kecil, pemisahan kata dengan tanda hubung (hyphen), serta penerapan pengalihan (redirect) 301 yang tepat guna mencegah duplikasi konten.
Aturan Utama Struktur URL Rewriting
Menerapkan aturan URL yang konsisten berdampak langsung pada kemudahan perayapan oleh bot mesin pencari dan pengalaman pengguna (UX). Berikut adalah matriks perbandingan praktik yang dianjurkan versus yang harus dihindari:
| Parameter | Praktik Terbaik (Do) | Praktik Buruk (Don't) |
|---|---|---|
| Pemisah Kata | Menggunakan tanda hubung (-) | Menggunakan garis bawah (_) atau spasi |
| Kasus Huruf | Huruf kecil (lowercase) sepenuhnya | Kombinasi huruf besar & kecil (CamelCase) |
| Panjang URL | Pendek, padat, dan mengandung kata kunci utama | Panjang dan menyertakan kategori bersarang yang berlebihan |
| Ekstensi File | Dihilangkan (.html, .php) | Disertakan secara eksplisit di akhir URL |
Implementasi Teknis dengan Apache mod_rewrite
Pada peladen web Apache, proses penulisan ulang URL dikonfigurasi melalui berkas .htaccess. Pastikan modul mod_rewrite telah aktif sebelum menerapkan aturan di bawah ini.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# Hentikan proses jika berupa file atau direktori asli
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Ubah /profil/id/123 menjadi /profil.php?id=123
RewriteRule ^profil/([0-9]+)/?$ profil.php?id=$1 [L,QSA]
# Hilangkan ekstensi .php secara otomatis
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^/]+)$ $1.php [L]
</IfModule>
Langkah-Langkah Implementasi dan Pengalihan (Redirect)
Ketika mengubah struktur URL dari sistem lama ke sistem baru yang bersih, Anda wajib mengonfigurasi pengalihan agar peringkat halaman di mesin pencari tidak hilang.
- Petakan URL Lama ke URL Baru: Buat daftar pemetaan lengkap antara struktur URL lama yang menggunakan parameter dengan URL baru yang sudah ditulis ulang.
- Terapkan Redirect 301: Gunakan status HTTP 301 (Moved Permanently) untuk memberitahu perayap web bahwa halaman telah pindah permanen.
Redirect 301 /lama.php https://namadomain.com/baru - Perbarui Tautan Internal (Internal Links): Pastikan seluruh tautan di dalam situs web mengarah langsung ke URL baru untuk menghindari rantai pengalihan (redirect chains) yang memperlambat pemuatan halaman.
- Validasi Peta Situs (Sitemap.xml): Perbarui berkas sitemap agar hanya menyertakan URL kanonik yang baru dan aktif.
Troubleshooting Masalah Umum
Kesalahan konfigurasi sering kali memicu masalah seperti perulangan pengalihan (redirect loop) atau galat 404 Not Found. Pastikan bendera (flags) seperti [L] (Last) terpasang dengan benar untuk menghentikan pemrosesan aturan lanjutan jika sebuah kondisi telah terpenuhi. Hindari penggunaan parameter query yang terlalu kompleks di dalam aturan rewrite agar peladen tidak mengalami beban komputasi berlebih.