How to enable gzip compression for a specific site

In a previous article, we discussed how you can enable gzip compression in cPanel. This cPanel functions add some code in the /home/accountname/.htaceess file. Doing so, the gzip compression will be applied to all domains, subdomains, addon domains etc. you have.

The code that is added by cPanel in the /home/accountname/.htaceess file is:

<IfModule mod_deflate.c>
    SetOutputFilter DEFLATE
    <IfModule mod_setenvif.c>
        # Netscape 4.x has some problems...
        BrowserMatch ^Mozilla/4 gzip-only-text/html

        # Netscape 4.06-4.08 have some more problems
        BrowserMatch ^Mozilla/4\.0[678] no-gzip

        # MSIE masquerades as Netscape, but it is fine
        # BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

        # NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
        # the above regex won't work. You can use the following
        # workaround to get the desired effect:
        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html

        # Don't compress images
        SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
    </IfModule>

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

To enable gzip compression for a specific site:

1. Disable cPanel compression from cPanel->Optimize Website

2. Navigate to your site’s directory (with a file manager or via FTP)

3. Create or edit the .htaccess file. (notice the dot in the from of the the filename)

4. Add the following lines:

<IfModule mod_deflate.c>
    SetOutputFilter DEFLATE
    <IfModule mod_setenvif.c>
        # Don't compress images
        SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
    </IfModule>
    <IfModule mod_headers.c>
        # Make sure proxies don't deliver the wrong content
        Header append Vary User-Agent env=!dont-vary
    </IfModule>
</IfModule>

5. Check if the gzip compression is enabled https://sitechecker.pro/gzip-test/

For more information, check the mod_deflate manual.

Resources:
Apache Module mod_deflate
MIME types

Leave a Reply