Rekomendasi kode .htaccess
Bisa dikatakan saya jarang sekali menangani website yang pakai shared hosting. Dan ini efek buruknya saya sudah lupa apa optimasi yang bisa dilakukan, walaupun namanya shared hosting semuanya serba terbatas. 😀
Salah satunya kita bisa memanfaatkan kode dalam file .htaccess untuk menyetel beberapa perlakukan web server Apache/LiteSpeed pada jenis konten – konten tertentu, dan akan saya tuliskan per bagian fungsi spesifiknya.
Berikut adalah kode htaccess yang biasa saya gunakan secara default apapun jenis situs dan CMSnya. Jadi sifatnya generik.
Kompresi Gzip pada konten berbasis teks
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>
Pengaturan expiration (masa kadaluarsa) dari file statis
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType text/css "access plus 14 days"
ExpiresByType text/xml "access plus 0 seconds"
ExpiresByType text/javascript "access plus 14 days"
ExpiresByType application/x-javascript "access plus 14 days"
ExpiresByType image/ico "access plus 14 days"
ExpiresByType image/jpg "access plus 14 days"
ExpiresByType image/jpeg "access plus 14 days"
ExpiresByType image/gif "access plus 14 days"
ExpiresByType image/png "access plus 14 days"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType text/html "access plus 14 days"
ExpiresByType video/ogg "access plus 1 month"
ExpiresByType audio/ogg "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/webm "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType application/json "access plus 0 seconds"
ExpiresByType application/rss+xml "access plus 1 hour"
ExpiresByType application/atom+xml "access plus 1 hour"
</IfModule>
Sementara memang cuma ini yang pasti saya gunakan karena memang umum manfaatnya. Tapi nanti kalau ada lagi maka akan saya tambahkan lagi.