Hello again! Had a phase of momentarily doubt in myself building an own Wordpress theme using Roots (which at first got my head spinning), but after some fruitless search for the perfect (premium or free) Wordpress theme according to my maybe a bit strict criterias, I’m back for a second attempt.
I’m looking to accomplish an theme that is really lean on the browser load, but still modern. I realize the way Roots default workflow is makes it minimalistic, but since my target users are in many cases on slow and old browsers/computers/connections I really want a theme to be as lean as possible.
I’ve done some research and one thing that most Wordpress sites and themes seems to fail is in load time. page size and number of HTTP requests. I’m using http://gtmetrix.com/ and for example the Roots webpage http://roots.io is reported as:
Page load time: 1.64s
Total page size: 727KB
Total number of requests: 23
Which is impressive for a Wordpress site as far as the couple of tests I’ve run, where most sites does 3 or 4 more times in all (if not more). Of course the page load time is dependent on many things other than the Wordpress implementation that is hard to control as web designer/developer, but relies in many variables on things we can control like page size and number of request.
In my quest I’ve found that to compress with gzip is one not commonly used but most often recommended for optimizing web pages. Probably because today it’s not an obvious issue for desktop (and laptop) users, which is what most web designers are.
Anyways, even though I know web servers and Wordpress caching plugins do this, I’m pondering how to do it in the development workflow, and especially with using Grunt which I have come to somewhat befriend. I can’t see any gzipping going on in the current Gruntfile.js file as of by default. I’ve found grunt-contrib-compress does this.
Would using a compressor to gzip be right for me? Is grunt-contrib-compress a good way to accomplish this? Or is adding this to the default Roots workflow maybe even not necessary?