Cara Mempercepat Loading Blog WordPress (Minimize SQL Queries)
Cara mempercepat loading blog WordPress sebagian sudah saya sharing, baik dengan menggunakan metode kompressi maupun menggunakan plugin. Kali ini saya akan sharing cara mempercepat loading blog wordpress dengan meminimalkan permintaan queri ke database. Seperti kita ketahui WordPress adalah mesin blog yang dibangun dengan bahasa pemrograman PHP dan basis data (database) MySQL, sehingga setiap kali blog diakses maka akan terjadi permintaan queri ke database terlebih dahulu sebelum sebuah postingan atau yang lainnya ditampilkan ke pembaca. Semakin banyak permintaan queri ke database maka akan semakin lama waktu loading yang dibutuhkan.
Supaya loading blog menjadi lebih cepat, maka kita harus meminimalkan permintaan queri ke database (membuatnya menjadi static dalam waktu tertentu dalam bentuk cache), caranya bisa menggunakan plugin DB Cache Reloaded, W3 Total Cache, WP Widget Cache atau yang lainnya.
Walaupun mungkin sudah ada yang menggunakan plugin tersebut, kita masih bisa mengoptimalkannya lagi. Seperti kita ketahui sebenarnya ada beberapa permintaan queri yang bisa kita pangkas atau membuatnya menjadi static untuk selamanya (sesuai kebutuhan), seperti nama blog dan tagline atau diskripsi blog, carshet Content-Type blog, language_attributes, url feed blog, url xmlrpc, url file css, javascript dan lain-lain yang ada di file header.php yang ada di folder theme.
Binguuung, oke saya kasih contoh, untuk nama blog dan tagline kode akan ditulis seperti ini (tidak persis sama tergantung jenis themenya) :
<h1 id="title"><a href="<?php bloginfo('url'); ?>/"><?php bloginfo('name'); ?></a></h1> <div id="tagline"><?php bloginfo('description'); ?></div>
kode tersebut biasanya ditempatkan di file header.php yang ada di folder theme atau file header.php yang ada di folder template (seperti theme inove), theme lain malah ada yg ditempatkan di file functions.php, intinya cari tag H1 ini biasanya digunakan untuk judul blog dan diskripsi/tagline.
Tag tersebut bisa kita buat menjadi static contohnya jadi seperti ini :
<h1 id="title"><a href="http://domainanda.com"/>Nama Blog Anda</a></h1> <div id="tagline">Diskripsi/Tagline Blog Anda</div>
Sesuaikan dengan url blog, nama blog dan diskripsi blog anda.
Untuk language_attributes, carshet Content-Type, url feed blog, url xmlrpc, url file css, javascript dan lain-lain biasanya kodenya tertulis seperti ini (dinamic ) :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes('xhtml'); ?>> <head profile="http://gmpg.org/xfn/11"> <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" /> <link rel="alternate" type="application/rss+xml" title="<?php _e('RSS 2.0 - all posts'); ?>" href="<?php bloginfo( 'rss2_url' ); ?>" /> <link rel="alternate" type="application/rss+xml" title="<?php _e('RSS 2.0 - all comments'); ?>" href="<?php bloginfo('comments_rss2_url'); ?>" /> <link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" /> <style type="text/css" media="screen">@import url( <?php bloginfo('stylesheet_url'); ?> );</style> atau <link rel="stylesheet" href="<?php bloginfo('stylesheet_directory'); ?>/stye.css" type="text/css" media="screen" /> <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/javascript.js"></script>
Dibuat static menjadi seperti di bawah ini (jangan lupa dibackup dulu code aslinya atau sekalian satu file utuh untuk berjaga-jaga ada kesalahan penulisan) atau bisa dicoba di server lokal :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US" xml:lang="en-US"> <head profile="http://gmpg.org/xfn/11"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="alternate" type="application/rss+xml" title="RSS 2.0 - all posts" href="http://domainanda.com/feed" /> <link rel="alternate" type="application/rss+xml" title="RSS 2.0 - all comments" href="http://domainanda.com/comments/feed" /> <link rel="pingback" href="http://domainanda.com/xmlrpc.php" /> <style type="text/css" media="screen">@import url( http://domainanda.com/wp-content/themes/folderthemeanda/style.css);</style> atau <link rel="stylesheet" href="http://domainanda.com/wp-content/themes/folderthemeanda/style.css" type="text/css" media="screen" /> <script type="text/javascript" src="http://domainanda.com/wp-content/themes/folderthemeanda/namafilejavascriptanda.js"></script>
Kode tersebut bisa dicek dengan melihat source code blog masing-masing silahkan disesuaikan. Untuk url feed juga bisa langsung diganti dengan url feedburner anda.
Selain di file header.php di bagian footer dan sidebar juga ada coding php yang sifatnya dinamic (queri sql ke database) seperti nama blog, url rss, Subscribe to RSS, email feed dan lain-lain. Bahkan beberapa plugin yang kita gunakan bisa kita buat static seperti url css, javascript dan lain-lain dan bisa dikombine jadi satu file, disamping mengurangi queri ke database juga untuk mengurangi http request. Kalaupun masih menggunakan plugin semisal DB Cache dan sejenisnya maka permintaan queri cachenya akan menjadi minimal, karena sebagian besar sudah kita buat jadi static, sehingga beban server juga makin berkurang.
Dengan metode ini saya bisa mengurangi/memangkas permintaan queri ke database kurang lebih ada 15 queri, termasuk queri yang berasal dari plugin.
pak alwi saya masih bingung nih, apa setiap link harus di buat statik pak?
Reply
Siip mas alwi,.. udah ane praktekkan,.. mau nanya nih,.. untuk sidebar kalau dibuat statis, yaitu html aja, tanpa minta query PHP,.. memperngaruhi seo onpage tidak?..
trims sebelumnya… jangan lupa mampir dikoreksi bang blog ane…
Reply
klo sudah ngotak-atik dalemannya saya lum mampu neeh
Reply
saya praktekn mas, semoga berhasil
Reply
Saya juga ikut praktek juga ah
Reply
Semoga cara ini ampuh mempercepat loading.. Thanks..
Reply
oh jadi bisa dengan query di database ya gan , baru paham ane.
trus klo pake plugin wp super cache cara kurangi cachenya dimana ?
Reply
Beuuh.. liat script kayak gitu langsung mumet, untuk sekarang pake wp super cache aja dulu, tapi pengen nyoba juga tutorial diatas biar makin cepat..
Reply
om pernah pakai WP rocket gak? katanya bagus .
mhn info
Reply