How to enable Gzip compression.


Website Gzip compression makes it possible to reduce the size of web pages and any other typical web files to about 30% or less of its original size before it gets sent to the visitor. This compressed file is then served to the browser of the visitor which decompresses it automatically whereafter the full file gets served to the visitor again. Enabling Gzip compression is great for improving page speed because the browser of your visitor will need to download much smaller web files as the original ones when browsing your web pages. There’s no reason to not use it these days, every knowledgable website owner should use it for his/her website(s).

Test your URL

You can use the online Gzip Compression Test below to check whether Gzip is enabled and the Gzip compresses rate for your web files:

Enable Gzip compression using the .htaccess file

You can actually use two mods to enable HTTP gzip compression: mod_gzip or mod_deflate. Mod_gzip enables Gzip compression and mod_deflate makes it possible to compress the output from your server before it is being sent to your visitor (which is the same thing). So should you be compressing your resources with gzip or deflate? In the end it doesn't matter much, both modules will provide you with the same maximum Gzip compression possible. But, As a general rule it’s recommended using mod_deflate since it’s more widely supported as mod_gzip. Mod_deflate is also better documented and is easier to configure. If mod_deflate doesn’t work on your server you can use mod_gzip. Not every host has these modules enabled, so make sure your host has one of them enabled. When you are sure your server has one of these mods enabled, continue by adding one of the below codes to your .htaccess file (which can be found or should be placed in your root folder):

To enable mod_deflate(recommended):

<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/x-font AddOutputFilterByType DEFLATE application/x-font-truetype AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-font-otf AddOutputFilterByType DEFLATE application/x-font-opentype AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE font/ttf AddOutputFilterByType DEFLATE font/otf AddOutputFilterByType DEFLATE font/opentype # For Olders Browsers Which Can't Handle Compression BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html </IfModule>

You can download the above script in a .htaccess file here.
 
To enable mod_gzip(second back up choice):

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

Download the above script in a .htaccess file here.

Extra note

If you just want to compress certain components or a certain file type with Gzip make sure you remove or include the file type to one of the above lists. And again, make sure at least one of these mods are enabled on the server where your website is hosted. Just copy & paste the associated above code and place it inside your .htaccess file. If you don’t want to compress a certain file type, just remove the associated file type from the code.

Gzip on Apache servers

If your website is hosted on a Apache server you can enable and control Gzip compression in the .htaccess file (look in above paragraph for instructions how to do that) which can be found and should be placed in the document root of your domain.

Gzip on Windows Servers (IIS Manager)

If your site is hosted on a Windows server you can enable compression for both static and dynamic files. It’s fairly easy to set this up in IIS manager:
1. Open up IIS Manager
2. Click on the site you want to enable compression for
3. Find and click on Compression (under IIS)
4. Now Enable static compression and you are done!
If it’s not working out like you want it to, take a look at to Microsoft’s guide on this subject to learn how you can set it up correctly.

Enable Gzip in WordPress

** This option is not recommended since it uses PHP to enable Gzip compression. If possible, you should always use the .htaccess file to enable Gzip.
Although it is recommended to use the .htaccess file for enabling Gzip compression, you can actually enable Gzip in the control panel of WordPress:
1. Browse to http://yourdomain.com/wp-admin/options.php
2. Use the search function of your browser and search for gzipcompression setting
3. Change the value of this setting from 0 to 1 to enable Gzip compression in WordPress