Disable Fungsi Pencarian di Blog WordPress – Beberapa hari yang lalu saya dapat email dari web hosting tempat saya menyewa. Email itu lagi-lagi berisi tentang pemberitahuan kalau akun website saya akan disuspend sementara karena dianggap memberatkan server. Saya jadi bertanya-tanya, kok sering banget kena suspend padahal saya tidak menggunakan plugins wordpress yang aneh-aneh seperti STT2 atau plugins lainnya yang terkenal memberatkan kinerja server hosting. Akhirnya beberapa plugins wordpress di blog saya pun saya copot karena mungkin akibat mereka server hosting jadi berat. Tapi lagi-lagi dapat email pemberitahuan kalau akun website disuspend oleh pihak web hosting.

Arghhh… berarti bukan plugins wordpress penyebabnya. Setelah saya kontak pihak web hosting, mereka bilang karena pengunjung blog banyak jadi bisa berakibat memberatkan server hosting. Tapi saya heran, masak cuma karena pengunjungnya banyak terus disuspend dan dianjurkan pindah ke VPS. Hihihi… satu blog aja masak harus pake VPS, berat diongkos dunk :p
Memang sih, pengunjung blog ini banyak karena saya mengalihkan traffic blog di blog lama (zawa.blogsome.com) ke sini. Nah, saya curiganya kenapa blog ini bisa memberatkan server mungkin ya akibat ulah blog lama zawa.blogsome.com. Bukan karena traffic kunjungannya sih sebenarnya, tapi karena di blog zawa.blogsome.com tersebut di postingan blog saya sering menggunakan link manual ke searching untuk menggantikan peran tag link. Kenapa saya dulu melakukan hal itu? Hmmm karena engine blogsome menggunakan versi wordpress yang lama dan tidak mempunyai fitur tag. Saya mengakali fitur tag tersebut dengan menggunakan fitur searching yang secara hasilnya hampir mirip. Bedanya cuma kalo tag link proses untuk menampilkan data lebih cepat karena hanya postingan kita yang sudah diberi tag/label tertentu yang akan ditampilkan. Dan hal ini tentunya tidak menghabiskan kerja server hosting yang tinggi.
Nah, bandingkan dengan menggunakan fitur searching. Untuk menampilkan data hasil searching maka akan dilakukan pencarian ke seluruh postingan kita sesuai dengan kata kunci yang telah kita buat di manual link postingan dimana mengarah ke fitur searching. Proses ini tentu saja menghabiskan kerja server hosting yang tinggi karena harus membandingkan kata satu per-satu sesuai kata kunci hingga hasil pencarian selesai. Mungkin kalau penggunaan fitur searching ini tidak terlalu sering maka tidak akan berakibat buruk. Tapi bagaimana jika hal ini sering dilakukan oleh server hosting dengan traffic kunjungan yang tinggi? Hahaha… tentu saja akan berpengaruh ke tingginya kinerja server hosting.
Blog ini terkena imbas dari fitur searching karena saya mengimport blog zawa.blogsome.com ke sini dan menggunakan plugins wordpress find replace untuk merubah semua link yang mengarah ke zawa.blogsome.com menuju blog.zanuzawa.com. Tentu saja fitur searching linknya juga akan mengarah ke blog ini. Saya mengasumsikan bahwa inilah penyebab akun web saya disuspend karena mengakibatkan kerja server hosting menjadi tinggi. Kemudian saya mengambil keputusan untuk disable fitur pencarian di blog. Secara default setahu saya fitur menonaktifkan/disable searching blog tidak tersedia di wordpress, jadi harus menggunakan plugins tertentu atau dengan cara mengakali programming di file functions.php yang ada di themes. Sekedar info, menghilangkan form pencarian di blog wordpress tidak berarti fungsi searching akan otomatis nonaktif/disable karena kita masih bisa mengakses fungsi pencarian melalui link seperti : namablog.com/?s=keyword atau namablog.com/search/keyword.
Untuk menonaktifkan/disable fungsi searching blog, saya lebih senang menggunakan trik mengakalinya di file functions.php yang ada di themes. Trik ini saya dapatkan dari WPBeginner.com. Caranya pun cukup mudah, cukup buka file functions.php di directory themes. Kemudian masukkan kode php berikut :
function fb_filter_query( $query, $error = true ) {
if ( is_search() ) {
$query->is_search = false;
$query->query_vars[s] = false;
$query->query[s] = false;
if ( $error == true )
//dialihkan ke halaman 404
$query->is_404 = true;
//bisa diganti dengan mengalihkan ke halaman depan dll
//$query->is_home = true;
}
}
add_action( 'parse_query', 'fb_filter_query' );
add_filter( 'get_search_form', create_function( '$a', 'return null;' ) );
Cara kerja dari kode di atas adalah menghilangkan semua query pencarian yang ditujukan ke blog, kemudian mengalihkannya ke halaman 404 atau halaman dimana user tidak menemukan data apapun di blog kita. Sebenarnya bisa saja dialihkan ke halaman blog lainnya tidak harus ke halaman 404. Misal diarahkan ke halaman depan, halaman arsip blog dll.
Bagi pengguna blog di blogsome, untuk mengarahkan traffic blog ke blog yang baru cukup mudah asalkan sama-sama menggunakan platform wordpress. Kenapa harus wordpress? karena secara URL permalinknya bisa kita setting sama. Yang beda mungkin cuma nama domain blognya sehingga memudahkan untuk redirect menggunakan kode javascript+smarty ataupun meta refresh. Berikut kode javascript+smarty dan meta refresh untuk redirect blog di blogsome.
<script type=’text/javascript’>
window.location.href=’http://namablogmu.com{$smarty.server.REQUEST_URI}’;
</script>
atau dengan cara meta refresh :
<meta http-equiv=’REFRESH’ content=’0;url=http://namablogmu.com{$smarty.server.REQUEST_URI}’ />
Nanti kalau sudah menggunakan trik-trik kayak di atas dan ternyata masih juga disuspend sama pihak web hosting providernya, ga tahu lagi deh mau diapain blog ini… *mewek*