Cara Menghemat Pemakaian Bandwidth Website Wordpress Self Hosted for Dummies



Tanggal 20 bulan September lalu, dua website yang saya kelola tiba-tiba enggak bisa diakses, gara-gara kehabisan kuota bandwidth. Kalau diakses, ada tulisan "509 Bandwidth Limit Exceeded" gitu.

Yha! Hari gini, masa kehabisan bandwidth. Paniklah saya.

Tapi kehabisan bandwidth ini ternyata nyata. Padahal baru tanggal 20. Berarti kurang lebih 10 hari dong, websitenya enggak bisa diakses. Aduh! Padahal website bisnis, buat jualan. Macem mana enggak bisa diakses.

Pemakaian bandwidth bulan September. Itu padahal baru tanggal 20, udah habis aja.


Meski saya pengin rasanya nangis kejer, tapi sebagai seorang profesional (yang dianggep) pinter, saya harus tetap tenang. Langsung deh saya berburu cara menghemat bandwidth ke sini sana sono. Cuma saat itu ya cuma bisa diem bae, lantaran buka laman admin aja kagak bisa, Esmeralda.

Jadi semua tip yang ada saya kumpulin dulu--sambil berusaha merayu si Bubos siapa tahu mau ngupgrade layanan hosting, biar enggak pusing-pusing lagi.

Jadi ada beberapa hal sih terkait kondisi website-nya waktu itu (yang sebagian saya tahu, menjadi penyebab kenapa bandwidth cepat habis):

  • Satu hosting, dipakai untuk dua domain. Salah satu domain (kita sebut saja domain A) bakalan punya kategori dan produk yang bejibun, dan beraktivitas tinggi. Domain yang satunya (domain B) masih so-so-lah. Saya sebenarnya punya strategi konten yang berbeda untuk keduanya, lantaran memang pasarnya berbeda, agar dua-duanya bisa tampil bareng di halaman muda Google. 
  • Saya sempat salah (atau lupa) instruksi terhadap admin domain A--yang bakalan punya produk bejibun untuk ditampilkan--untuk meresize dan mengoptimasi foto-foto agar besarnya di bawah 100kb. Belio ngupload gambar-gambar dengan ukuran mega, pemirsa. 1 MB, ada yang sampai 2 MB. *Ya kan, eikeh pikir beginian sudah pada taulah ya. Masa masih dijelasin lagi sih? Tapi ternyata beneran, ada yang belum tahu* Hiks.
  • Masing-masing website pakai plugins yang boros bandwidth, yaitu WooCommerce, dan beberapa printilan tambahannya. Ya, secara memang merupakan situs katalog, bukan blog biasa aja.
  • Paket hosting websitenya "cuma" punya spek kapasitas bandwidth 100 gb dan memory 1 gb sahaja. Seharusnya, sih menurut hemat saya, itu cukup. Apalagi ini baru di awal. Bisa dibilang domain A aja belum saya apa-apain selain diisi gambar-gambar gede sama sang admin -__-"
Pas saya menghubungi perusahaan penyedia hostingnya, enggak ada jawaban laen yang bisa mereka kasih selain harus mengupgrade layanan.

Meh. Saya merasa, kok gini aja sarannya terus. Jualan aja terus. Enggak kasih alternatif solusi apa kek. ZBL.

Ya, kalau ditanya, mampu kok ngupgrade layanan mah. Gampang. Perusahaan sedang berkembang baik gini. Tapi, yaelah. Gitu doang mah ... cemen amat. Ga cerdas. Awokawokawokawokawok. --emang susah ya mau ngekek ala gen Z.

Maka, seperti yang udah disebutin di atas, saya coba cari sendiri cara buat menghemat bandwidth. Tapi beberapa yang saya temukan di awal adalah cara dan tip yang saya enggak mudeng, pemirsa. Apalah cek javascript, encoding gzip ... Yawlah. Embuh. Saya nggak ngerti.

Emak-emak ini cuma sok-sokan (pura-pura) pinter aja soalnya. Disuruh baca artikel pemrograman, mana ngerti dah.

So, saya hanya bisa melakukan beberapa hal yang saya paham doang, kayak gini.


7 Langkah Menekan Pemakaian Bandwidth Website


1. Blokir spam bots

Nah, kita nih bisa cek aktivitas nananini segala macem di website kita di AWStats ini. Jujur ya, saya baru tahu. LOL.

AWStats ini bisa diakses melalui CPanel, biasanya di bagian Metrics. Bareng metrics lainnya, bisa cek bandwidth juga di bagian Metrics ini.




Itu, kalau dilihat di bulan Oktober, saya berhasil menaikkan visit (menurut versi hosting, bisa jadi beda sama punya Google Analytics), tetapi bisa menekan pemakaian bandwidth cukup signifikan.

Nah, di AWStats ini, kalau diskrol ke bawah, kita bisa lihat aktivitas spiders--atau para robot perayap dari mesin pencari.


Nah, coba dilihat daftar paling atas itu. Ada yang ngabisin 2 GB sendiri kan?

Memang, menurut beberapa sumber yang saya baca, spider atau robot perayap ini bisa ngabisin bandwidth. Parahnya lagi, si robot perayap yang ngabisin bandwidth ini justru bukan dari Google. Tapi embuh, dari mana enggak jelas. Kadang malah robot spamming.

Nah, ini yang harus diatasi.

Saya sih menemukan di beberapa tip, bahwa ini sebenarnya bisa diatasi dengan memblokir spam bots itu dengan .htaccess.

NAH, INI YANG SAYA KAGAK PAHAM. Huhuhu. Sedih.

Jadi, monmaap, langkah ini memang saya masukin di pertama, karena seharusnya ini saya lakukan di awal. Tapi saya enggak mudeng. Udah cari dan baca caranya, saya juga enggak berani ngulik.

So, silakan yang tau dan bisa melakukannya, lakuin ini yang pertama kali dulu deh untuk menekan pemakaian bandwidth.

Tapi, ada juga sumber lain yang bilang, bad bots ini bisa juga diblokir dengan bantuan plugins Blackhole Bad Bots. Saya belum coba juga, karena saya masih merasa perlu untuk mencari referensi lain lagi.

Kalau ada yang mau coba, silakan. Pastikan aja jangan sampe ngeblokir Google bots ya.

Saya udah memasukkan ini ke list PR saya. Semoga segera ada waktu buat mempelajarinya pelan-pelan.


2. Cek plugins

Nah, buat yang pake WP self hosted ini pasti familierlah dengan plugins ya. Well, plugins ini juga menambah beban server hosting lo. Terutama beberapa plugins, yang memang bikin boros bandwidth menurut beberapa sumber.

Ada beberapa sih, terutama plugins yang fungsinya untuk chatting, commerce, statistik, sitemap, related posts, random posts, dan popular posts.

Yaitu:

  • Jetpack
  • Sumo
  • WooCommerce
  • Wordfence
  • Broken Link Checker
  • Contact Form 7
  • Disqus Comment System
  • NextGEN Gallery
  • SEO Auto Links & Related Posts
  • Yet Another Related Post Plugin
... dan beberapa plugins lain, yang pokoknya fungsinya di atas.

Nah, kebetulan banget di dua website saya itu ada plugins WooCommerce (meski fungsi commerce-nya didisable, tapi katalognya harus pakai Woo), Sumo, dan Wordfence. Plus satu lagi plugins untuk fungsi chat WhatsApp. Ini enggak masuk ke dalam daftar di atas, tapi karena fungsinya chat jadi saya simpulkan, plugins ini pasti juga berat.

Dan keempatnya enggak mungkin saya lepas, karena bisa memengaruhi sistem websitenya. Yang lain-lain, yang kira-kira berat dan enggak butuh banget langsung deh saya lepas.

Nah, untuk mengetahui bagian mana dari website kita yang berat, kita bisa minta bantuan GT Metrix--ya meskipun sebenarnya sebagai page load test dia kurang akurat lantaran dia ngeceknya dari Kanada sana. Tapi bisalah kita pakai data sebagai ancer-ancer aja.

Buka GTMetrix.com. Terus coba test website kita kek biasanya. Nah, saat report-nya sudah ada, coba skrol ke bawah, nanti akan ketemu panel seperti ini, pilih Waterfall.




Nah, itu bisa diliat deh, apa aja yang timeline-nya gede. Misalnya, bisa diliat itu woocommerce butuh waktu 5 ms untuk loading. Makin ke bawah makin kelihatan deh, mana aja yang lambat loadingnya. Itulah yang bermasalah.

Sebenarnya di website yang saya kelola ini masih oke, karena pluginsnya sepertinya enggak ada yang sampai disebut 2 kali. Tapi semisal ada, nah berarti kita harus mencari plugins lain yang lebih ringan.

So kesimpulannya gimana nih, di bagian plugins ini?

  • Hindarkan penggunaan plugins yang enggak efektif dan efisien.
  • Kalau ada 2-3 plugins yang bisa digantikan oleh 1 plugins, maka ganti saja ke yang 1 plugins.
  • Kalau ada plugins yang tidak terlalu urgent, mending dilepas saja. Lalu dihapus. Jangan nyimpen plugins yang enggak dipakai di dalam web.
  • Sebisa mungkin hindari plugins yang mesti external request, misalnya seperti Google Fonts, Gravatar, bahkan Adsense. Di website yang saya kelola itu kebetulan enggak ada Adsense. Gravatar langsung saya matikan. Tapi Google Fonts enggak bisa, karena built-in sama template. Jadi, ya sudahlah.



3. Pakai plugins cache systems

Nah, yang ini juga rekomendasi beberapa orang sih.
Plugin cache bekerja dengan cara menghasilkan halaman static html dari wordpress , sehingga website dapat diakses dengan cepat tanpa perlu lagi melakukan processing php dan lain-lain yang memerlukan akses langsung ke database.
Sumber: wpjava

Ada beberapa plugins cache yang bisa ditemukan di WP,  tapi mana yang paling baik digunakan? Well, relatif sih.

Sebenarnya banyak yang merekomendasikan WP Rocket, karena fiturnya paling lengkap. Tapi saya cek kok enggak ada WP Rocket. Ada sih Lazy Load doang, enggak yang lengkap WP Rocket.

So, saya memutuskan untuk tetap menggunakan WP Fastest Cache.
Sementara fungsi WP Rocket lain, saya penuhi dengan WP Optimize.


4. Pakai WP Optimize

Mungkin ya, cukup pakai WP Optimize sih tanpa WP Fastest Cache, karena di WP Optimize ada juga fungsi cache-nya. Tetapi fungsi cache di WP Optimize ini bisa di-disable kok, kalau misal dobel sama WP Fastest Cache. Jadi, saya pakai dua-duanya di sini.

Jadi, diapain aja nih WP Optimize?

Optimasi database


Tinggal centang aja semua deh. Kek post revisions gitu, enggak usah disimpen. Buat apa? Trashed posts juga langsung buang aja semua. Begitu juga dengan komen spam dan yang dibuang.

Buanglah mantan pada tempatnya.

Jadi, as dummies, enggak usah ribet, langsung centang lalu klik "Run optimization".


Optimasi image


Nah, settingan untuk optimasi image-nya saya atur begini.
Pas baru pasang kemarin, itu yang uncompressed images itu ada ratusan. Lalu saya select all, dan klik Compressed the selected images aja.

Sekarang semua image sudah terkompres dengan baik.

Nah, untuk bahas image, mari kita ke langkah selanjutnya.

WP Optimize ini harus dicek secara berkala ya, lalu hapus-hapus secara rutin file-file yang sudah nggak kepakai. Kalau di rumah nyata aja kita mesti bebersih dan disarankan untuk jangan suka nyimpen sampah, maka demikian juga di rumah maya kita.

5. Optimasi gambar dengan TinyPNG

Jadi, image memang merupakan salah satu hal yang harus diperhatikan saat kita mau bikin konten di website ya. Jangan pernah lebih dari 100 KB. Kalau terpaksaaaa banget, ya maksimal 200 KB. Tapi, usahakanlah selalu untuk di bawah 100.

Jangan pernah ngunggah image yang bersatuan mega. Karena kita mau kasih image itu di laman web ya, Esmeralda. BUKAN BALIHO. Jadi, cukup pakai file yang kecil aja.

Udah harus diresize sesuai frame website/blog kita, pun harus dikompres lagi.

Sebenarnya dengan WP Optimize di atas, dengan settingan "automatically compress newly-added images" itu aja, sudah cukup. Tapi, website yang saya kelola ini ke depannya akan buanyak sekali menampilkan gambar produk.

So, saya enggak berani ambil risiko lagi. Sehingga, sebelum diunggah ke website, setiap foto/image harus diresize sesuai kebutuhan, dikompres dengan TinyPNG, baru kemudian diunggah ke web.

Rempong ya, cyint. Ya biarin. Tapi terbukti kok, bandwidthnya ngirit banget sekarang.


6. Setting ulang Wordfence

Nah, Wordfence memang lumayan "makan" bandwidth, tapi bisa kok disetting ulang. Misalkan kamu pake plugins ini juga ya.

Langsung aja ke bagian All Option-nya. Lalu coba ulik hal-hal yang sekiranya enggak perlu, misalnya opsi-opsi untuk kirim-kirim email bisa dikurangi.

Terutama di bagian Rate Limiting.


Nah, ikurin aja sesuai dengan gambar di atas, di bagian Rate Limiting.

Lalu, ke bagian-bagian berikut juga:
  • Do not “enable live traffic view”
  • Do not “enable automatic scheduled scans”
  • Do not “enable email summary”
  • Enable “use low resource scanning”
  • Decrease “limit the number of issues sent in the scan results email” to 500
  • Do not enable “updates needed (plugin, theme, or core)”
  • Increase “update interval in seconds (2 is default)” to 10-15 seconds
  • Decrease “how much memory should Wordfence request when scanning” to 100MB
  • Enable “delete Wordfence tables and data on deactivation”

7. Disable hotlink

Yang terakhir, pastikan kamu disable hotlink.

Kadang ada orang yang mau pakai foto kita, terus males download dan upload ulang. Enakeun langsung semat gambar via URL, yang URLnya ada di website kita (karena gambarnya ada di website kita).

Nah, kalau yang ambil gambar ini trafficnya gede, mau enggak mau bandwidth kita juga tersedot.
Makanya penting untuk menonaktifkan hotlink.




Caranya bisa ke CPanel, lalu cek ke bagian Security, klik Hotlink Protection. Lalu enable Hotlink Protection-nya.


Nah, itu dia beberapa langkah yang kemarin saya lakukan untuk menekan dan menghemat bandwidth hosting website.

Sebenarnya masih ada yang bisa diulik lagi sih, menurut artikel dari Online Media Masters ini. Tapi saya sudah lakukan 7 hal di atas, dan Puji Tuhan, bandwidth sudah terkendali.


See? Yang Oktober itu sampai dengan tanggal 27, baru 53 GB sahaja. Bandingkan dengan September yang baru sampai tanggal 20 udah 98 GB.

Wqwqwq.

Lumayan banget kan?

Demikian tip ini ditulis, biar kalau kejadian lagi sama saya, saya enggak lupa langkah-langkahnya :))
Semoga juga bisa membantu teman-teman yang punya masalah yang sama.

3 komentar:

  1. Ada cara satu lagi Mbak.. pindah ke managed VPS karena ternyata dengan harga yang sama (dengan shared hosting), bisa dapat bandwidth yang lebih besar dan juga performa yang lebih baik.

    Dulu saya pakai VPS di dalam negeri dan hanya bisa dapat ukuran bandwidth yang sama, tetapi setelah pindah ke VPS ternyata bandwidthnya +- 10 kali lebih besar.

    Jadi, saya sekarang dengan tenang nggak pusing mikirin bandwidth karena dulu saya juga pernah ngalamin saat sedang high season, tahunya bandwidth habis.

    Setelah pindah dengan harga yang bahkan lebih rendah perbulannya, cukup buat 6 website yang terus tumbuh trafiknya.

    Juga sudah ga repot...

    Saran saja.. karena 100 GB itu hanya terlihat besar, tetapi sebenarnya tidak besar juga.

    BalasHapus
    Balasan
    1. Wah. Makasih, Mas, sarannya. Coba nanti aku cari info lagi.

      Hapus
  2. ini adalah salah satu alasan aku belom berani pindah ke wordpress huhuhu :"( nyimak tips mak carra sambil baca-baca dulu ah. yang soal spider itu juga emang PR banget, karena udah biasa nitip konten ke blogspot yang emang bandwidthnya turah-turah jadi kalo disuruh pake WP aku rasa aku tak akan sanggup...

    BalasHapus