How to Enable GZIP Compression for WordPress

A slow website can create many problems. It can drive away potential visitors and customers, damage the user experience (UX) and even affect your online reputation. Decreasing the page size of your website is the key to improving your loading speed. Fortunately, GZIP compression is a great way to get a quick page load and reduce file size.

How to Enable GZIP Compression for WordPress

In this guide, we will examine the basics of GZIP compression, then we will see in detail how to enable GZIP compression on a WordPress site.

Let’s get started right away!

Summary 

  • What is GZIP compression?
  • What does GZIP compression do?
  • How to check if GZIP compression is enabled
  • How to enable GZIP compression on WordPress
  • Enable GZIP compression with a plugin
  • Enable GZIP compression on Nginx
  • Enable GZIP compression on Apache
  • Conclusion

What is GZIP compression?

GZIP compression is a type of data compression similar to ZIP and RAR. It can be used to compress all the files on your website, whether they consist of text, HTML, CSS, JavaScript or XML.

Compression occurs before files are offered to your visitors’ web browsers. With this method, GZIP compression reduces file sizes, which can have a positive effect on website load times.

What does GZIP compression do?

When a visitor arrives on your website, his browser requests the site files from his server. The server will compress those files before sending them to the browser.

Compressed files are transferred faster than uncompressed files. This helps improve website performance, loading speeds and search engine optimization (SEO).

How to check if GZIP compression is enabled

GZIP compression is widely used and many WordPress hosting platforms enable it by default. If you are not sure whether GZIP compression has been enabled, you can check it using third-party solutions or browser devtools.

If GZIP is not enabled, warnings are typically displayed in tools such as  GTmetrix  . You can also use a solution like  Varvy’s GZIP tool  to check and see if your website uses GZIP compression.

How to Enable GZIP Compression for WordPress

You can also see if GZIP compression is enabled using the browser’s devtools. When enabled, Response Headers will include “Content-Hencoding: gzip”:

To find this feature in Chrome, you’ll need to  open devtools  and sign in to  Network  , then reload the page. Click on the name corresponding to your website and Response Headers will open.

How to enable GZIP compression on WordPress

All the websites we create in  Web Digital Media Group have GZIP compression enabled by default. All static files including text files, images, CSS and JavaScript are automatically compressed for optimal website performance. This automatic compression reduces the need for GZIP directives in your .htaccess file   .

How to Enable GZIP Compression for WordPress

However, not all WordPress websites are hosted on Creativemotions servers and will not benefit from the default enablement of GZIP compression. If your website is hosted on a different platform, you may need to manually enable GZIP compression. There are several ways to do this, which we will see later.

Enable GZIP compression with a plugin

The easiest way to enable GZIP compression is to use a caching plugin . Tools like  WP Rocket  allow compression by adding code to your .htaccess file   , while others like  W3 Total Cache  require you to manually add that code.

Enable GZIP compression with a pluginAlthough this is generally the easiest method, it does involve adding a plugin to your site. If you are looking to keep your plugin library lean, you can use one of the following solutions instead.

Enable GZIP compression on Nginx

If your website uses Nginx, you can use a  code snippet to enable GZIP compression. You must insert the snippet at the bottom of the nginx.conf file   of your site, in the “http” section.

gzip on;

gzip_types text/plain text/css text/javascript image/svg+xml image/x-icon application/javascript application/x-javascript;

gzip_min_length 1000;

gzip_vary on;

gzip_proxied no-cache no-store private expired auth;

gzip_diable “MSIE [1-6];

After saving and closing the file, you will need to restart Nginx. To do this, use the following command:

sudo service nginx restart

After reboot, verify that GZIP compression is turned on, using the methods described above.

Enable GZIP compression on Apache

If your web host uses Apache, you will need to edit the .htaccess file   to enable GZIP compression. This file can be found in the root directory of the WordPress installation, via File Transfer Protocol (FTP) or your file manager.

How to Enable GZIP Compression for WordPress

There are two Apache mods that you can use to enable GZIP, but  mod_deflate  is the most supported and best documented option. To enable  mod_deflate  , add:

<IfModule mod_deflate.c>

# Compress HTML, CSS, JavaScript, Text, XML and fonts

AddOutputFilterByType DEFLATE application/javascript

AddOutputFilterByType DEFLATE application/rss+xml

AddOutputFilterByType DEFLATE application/vnd.ms-fontobject

AddOutputFilterByType DEFLATE application/x-font

AddOutputFilterByType DEFLATE application/x-font-opentype

AddOutputFilterByType DEFLATE application/x-font-otf

AddOutputFilterByType DEFLATE application/x-font-truetype

AddOutputFilterByType DEFLATE application/x-font-ttf

AddOutputFilterByType DEFLATE application/x-javascript

AddOutputFilterByType DEFLATE application/xhtml+xml

AddOutputFilterByType DEFLATE application/xml

AddOutputFilterByType DEFLATE font/opentype

AddOutputFilterByType DEFLATE font/otf

AddOutputFilterByType DEFLATE font/ttf

AddOutputFilterByType DEFLATE image/svg+xml

AddOutputFilterByType DEFLATE image/x-icon

AddOutputFilterByType DEFLATE text/css

AddOutputFilterByType DEFLATE text/html

AddOutputFilterByType DEFLATE text/javascript

AddOutputFilterByType DEFLATE text/plain

AddOutputFilterByType DEFLATE text/xml

# Remove browser bugs (only needed for really old browsers)

BrowserMatch ^Mozilla/4 gzip-only-text/html

BrowserMatch ^Mozilla/4\.0[678] no-gzip

BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

Header append Vary User-Agent

</IfModule>

To enable mod_gzip instead   , add:

<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 mime ^application/x-javascript.*

mod_gzip_item_include mime ^text/.*

mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

mod_gzip_item_exclude mime ^image/.*

mod_gzip_item_include handler ^cgi-script$

</ifModule>

Before using both mods, you need to make a backup of the .htaccess file   and make sure that the mod_filter module   is on your server, otherwise an error 500 may occur .

Conclusion

Reducing the page size of your website can decrease the page loading speed and overall performance. GZIP compression can allow this reduction, but only when it is enabled.

Tags: