Site Optimization - Apache




I see that there are many css files - this could be a problem because a browser can download only 4 files at a time.

Did you tried to use .htaccess compression?
I try to attach here the .htaccess content I use on my projects.
If you want the file, please send me an email: grig[dot]dorin[at]gmail[dot]com

Create .htaccess file on your website root and add this:
(this will speed your website and should fix the problem - also, is very good for SEO)

# Charset
AddDefaultCharset UTF-8
AddType application/x-font-woff2 .woff2

# PAGE SPEED | OPTIMIZATION
<IfModule mod_gzip.c>
    mod_gzip_on Yes
    mod_gzip_dechunk Yes
    mod_gzip_item_include file .(html?|txt|css|js|php|ico)$
    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> 

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

# File Cache
<IfModule mod_expires.c>
    ExpiresActive on
    ExpiresByType text/html "access 14 day"
    ExpiresByType text/css "access 14 day"
    ExpiresByType application/javascript "access 1 month"
    ExpiresByType text/plain "access 1 month"
    ExpiresByType image/x-icon "access 1 month"
    ExpiresByType image/icon "access 1 month"
    ExpiresByType image/jpeg "access 1 month"
    ExpiresByType image/gif "access 1 month"
    ExpiresByType image/png "access 1 month"
    ExpiresByType application/pdf "access 1 month"
    ExpiresByType application/x-shockwave-flash "access 1 month"
    ExpiresDefault "access plus 1 month"
</IfModule>

<FilesMatch "\.(html|js|css)$">
    FileETag None
    <IfModule mod_headers.c>
        # 480 weeks
        <FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
            Header set Cache-Control "max-age=290304000, public"
        </FilesMatch>

        # 2 DAYS
        <FilesMatch "\.(xml|txt)$">
            Header set Cache-Control "max-age=172800, public, must-revalidate"
        </FilesMatch>

        # 2 HOURS
        <FilesMatch "\.(html|htm)$">
            Header set Cache-Control "max-age=7200, must-revalidate"
        </FilesMatch>
    </IfModule>
</FilesMatch>

<IfModule mod_deflate.c>
    SetOutputFilter DEFLATE

    # 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 font/woff
    AddOutputFilterByType DEFLATE font/woff2
    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>

Comments

Popular posts from this blog

Installing the Certbot Let’s Encrypt Client for NGINX on Amazon Linux 2

Deploy Nuxt.js app using Apache 2

Automate PostgreSql Backup with Cron