It is always important to optimize website speed for smooth and inspiring user experience. And search engines also love faster page speed WordPress sites.

How to speed up your WordPress Website Using .htaccess file

 

As we all love faster websites and wants a speedy WordPress website. All the websites owner and especially beginners should know the tricks through which they can boost their websites. We will focus on some important tricks which I experienced and got a much faster website. Now at this stage, my website is scoring about 98% using these tricks. There are a lot of ways to increase the speed of WordPress website using .htaccess code.

In this article, we will walk through Six best .htaccess file tricks to optimize the website speed. However, speed optimization using .htacess is not an easy job. So I will recommend you to take some important steps before you go further. Especially if you are a beginner, then you must have to read the Prerequisites section to avoid making problems and or crash your WordPress website.

Prerequisites

  1. Create a backup of the .htaccess file. (you can reload it if the changes break your website)
  2. Purge all cache and disable the cashing Plugin.
  3. Check your website by refreshing it just to ensure it’s still working.
  4. If you found that your website is not loading or not working. Find a possible solution for that error.

How to increase WordPress website Speed using the .htaccess file

First of all, we will take a brief overview of a list of .htaccess file tricks to enhance and increase speed. This list covers the major and recommended changes by most of the developers to increase website speed.

  1. Compression (Gzip and DEFLECT)
  2. Enable “Keep-Alive”
  3. Leverage Browser Cache
  4. Disable Image Hotlinking
  5. Activate mod_pagespeed option
  6. Enable light speed server cache

Lets Start

  1. Enable Compression (Gzip and DEFLATE)

The compression can minimize the size of JS, CSS and HTML files by 60 to 80 percent. Add the below code in your WordPress .htaccess file to enable DEFLATE and Gzip Compression.

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

# END GZIP COMPRESSION

DEFLATE Compression

# START DEFLATE COMPRESSION

<IfModule mod_deflate.c>

AddOutputFilterByType DEFLATE "application/atom+xml" \

"application/javascript" \

"application/json" \

"application/ld+json" \

"application/manifest+json" \

"application/rdf+xml" \

"application/rss+xml" \

"application/schema+json" \

"application/vnd.geo+json" \

"application/vnd.ms-fontobject" \

"application/x-font" \

"application/x-font-opentype" \

"application/x-font-otf" \

"application/x-font-truetype" \

"application/x-font-ttf" \

"application/x-javascript" \

"application/x-web-app-manifest+json" \

"application/xhtml+xml" \

"application/xml" \

"font/eot" \

"font/otf" \

"font/ttf" \

"font/opentype" \

"image/bmp" \

"image/svg+xml" \

"image/vnd.microsoft.icon" \

"image/x-icon" \

"text/cache-manifest" \

"text/css" \

"text/html" \

"text/javascript" \

"text/plain" \

"text/vcard" \

"text/vnd.rim.location.xloc" \

"text/vtt" \

"text/x-component" \

"text/x-cross-domain-policy" \

"text/xml"

</IfModule>

# END DEFLATE COMPRESSION
  1. Enable Keep Alive Option

This is a very powerful .htaccess trick which enables server and web browser to download resources from a single connection.

Copy and paste the below code in your .htaccess file to enable this function.

# START ENABLE KEEPALIVE

<ifModule mod_headers.c>

Header set Connection keep-alive

</ifModule>

# END ENABLE KEEPALIVE
  1. Leverage the Browser Cache

This is one of the most important and recommended .htaccess trick to optimize the WordPress website. Most of all speed test tools like Google PageSpeed Insights, GTmatrix, and Pingdom recommend enabling Leverage browser caching. Browser Caching enabled websites tells web browsers to keep/store website resources like CSS or JS files for a certain period.

Add the below code to .htaccess file to leverage the browser caching.

# START EXPIRES CACHING #

<IfModule mod_expires.c>

ExpiresActive On

ExpiresByType text/css "access 1 month"

ExpiresByType text/html "access 1 month"

ExpiresByType image/gif "access 1 year"

ExpiresByType image/png "access 1 year"

ExpiresByType image/jpg "access 1 year"

ExpiresByType image/jpeg "access 1 year"

ExpiresByType image/x-icon "access 1 year"

ExpiresByType image/svg+xml "access plus 1 month"

ExpiresByType audio/ogg "access plus 1 year"

ExpiresByType video/mp4 "access plus 1 year"

ExpiresByType video/ogg "access plus 1 year"

ExpiresByType video/webm "access plus 1 year"

ExpiresByType application/atom+xml "access plus 1 hour"

ExpiresByType application/rss+xml "access plus 1 hour"

ExpiresByType application/pdf "access 1 month"

ExpiresByType application/javascript "access 1 month"

ExpiresByType text/x-javascript "access 1 month"

ExpiresByType text/x-component "access plus 1 month"

ExpiresByType application/x-shockwave-flash "access 1 month"

ExpiresByType font/opentype "access plus 1 month"

ExpiresByType application/vnd.ms-fontobject "access plus 1 month"

ExpiresByType application/x-font-ttf "access plus 1 month"

ExpiresByType application/font-woff "access plus 1 month"

ExpiresByType application/font-woff2 "access plus 1 month"

ExpiresDefault "access 1 month"

</IfModule>

# END EXPIRES CACHING #

Add Cache control headers to enhance Page Speed. Copy and paste below code into the .htaccess file

# BEGIN Cache-Control Headers

<ifModule mod_headers.c>

<filesMatch "\.(ico|jpe?g|png|gif|swf)$">

Header set Cache-Control "public"

</filesMatch>

<filesMatch "\.(css)$">

Header set Cache-Control "public"

</filesMatch>

<filesMatch "\.(js)$">

Header set Cache-Control "private"

</filesMatch>

<filesMatch "\.(x?html?|php)$">

Header set Cache-Control "private, must-revalidate"

</filesMatch>

</ifModule>

#END Cache-Control Headers
  1. Disable Image Hotlinking

This trick is to restrict other sources to use your website images. There are huge chances that spammers can use your image link to their own website. So every time if someone will visit on their page, the linked images will be loaded from your website/server. This is called image Hotlinking.

So you just copy and paste below code into your .httaccess file to prevent image Hotlinking.

# DISABLE IMAGE HOTLINKING START

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?sample.com [NC]

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]

RewriteRule \.(jpg|jpeg|png|gif)$ – [NC,F,L]

# DISABLE IMAGE HOTLINKING END
  1. Active mod_pagespeed

This trick is to enhance and optimize your website especially relevant and works with Apache Server. Mod_pagespeed module is developed by Google and now few major hosting providers like DreamHost, SiteGround, and Godaddy to increase page speed of the website. However, this module could be installed using SSh on your Cpanel.

Simply copy and paste below code to .htaccess file to enable this module.

# ENABLE MOD PAGESPEED START

# COMBINE CSS, COMPRESS IMAGES, REMOVE HTML WHITE SPACE AND COMMENTS

<IfModule pagespeed_module>

ModPagespeed on

ModPagespeedEnableFilters rewrite_css,combine_css

ModPagespeedEnableFilters recompress_images

ModPagespeedEnableFilters convert_png_to_jpeg,convert_jpeg_to_webp

ModPagespeedEnableFilters collapse_whitespace,remove_comments

</IfModule>
  1. LightSpeed Cache

If you are using lightspeed Server to run your website. You should use below code to enable LightSpeed Cache Option.

# ENABLE LITESPEED CACHE START

<IfModule LiteSpeed>

CacheEnable public

RewriteEngine On

RewriteCond %{REQUEST_METHOD} ^GET|HEAD$

RewriteCond %{HTTP_HOST} ^sample.com|sample.net|sample.org [NC]

RewriteCond %{REQUEST_URI} !login|admin|register|post|cron

RewriteCond %{QUERY_STRING} !nocache

RewriteRule .* - [E=Cache-Control:max-age=300]

</IfModule>

#ENABLE LITESPEED CACHE ENDerver level caching.


 

Important Note: – you should add/edit mentioned module codes one by one in your website .htaccess file. Check your website every time you add/edit a module, so it will help you to know which module is not fit for your website.

Bonus tip

To prevent the chances of being hacked it is very important to add the following code at the bottom of your website’s .htaccess file. This will help to hide your server signatures.

# Disable server signature #

ServerSignature Off

# End Disable server signature #

 

Article Source: – www.technumero.com

 

 

Thanks for Reading.