Apache Server Configuration
Use server-side compression
Go to cPanel
→ Optimize Website
→ Compress the specified MIME type
application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/x-web-app-manifest+json application/xhtml+xml application/xml image/svg+xml text/html text/cache-manifest text/css text/plain text/vcard text/x-cross-domain-policy
Browser Caching
Use the following in the .htaccess
file. Code courtesy of the HTML5 Boilerplate Project. See Apache Docs for more details.
It's strongly recommended you use cache-busting or set the maximum time toaccess plus 2 weeks
.
With Cache-Busting
<IfModule mod_expires.c> ExpiresActive on ExpiresDefault "access plus 1 month" ExpiresByType text/css "access plus 1 year" ExpiresByType application/atom+xml "access plus 1 hour" ExpiresByType application/rdf+xml "access plus 1 hour" ExpiresByType application/rss+xml "access plus 1 hour" ExpiresByType application/json "access plus 0 seconds" ExpiresByType application/ld+json "access plus 0 seconds" ExpiresByType application/schema+json "access plus 0 seconds" ExpiresByType application/vnd.geo+json "access plus 0 seconds" ExpiresByType application/xml "access plus 0 seconds" ExpiresByType text/xml "access plus 0 seconds" ExpiresByType image/vnd.microsoft.icon "access plus 1 week" ExpiresByType image/x-icon "access plus 1 week" ExpiresByType text/html "access plus 0 seconds" ExpiresByType application/javascript"access plus 1 year" ExpiresByType application/x-javascript "access plus 1 year" ExpiresByType text/javascript "access plus 1 year" ExpiresByType application/manifest+json "access plus 1 week" ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds" ExpiresByType text/cache-manifest "access plus 0 seconds" ExpiresByType audio/ogg "access plus 1 month" ExpiresByType image/bmp "access plus 1 month" ExpiresByType image/gif "access plus 1 month" ExpiresByType image/jpeg"access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType image/svg+xml "access plus 1 month" ExpiresByType image/webp"access plus 1 month" ExpiresByType video/mp4 "access plus 1 month" ExpiresByType video/ogg "access plus 1 month" ExpiresByType video/webm"access plus 1 month" ExpiresByType application/vnd.ms-fontobject "access plus 1 month" ExpiresByType font/eot "access plus 1 month" ExpiresByType font/opentype "access plus 1 month" ExpiresByType application/x-font-ttf"access plus 1 month" ExpiresByType application/font-woff "access plus 1 month" ExpiresByType application/x-font-woff "access plus 1 month" ExpiresByType font/woff "access plus 1 month" ExpiresByType application/font-woff2"access plus 1 month" ExpiresByType text/x-cross-domain-policy"access plus 1 week" </IfModule>
Without Cache Busting
<IfModule mod_expires.c> ExpiresActive on ExpiresDefault "access plus 1 week" ExpiresByType text/css "access plus 1 week" ExpiresByType application/atom+xml "access plus 1 hour" ExpiresByType application/rdf+xml "access plus 1 hour" ExpiresByType application/rss+xml "access plus 1 hour" ExpiresByType application/json "access plus 0 seconds" ExpiresByType application/ld+json "access plus 0 seconds" ExpiresByType application/schema+json "access plus 0 seconds" ExpiresByType application/vnd.geo+json "access plus 0 seconds" ExpiresByType application/xml "access plus 0 seconds" ExpiresByType text/xml "access plus 0 seconds" ExpiresByType image/vnd.microsoft.icon "access plus 1 week" ExpiresByType image/x-icon "access plus 1 week" ExpiresByType text/html "access plus 0 seconds" ExpiresByType application/javascript"access plus 1 week" ExpiresByType application/x-javascript "access plus 1 week" ExpiresByType text/javascript "access plus 1 week" ExpiresByType application/manifest+json "access plus 1 week" ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds" ExpiresByType text/cache-manifest "access plus 0 seconds" ExpiresByType audio/ogg "access plus 1 week" ExpiresByType image/bmp "access plus 1 week" ExpiresByType image/gif "access plus 1 week" ExpiresByType image/jpeg"access plus 1 week" ExpiresByType image/png "access plus 1 week" ExpiresByType image/svg+xml "access plus 1 week" ExpiresByType image/webp"access plus 1 week" ExpiresByType video/mp4 "access plus 1 week" ExpiresByType video/ogg "access plus 1 week" ExpiresByType video/webm"access plus 1 week" ExpiresByType application/vnd.ms-fontobject "access plus 1 week" ExpiresByType font/eot "access plus 1 week" ExpiresByType font/opentype "access plus 1 week" ExpiresByType application/x-font-ttf"access plus 1 week" ExpiresByType application/font-woff "access plus 1 week" ExpiresByType application/x-font-woff "access plus 1 week" ExpiresByType font/woff "access plus 1 week" ExpiresByType application/font-woff2"access plus 1 week" ExpiresByType text/x-cross-domain-policy"access plus 1 week" </IfModule>