Membuat URL SEO Friendly di Laravel
Membuat URL SEO Friendly di Laravel

22 Juni 2019 / Muhammad Amirul Ihsan

Assalamualaikum Warrahmatullah Wabarakatuh,

Dalam pembuatan sebuah website tentunya tidak hanya soal fungsionalitasnya saja yang kita perhatikan ada hal diluarnya yang perlu kita perhatikan untuk mendukung website kita, salah satunya adalah SEO atau Search Engine Optimization yang dimana maksudnya adalah mengoptimalkan agar website kita bisa dengan mudah dicari dari mesin pencari macam Google, Bing, DuckDuckGo atau lainnya.

Salah satu faktor yang mempengaruhi SEO ini adalah URL dari website yang kita buat, misalnya kita memiliki halaman dinamis yang mengambil data dari database, defaultnya di Laravel akan menggunakan id sebagai paramter untuk URLnya, nah penggunaan id ini kurang efektif untuk mesin pencari, karena tidak jelas URLnya ini bahas apa sih, kurang lebih seperti itu yang saya tahu, jika ada kesalahan mohon tinggalkan komentar, kita saling belajar.

Nah untuk membuat URL website Laravel kita menjadi SEO friendly kita bisa lakukan dengan cukup mudah di Laravel. Pada dasarnya di Laravel untuk mengambil data dia akan menggunakan id dari data, nah di model Laravel ini bisa dengan mudah kita override sebuah fungsi pada model Laravel, jadi pada model Laravel kita bisa menambahkan baris kode berikut pada model Article yang saya miliki.

public function getRouteKeyName()
{
    return 'slug';
}

Sedikit penjelasan dari baris kode tersebut ialah, fungsi getRouteKeyName() adalah fungsi dari class model di Laravel yang di extends pada class model yang kita buat, dan kode return 'slug'; adalah memberitahu Laravel bahwa model ini menggunakan field slug untuk mencari datanya.

Nah buat yang belum tahu tentang slug, jadi singkatnya slug itu adalah sebuah teks hasil dari generate sebuah judul / string yang dirubah semua stringnya menjadi huruf kecil & merubah spasi menjadi tanda minus, dash atau apapun kalian menyebutnya tandanya seperti ini (-). Nah slug itu digunakan untuk menyimpan string dari judul suatu artikel pada kasus model Article yang saya punya ini, tentunya kita butuh menambahkan field slug pada tabel di database kita.

Untuk membuat slug di Laravel kita bisa menggunakan Facades Str:: saja pada saat pembuatan sebuah artikel, karena helper string akan dihilangkan pada Laravel 5.9.

Article::create([
    // ..
    'slug' => Str::slug($request->title),
    // ..
]);

Sekian sedikit penjelsaan tentang bagaimana membuat website Laravel kita menjadi SEO Friendly, jika bermanfaat jangan sungkan untuk membagikan.

Wassalamualaikum Warrahmatullah Wabarakatuh.

Suka dengan artikel ini? Bantu bagikan ke yang lainnya :)