Cara Mempercantik Search URL di WordPress Tanpa Plugin


WordPress telah memberikan kemudahkan untuk membuat alamat situs pada tiap-tiap artikel menjadi lebih mudah terbaca (pretty URL), tanpa harus kita membuat kode ataupun mengkonfigurasi web server pada situs. Namun sayangnya, pretty URL hanya berlaku untuk tiap-tiap artikel atau halaman (page) saja, tidak pada kotak pencariannya (search box). Bisa dilihat sendiri ketika kita mencari suatu artikel alamat yang ditampilkan seperti ini domainAnda.com/?s=cari&artikel telihat sulit dibaca bukan dibandingan dengan seperti ini domainAnda.com/search/cari+artikel ? Nah artikel kali ini kita akan membahas tentang bagaimana cara mempercantik search URL tanpa plugin.

Singkat Cerita

Singkat cerita berawal dari percakapan dengan Pak Suwondo mengenai situsnya yang menggunakan plugin nice search. Di mana kata beliau dengan plugin tersebut berefek pada search URL menjadi cantik. Pikir saya, kenapa harus menggunakan plugin untuk membuat pretty search URL? Mencoba berselancar dan saya langsung menemukan situs yang membahas tentang cara pembuatan pretty search URL, tanpa memasang plugin.

Tanpa Plugin

Mengapa harus tanpa plugin? Salah satu alasan mengapa tanpa plugin adalah menjadikan kita tidak ketergantungan dengan developer plugin-nya, kalau seandainya proyek plugin tersebut tiba-tiba terhenti dan tidak dikembangkan kembali. Juga dengan tidak menggunakan plugin lebih meringankan situs WP, dan pastinya tanpa plugin pula kita tidak perlu menyiapkan ruang penyimpanan untuk plugin tersebut, meskipun pada kenyataannya plugin ukurannya tidak ada yang besar hanya sekitaran beberapa MB saja.

Tahap Praktek

Langsung saja kita mulai, pertama-tama masuk ke dashboard (wp-admin) lalu pilih Appearance -> Editor dan pilih functions.php. Kemudian masukan kode berikut pada berkas functions.php.

function pretty_search_url() {
	if ( is_search() && ! empty( $_GET['s'] ) ) {
		wp_redirect( home_url( "/search/" ) . urlencode( get_query_var( 's' ) ) );
		exit();
	}	
}
add_action( 'template_redirect', 'pretty_search_url' );

Skrip di atas dapat langsung berfungsi jika kita menggunakan web server Nginx, dan kebetulan juga saya pengguna Nginx. Bagi Anda pengguna Apache, perlu ditambahkan pula diberkas .htaccess dengan kode berikut:

RewriteCond %{QUERY_STRING} \\?s=([^&]+) [NC]
RewriteRule ^$ /search/%1/? [NC,R,L]

Langsung saja kita tes pada pencarian dari widget atau bawaan tema atau bisa juga langsung dengan mengetik tautan di peramban domainAnda.com/?s=pencarian jika sudah auto redirect ke domainAnda.com/search/pencarian. Artinya WordPress kita sudah sukses membuat pretty search URL.

Sumber