Mempercepat Situs Dengan htaccess dan Ini Caranya

Mempercepat Situs Dengan htaccess dan Ini Caranya

Meskipun ini adalah topik lama, ini pasti merupakan salah satu yang paling penting. Kecepatan situs adalah salah satu faktor SEO teknis terpenting. Jika situs web Anda lambat, tidak masalah dengan seberapa bagusnya web tetap orang-orang tidak akan menyukainya.

1. Manfaatkan Cache Browser
Salah satu cara termudah untuk meningkatkan kecepatan situs dan mengurangi beban server adalah dengan memanfaatkan cache browser. Caching browser menyimpan sumber daya dari halaman situs web Anda di komputer pengunjung. Hal ini memungkinkan salinan gambar dalam cache atau jenis file lain ditarik dari komputer pengunjung yang menghemat bandwidth dan server saat mereka mengunjungi halaman lain atau kembali ke situs Anda nanti.






Ada dua cara dasar untuk mengunakan cache browser. Langkah pertama adalah menggunakan ExpiresByType dan yang kedua adalah menggunakan Cache-Control.

ExpiresByType
Untuk memanfaatkan cache browser menggunakan metode ini, Anda cukup menggunakan ExpiresByType diikuti dengan jenis tipe file  dan time period / periode waktu cache.

##### Optimize default expiration time - BEGIN
<IfModule mod_expires.c>
    ## Enable expiration control
    ExpiresActive On

    ## CSS and JS expiration: 1 week after request
    ExpiresByType text/css "now plus 1 week"
    ExpiresByType application/javascript "now plus 1 week"
    ExpiresByType application/x-javascript "now plus 1 week"

    ## Image files expiration: 1 month after request
    ExpiresByType image/bmp "now plus 1 month"
    ExpiresByType image/gif "now plus 1 month"
    ExpiresByType image/jpeg "now plus 1 month"
    ExpiresByType image/jp2 "now plus 1 month"
    ExpiresByType image/pipeg "now plus 1 month"
    ExpiresByType image/png "now plus 1 month"
    ExpiresByType image/svg+xml "now plus 1 month"
    ExpiresByType image/tiff "now plus 1 month"
    ExpiresByType image/x-icon "now plus 1 month"
    ExpiresByType image/ico "now plus 1 month"
    ExpiresByType image/icon "now plus 1 month"
    ExpiresByType text/ico "now plus 1 month"
    ExpiresByType application/ico "now plus 1 month"
    ExpiresByType image/vnd.wap.wbmp "now plus 1 month"

    ## Font files expiration: 1 week after request
    ExpiresByType application/x-font-ttf "now plus 1 week"
    ExpiresByType application/x-font-opentype "now plus 1 week"
    ExpiresByType application/x-font-woff "now plus 1 week"
    ExpiresByType font/woff2 "now plus 1 week"
    ExpiresByType image/svg+xml "now plus 1 week"

    ## Audio files expiration: 1 month after request
    ExpiresByType audio/ogg "now plus 1 month"
    ExpiresByType application/ogg "now plus 1 month"
    ExpiresByType audio/basic "now plus 1 month"
    ExpiresByType audio/mid "now plus 1 month"
    ExpiresByType audio/midi "now plus 1 month"
    ExpiresByType audio/mpeg "now plus 1 month"
    ExpiresByType audio/mp3 "now plus 1 month"
    ExpiresByType audio/x-aiff "now plus 1 month"
    ExpiresByType audio/x-mpegurl "now plus 1 month"
    ExpiresByType audio/x-pn-realaudio "now plus 1 month"
    ExpiresByType audio/x-wav "now plus 1 month"

    ## Movie files expiration: 1 month after request
    ExpiresByType application/x-shockwave-flash "now plus 1 month"
    ExpiresByType x-world/x-vrml "now plus 1 month"
    ExpiresByType video/x-msvideo "now plus 1 month"
    ExpiresByType video/mpeg "now plus 1 month"
    ExpiresByType video/mp4 "now plus 1 month"
    ExpiresByType video/quicktime "now plus 1 month"
    ExpiresByType video/x-la-asf "now plus 1 month"
    ExpiresByType video/x-ms-asf "now plus 1 month"
</IfModule>
##### Optimize default expiration time - END


Jangka waktu atau periode waktu disini memberi tahu browser pengunjung berapa lama menggunakan salinan file yang disimpan dalam cache secara lokal. Anda dapat mengaturnya ke waktu yang Anda inginkan. Yang paling umum adalah "now plus 1 day", "now plus 1 week", "now plus 1 month", "now plus 1 year". 

Cache-Control
Untuk mengatur header HTTP Cache-Control Anda dapat gunakan cara dibawah ini. 

##### 1 Month for most static resources
<filesMatch ".(css|jpg|jpeg|png|gif|js|ico)$">
    Header set Cache-Control "max-age=2592000, public"
</filesMatch>
 
Seperti yang Anda lihat, ini adalah metode yang lebih ringkas.
Cache-Control max-age=2592000 memberitahu browser berapa lama untuk cache file dalam hitungan detik. 2592000 sekitar satu bulan. 
 
2. Kompresi situs Anda
 
Cara lain untuk mempercepat situs Anda adalah membuatnya lebih kecil simpel. Ya, Anda dapat mengurangi ukuran gambar, ukuran file, dan kuantitas file. Sesuatu yang sangat direkomendasikan. Anda juga dapat memamfaatkan file yang Anda kirim ke browser klien atau pengunjung. Ini memungkinkan situs Anda mentransfer lebih sedikit data dengan lebih cepat.

Mengaktifkan gzip melalui file .htaccess tidaklah sulit. Anda dapat melakukannya dengan kode berikut 

##### Enable gzip compression for resources
<ifModule mod_gzip.c>
    mod_gzip_on Yes
    mod_gzip_dechunk Yes
    mod_gzip_item_include file .(html?|txt|css|js|php)$
    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>
 

Tidak semua server menangani gzip tanpa kesalahan. Jika metode ini tidak berfungsi di server Anda, Anda mungkin ingin menjelajahi menggunakan deflate. 

##### Compress resources
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

 
Anda juga dapat menggunakan FilesMatch untuk melakukan hal yang sama.

##### Or, compress certain file types by extension:
<FilesMatch *.(html|css|jpg|jpeg|png|gif|js|ico)>
    SetOutputFilter DEFLATE
</FilesMatch>
 
Jika Anda mengompres situs Anda, pastikan untuk menggunakan Vary: Accept-Encoding HTTP. Jika salah melakukannya dapat menyebabkan situs Anda gagal tampil.

##### Set Header Vary: Accept-Encoding
<IfModule mod_headers.c>
    <FilesMatch ".(js|css|xml|gz|html)$">
        Header append Vary: Accept-Encoding
    </FilesMatch>
</IfModule>
 
Membuat situs lebih cepat adalah salah satu fitur utama dari file .htaccess yang ditulis dengan baik. Anda dapat menggunakan kompresi dan caching untuk membuat situs web lebih cepat. Sangat dimerekomendasikan alangkah baiknya dapat diggunakan keduanya. Ini biasanya memberikan hasil terbaik.