.htaccess is a magic file that tells apache to how to serve files in a directory. It is the most common also the best way to speed up your website.
One of the most important factor in page loading speed, is that everytime a user enters your site, browser loads every image, script and stylesheet again. To prevent this behaviour, We can tell browser to cache static files for future use.
# Enable browser cache for images and styles
Header set Expires "Thu, 15 Apr 2014 20:00:00 GMT"
Header unset ETag
You must change expiring date to a far future date. This way, until that day comes, and of course if user doesn’t clear cache manually static files won’t be downloaded again. ETag’s must be disabled for caching to work successfully. You can debug your file header information using AskApache’s HTTP Header Debugger. It will show you if your file has an expiry date or not.
Header append Vary User-Agent env=!dont-vary
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/json
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/xsd
AddOutputFilterByType DEFLATE text/xsl
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/x-js
AddOutputFilterByType DEFLATE text/richtext
AddOutputFilterByType DEFLATE text/svg+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddType x-font/otf .otf
AddType x-font/ttf .ttf
AddType x-font/eot .eot
AddType x-font/woff .woff
AddType image/x-icon .ico
AddType image/png .png
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0 no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
# DEFLATE by extension
AddOutputFilter DEFLATE js css htm html xml
You should have mod_deflate module installed and enabled for gzip compression to work. Most of the web hosting companies allow you to enable/disable apache modules, so you can check it on your hosting control panel. Even if you don’t know, i recommend adding the code, because code will check if it works. If it doesn’t, apache will simply ignore those lines.
Today, page loading speed is one of the most important keys to a successful website. Most of the visitors leave the website because it is slow. If you want to make your website faster, .htaccess is the most important key. I also recommend serving your static files from a cookie free domain. But that’s another story. Cheers!