Mempercepat Loading Website Dengan htaccess
Tutorial kali ini kita akan membahas Cara Konfigurasi Tambahan di htacces untuk mempercepat loading website , Loading website sangat penting bagi sebuah website, website / blog yang ringan dan memiliki speed loading tinggi atau bagus tentu sangat di cintai oleh pengunjung website , kenapa begitu.. ? Hal ini dikarenakan pengunjung website anda tidak perlu menunggu waktu yang lama hanya untuk membaca satu buah content atau halaman website anda.. Ok.. Jika pengguna memiliki access internet yang bagus , namun bagaimana dengan pengguna di seluruh wilayah indonesia yang mayoritas intercet connection nya masih lambat.. ??? Hal seperti ini tentunya akan menjadi kendala bagi mereka yang memiliki akses internet rendah untuk mengakses website anda..
Berbicara dengan Kecepatan Website ini berarti kita juga berbicara masalah SEO untuk website anda, Loading website tentu menurut saya juga akan mempengaruhi tinggak search enggine anda , meskipun ini lebih identik ke pengguna / pengunjung website anda.. Namun percaya kah anda.. Jika website yang memiliki loading halaman yang cepat, tentu akan menyenangkan pengunjung website anda, dan tidak membuat bosan mereka untuk berlama-lama di website anda. So.. ini berbicara masalah trafik bukan.. ??? Ok.. langsung saja
Apa Yang Dimaksud dengan .htaccess?
.htaccess adalah sebuah file yang memungkinkan Anda memodifikasi konfigurasi web server berbasis Apache tanpa mengubah file konfigurasi web server secara langsung. Dengan kata lain, Anda bisa mengubah setting server tanpa mengubah core setting secara permanen, karena itu sangat beresiko. Sebagian besar web hosting men-support penggunaan htaccess file. Tapi untuk memastikan, Anda bisa mengeceknya di web hosting yang Anda gunakan.
Bagaimana cara menggunakan file .htaccess?
Untuk menggunakan file .htaccess, Anda bisa membuatnya menggunakan text editor seperti notepad atau Notepad++. Akan tetapi, karena file htaccess harus diberi nama ".htaccess" bukan ".htaccess.txt", penamaan sepeti itu tidak bisa dilakukan di Windows. Sebagai alternatifnya, Setelah Anda selesai membuat file htaccess, Anda bisa mengedit namanya setelah upload file tersebut di web hosting. Letakkan file .htacces di directory root website Anda.
Beberapa pertimbangan sebelum Anda mulai menggunakan file .htaccess
Saat mengedit file htaccess, sedikit kesalahan penulisan syntax bisa merusak website Anda. Oleh karena itu, biasakan mem-backup file htaccess (jika sudah ada) sebelum Anda mulai merubah kodenya. Atau Anda bisa menambahkan tanda # agar baris kode dianggap sebagai komentar, sehingga tidak dieksekusi web server.
6 Trik Mempercepat Loading Website dengan file .htaccess
Anda bisa mencoba salah satu trik berikut atau bahkan mencoba semuanya. Setelah Anda mencoba satu trik, silahkan Anda tes kecepatan website di GTmetrix. Cek apakah ada peningkatan nilai setelah Anda menggunakan file htaccess.
1. Mengaktifkan content caching
Jika Anda mengecek kecepatan suatu web dengan Google PageSpeed Insight, Anda akan menemukan rekomendasi "caching all static resources". Rekomendasi itu mencakup cache untuk file javascipt, CSS, media file, gambar, dan lain-lain. Dengan mengaktifkan cache pada static resource, pengunjung web tidak perlu mendownload file-file diatas dalam setiap kesempatan, karena file cache akan disimpan di memori komputer milik pengunjung. Dengan mengaktifkan content caching, loading web akan berkurang secara drastis.
Meskipun Anda bisa menerapkan konfigurasi caching pada setiap file secara spesifik, Anda bisa secara langsung menerapkan caching pada semua file. Expiration period (waktu kadaluarsa) untuk file cache minimal selama 1 bulan (rekomendasi Google) hingga 1 tahun.
Untuk memastikan server men-cache semua static resource, gunakan mod_expires. Buka file .htaccess dan paste-kan kode dibawah ini:
#Kode untuk cache file selama 1 bulan
<IfModule mod_expires.c>
ExpiresActive On
<FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav|js|css|gif|jpg|jpeg|png|swf)$">
ExpiresDefault A2419200
</FilesMatch>
</IfModule>
Keterangan: A2419200 menunjukkan waktu kadaluarsa file cache dengan satuan detik. Angka 2419200 diperoleh dari penghitungan: 1 hari (86400 detik) * 7 hari * 4 minggu = 2419200 detik.
Anda juga bisa secara langsung menentukan kapan cache file akan kadaluarsa. Contohnya sebagai berikut:
<FilesMatch "\.(js|css)$">
SetOutputFilter DEFLATE
Header set Expires "Thu, 15 Apr 2018 20:00:00 GMT"
</FilesMatch>
Pada contoh diatas, khusus untuk file CSS dan javascript masa kadaluarsanya berakhir pada tanggal 15 April 2018 (sekitar 2 tahun).
2. Kompresi file output menggunakan Gzip
Dengan mengaktifkan kompresi file menggunakan Gzip, maka file output akan dikompress sehingga ukuran file mengecil dan lebih cepat didownload. Efeknya, loading halaman web menjadi lebih cepat.
Untuk mengaktifkan kompresi Gzip melalui mod_gzip, copy paste-kan kode berikut:
# Enable gzip compression
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
3. Menonaktifkan directory indexing
Memanfaatkan mod ini bisa sekaligus meningkatkan kecepatan dan keamanan website Anda. Mengapa? Pada dasarnya, setiap pengunjung bisa melihat dan mengakses berbagai direktori yang tidak mengandung index file di dalam direktorinya (index.html atau index.php). Hal ini berarti file konfigurasi web Anda beserta data sensitif website bisa diakses dan dimanfaatkan oleh orang yang tidak bertanggungjawab.
Berikut ini cara mudah untuk menonaktifkan directory indexing dalam website. Pada prosesnya, Anda turut menghemat sumber daya server, terutama jika Anda memiliki directory yang sangat besar dengan hanya menambahkan kode berikut dalam .htaccess file:
#Mematikan directory indexing
Options –Indexes
4. Mencegah hotlinking
Apakah Anda pernah menampilkan gambar yang bersumber dari website lain melalui URL? Cara itu disebut dengan hotlinking, dan turut berperan dalam menghabiskan bandwidth server. Untungnya, Anda bisa mencegah domain lain untuk melakukan hostlingking ke website Anda. Caranya dengan menambah kode berikut:
#Mencegah hotlinking
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?namadomainanda.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]
CATATAN: Ganti namadomainanda.com dengan nama domain Anda yang sebenarnya.
5. Menolak bad bots
Website Anda secara teratur akan dikunjungi dan dijelajahi oleh bot. Beberapa bot sangat penting, seperti bot Google, karena mereka mengindex web dan menampilkannya di mesin pencari. Akan tetapi, tidak semua bots berniat baik. Ada berbagai spam bot yang bisa menghabiskan sumber daya server Anda serta menghabiskan jatah bandwidth. Anda harus mencegah hal itu terjadi. Bagaimana caranya? Anda bisa menambahkan kode-kode berikut. Sebagai catatan, bot yang disebut berikut hanya dimaksudkan sebagai contoh. Anda bisa melihat daftar semua bad bot melalui AskApache.
#Blok Bad Bots
RewriteCond %{HTTP_USER_AGENT} ^WebBandit [OR]
RewriteCond %{HTTP_USER_AGENT} ^2icommerce [OR]
RewriteCond %{HTTP_USER_AGENT} ^Accoona [OR]
RewriteCond %{HTTP_USER_AGENT} ^ActiveTouristBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^addressendeutshland
RewriteRule ^.* - [F,L]
CATATAN PENTING: Anda tidak perlu mencantumkan semua bot yang disebutkan dalam daftar diatas. Anda cukup mencantumkan bot yang sudah sudah Anda identifikasi sebagai bad bot saja karena hal itu bisa memperlambat akses web secara keseluruhan.
6. Menolak akses IP yang mencurigakan
Seseorang bisa memperlambat suatu website dengan cepat dengan menggunakan server attack. Jika Anda mengetahui IP Adress user yang mencoba mengakses website Anda secara ilegal, Anda bisa mencegah akses mereka melalui htaccess seperti berikut ini:
#Tolak IP yang mencurigakan
order allow,deny
#Tolak akses single IP
deny from 1.1.1.1
allow from all
Nah, berikut ini adalah kode lengkap file .htaccess yang bisa Anda gunakan:
<IfModule mod_rewrite.c>
RewriteEngine On
#Mencegah Hot Linking
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?namadomainanda.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]
#Blok Bad Bots – Ini adalah contoh beberapa bot yang diblok. Anda bisa menambahkan bot lainnya.
RewriteCond %{HTTP_USER_AGENT} ^WebBandit [OR]
RewriteCond %{HTTP_USER_AGENT} ^2icommerce [OR]
RewriteCond %{HTTP_USER_AGENT} ^Accoona [OR]
RewriteCond %{HTTP_USER_AGENT} ^ActiveTouristBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^addressendeutshland
RewriteRule ^.* - [F,L]
</IfModule>
# Mengaktifkan caching untuk static resources selama 1 tahun, berdasarkan rekomendasi dari Google
<IfModule mod_expires.c>
ExpiresActive On
<FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav|js|css|gif|jpg|jpeg|png|swf)$">
ExpiresDefault A29030400
</FilesMatch>
</IfModule>
# Enable gzip compression
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
#Disable Directory Indexes
Options -Indexes
#Tolak akses Malicious IPs
order allow,deny
deny from 1.1.1.1
allow from all