Saya mendengar perbincangan para pakar SEO tentang slugs artikel yang clean, aku sendiri kurang paham tentang definisi "clean" dalam pembahasan tersebut. Kebanyakan dari mereka menggunakan wordpress.
Tapi satu hal yang mengganjal di pikiran saya adalah bagaimana caranya menggenerate slugs untuk artikel blog saya yang notabene menggunakan codeIniter? karena saya yakin ini sangat "unclean" jika masih polosan berupa uri segment default macam gini:
www.site.com/index.php/blog/view/7
Sepengetahuan saya, slugs merupakan permalink hasil generate dari judul artikel, sehingga tampak memikat para pembaca dan mesin pencari, mungkin kira-kira akan menjadi seperti ini:
www.site.com/index.php/blog/view/once-upon-a-time
Masalahnya adalah bagaimana cara membuatnya otomatis di codeigniter?
Penyelesaian
Saya hanya menyimpan slugs di tabel database saya, di kolom yang diberi nama slugs, kemudian menjadikannya acuan / referensi / parameter bagi setiap artikel / postingan. Caranya kurang lebih seperti berikut:
public function view($slug)
{
$query = $this->db->get_where('posts', array('slug' => $slug), 1);
// Fetch the post row, display the post view, etc...
}
Selanjutnya, dengan mudah kita dapat membuat slug dari judul postingan, cukup gunakan url_title() yang merupakan bagian dari URL helper codeIgniter.
// Use dashes to separate words;
// third param is true to change all letters to lowercase
$slug = url_title($title, 'dash', true);
Tips
Barang kali kamu ingin slug unik untuk setiap artikel, maka tinggal sisipkan saja kunci unik di nama slugs, contoh ambil dari waktu mungkin, sehingga postingan anda tidak ambigu, dan memungkinkan terhindar dari crash atau kekacauan di aplikasi web kamu.