Cara Optimasi WordPress Dengan .Htaccess

Estimated reading: 5 minutes 776 views

Ada banyak cara untuk melakukan optimasi kecepatan wordpress salah satunya dengan htaccess. Dengan melakukan optimisasi dari sisi kecepatan website, maka visitor akan dengan senang mengunjungi kembali website anda dan kemungkinan untuk melakukan order pun semakin besar. Alat yang biasa digunakan untuk melakukan test kecepatan akses website adalah GTmetrix.com, disana akan ditunjukan bermacam preferensi yang bisa disesuaikan di website kita. Salah satu yang bisa disesuaikan adalah dengan melakukan optimasi pada sisi .htaccess

Untuk mempercepat website WordPress melalui file .htaccess, Anda dapat melakukan beberapa perubahan dan optimasi. Berikut adalah beberapa langkah yang dapat Anda ikuti:

1. Backup file .htaccess: Sebelum melakukan perubahan, pastikan Anda membuat salinan file .htaccess yang ada sebagai tindakan pencegahan jika terjadi kesalahan.

2. Aktifkan kompresi Gzip: Mengaktifkan kompresi Gzip akan mengurangi ukuran file yang dikirim dari server ke browser, sehingga mempercepat waktu muat halaman. Untuk mengaktifkannya, tambahkan kode berikut di file .htaccess:

<IfModule mod_deflate.c>
# Enable compression
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>

3. Mengaktifkan browser caching: Dengan mengatur waktu kedaluwarsa pada file yang jarang berubah, Anda dapat memanfaatkan browser caching sehingga file tersebut tidak perlu diunduh ulang setiap kali pengunjung mengunjungi halaman situs web. Tambahkan kode berikut di file .htaccess:

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/html "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresDefault "access plus 2 days"
</IfModule>

4. Memanfaatkan caching sisi server: Anda juga dapat menggunakan caching sisi server untuk mempercepat waktu muat halaman. Jika Anda menggunakan server Apache, Anda dapat mengaktifkan modul caching dengan menambahkan kode berikut di file .htaccess:

<IfModule mod_headers.c>
<FilesMatch "\.(jpg|jpeg|png|gif|swf|ico|js|css)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>
</IfModule>

5. Mengaktifkan kompresi file: Selain mengaktifkan kompresi Gzip, Anda juga dapat mengompresi file seperti gambar menggunakan format kompresi yang lebih efisien seperti WebP. Dalam file .htaccess, Anda dapat menambahkan kode berikut untuk mengaktifkan kompresi WebP:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_ACCEPT} image/webp
RewriteCond %{REQUEST_FILENAME}.webp -f
RewriteRule ^(.+)\.(jpe?g|png)$ %{REQUEST_URI}.webp [T=image/webp,E=accept:

Jika anda ingin menggunakan .htaccess secara lengkap bisa dengan kode dibawah ini.

<IfModule mod_deflate.c>
# Insert filters / compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/vtt 
AddOutputFilterByType DEFLATE text/x-component
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/js
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE application/atom+xml 
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE application/ld+json 
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject 
AddOutputFilterByType DEFLATE application/x-font-ttf 
AddOutputFilterByType DEFLATE application/x-web-app-manifest+json 
AddOutputFilterByType DEFLATE font/opentype 
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon 

# Exception: Images
SetEnvIfNoCase REQUEST_URI \.(?:gif|jpg|jpeg|png|svg)$ no-gzip dont-vary

# Drop problematic browsers
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html

# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</IfModule>


## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 week"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 month" 
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/html "access plus 1 minute"
ExpiresByType text/plain "access plus 1 month"
ExpiresByType text/x-component "access plus 1 month" 
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType application/javascript "access plus 1 months"
ExpiresByType application/x-javascript "access plus 1 months"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType application/json "access plus 0 seconds"
ExpiresByType application/ld+json "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType text/xml "access plus 0 seconds" 
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds" 
ExpiresByType text/cache-manifest "access plus 0 seconds" 
ExpiresByType audio/ogg "access plus 1 month" 
ExpiresByType video/mp4 "access plus 1 month" 
ExpiresByType video/ogg "access plus 1 month" 
ExpiresByType video/webm "access plus 1 month" 
ExpiresByType application/atom+xml "access plus 1 hour" 
ExpiresByType application/rss+xml "access plus 1 hour" 
ExpiresByType application/font-woff "access plus 1 month" 
ExpiresByType application/vnd.ms-fontobject "access plus 1 month" 
ExpiresByType application/x-font-ttf "access plus 1 month" 
ExpiresByType font/opentype "access plus 1 month" 
</IfModule>
## EXPIRES CACHING ##


#Alternative caching using Apache's "mod_headers", if it's installed.
#Caching of common files - ENABLED
<IfModule mod_headers.c>
<FilesMatch "\.(ico|pdf|flv|swf|js|css|gif|png|jpg|jpeg|txt|html|htm)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>
</IfModule>


<IfModule mod_headers.c>
  <FilesMatch "\.(js|css|xml|gz)$">
    Header append Vary Accept-Encoding
  </FilesMatch>
</IfModule>


<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>

# Set Keep Alive Header
<IfModule mod_headers.c>
    Header set Connection keep-alive
</IfModule>

# If your server don't support ETags deactivate with "None" (and remove header)
<IfModule mod_expires.c> 
  <IfModule mod_headers.c> 
    Header unset ETag 
  </IfModule> 
  FileETag None 
</IfModule>

Leave a Comment

Share this Doc

Cara Optimasi WordPress Dengan .Htaccess

Or copy link

CONTENTS

WarnaHost sering menawarkan promosi, kupon, dan penawaran khusus kepada pelanggan selama periode awal. Harap dicatat bahwa penawaran khusus adalah harga promosi waktu terbatas yang tersedia untuk pelanggan baru dan hanya berlaku untuk Jangka Waktu Awal dan tidak untuk periode berulang atau perpanjangan.

Tarif promosi berlaku untuk paket hosting Cloud Hosting, Hosting Murah, Hosting Unlimited, dan VPS Hosting dan akan diperpanjang secara otomatis setelah jangka waktu awal dengan tarif reguler yang dapat ditemukan di panel kontrol Anda. Catatan: Jika Anda mendaftarkan domain gratis melalui kami dan ingin membatalkan akun Anda dalam masa jaminan uang kembali, ada biaya untuk mempertahankan domain Anda.

Asumsikan paket hosting Anda menyertakan domain gratis, dan Anda membatalkan hosting Anda dalam masa jaminan uang kembali. Dalam hal ini, Anda akan mendapatkan pengembalian dana 100% dari pembayaran Anda dikurangi tarif reguler pendaftaran nama domain.

Jaminan uang kembali tidak berlaku dan pengembalian dana tidak tersedia untuk layanan tambahan.

Anda secara tegas mengakui, menyetujui, dan memberi wewenang kepada kami untuk secara otomatis menagih biaya yang berlaku dan menagih kartu kredit Anda atau metode pembayaran lain yang tercatat untuk setiap Jangka Waktu Perpanjangan, kecuali Anda membatalkan Layanan sebelum tagihan tersebut.