Minification is "not" an important optimization tactic for mobile speed.

Header 3 not shown for mobile speed.

Save the Internet from WordPress speed abuse.

Updated: July 2017

6 minute read

Minification is not an important optimization tactic for mobile speed.

There are 31 minification plugins in the WordPress directory. They vary from 3.8k to 6.6M Gzip-compressed archive size. The plugins may be fresh and updated – or as stale as 8 years. What good are minification plugins? Why are they common recommendations for speed? Do they make a difference? Why do they often break your website?

Claims are: Minification plugins lead to faster page render times. These plugins reduce bandwidth consumption. Unbeknown to site owners, minification plugins lump several functions together. One function is minification – another is concatenation.

NOTE: If code is offsite, like Facebook scripts, it won’t concatenate. It’s out of the control (reach) of the plugin. That code resides on a different protected server. No luck. Offsite third-party scripts – like WebFonts or GoogleAds – kill speed.

Minification by itself is harmless. It’s removes white space and comments from HTML, CSS and JS code. There was a time when minification (white space removal) was significant. This was before the days of standard Gzip compression on servers. All modern browsers have Gzip activated for decoding or decompressing. Before Gzip, white space made a difference of 10 percent to 30 percent reduction in file size. In the  days of slow dialup modems, programmers hand removed white space and comments. That was worthwhile. But not any more.

Read PagePipe: Learn more about Gzip

When compressing a file with Gzip, file reduction is as much as 70 percent. Gzip codifies redundancy caused by code duplication. Additional white space removal after Gzip compression changes file size less than 1 percent. Pretty minuscule benefit. So why even do it? Well, it doesn’t break anything.

We’ve done tests. After enabling Gzip, minification (white space removal) only reduces file sizes by an extra one percent. Small speed reward.

Doesn’t minification increase the chances of site breakage?

No. Minification never breaks your site. But concatenation is a different matter. Minification plugins are a misnomer. The big speed gain with minification plugins is concatenating files. Concatenation is bundling files into groups such as the HTML – and makes them all one file. Then doing the same for all CSS files – making them one file. And also the same with all Javascript – into one file. You then retrieve each bundle in a single request. In theory, much faster. You’ve saved HTTP overhead.

Minification is OK. But concatenation can really mess things up. Most minification plugins minify – and concatenate. Minification is safe white-space removal. Concatenation is the more risky combining of scripts. Beware.

Example: Before adding Autoptimize plugin.

Below are Pingdom.com test results with no concatenation. We see that there are 23 HTTP requests. Each “call” is in the waterfall file requests. Page weight is lightweight: 132k. Speed is fast: 323 milliseconds. This also shows how the web assets load in parallel improving speed.

After adding Autoptimize plugin.

After adding concatenation, the number of requests is 11. Much less. Reduction in page weight is 116k (a 16k reduction) and speed is 137 milliseconds faster.

Is improving page speed from 363 milliseconds to 226 milliseconds significant? Does it matter?

As speed freaks, we’d like to think so. But most desktop site visitors can’t perceive those kinds of speed difference. They see 1-second page changes as almost instantaneous. No waiting. But a 100 millisecond change is transparent.

For mobile speed, 100 milliseconds is a big gain. But not if it breaks your site.

Offsite link: Performance implications of bundling and minification on web browsing. Microsoft.
Offsite Link: Minification – Explained in Plain English. WP Rocket. (We highly recommend this article).

Why not take advantage of the improvement? We’ll keep Autoptimize plugin installed. But if there is any sign of problems, forget it. It’s better to have a stable and usable site than a fast flaky one. Quality is important for credibility and usability.

Minification plugins are nice when they work. But more often than not, concatenation breaks your website in some odd way. Reducing the number of HTTP requests is nice. But parallel delivery makes a bigger difference in speed than minification and concatenation. You don’t control that. Browsers have changed and allow more parallel loading than ever before. The pipe is bigger.

Concatenation is a process that often doesn’t work “out of the box.” You need trial and error by switching on and off options. You may not eliminate all render-blocking resources without breaking the site. In fact, we gamble you’ll break your site before you’re done.

So what breaks most often:

  • Responsive navigation elements disappear.
  • Email or ecommerce signups malfunction.
  • Page resets (refreshes or loads) produce HTML unstylized pages.
  • Delayed pages rebuild like cold molasses before your eyes.
  • Disappearing page elements such as menus.

These are all signs of concatenation messing things up. You may get the white screen of death. It’s happened to us. And we thought we were careful.

How much speed from minification plugins when combined with gzip compression?

Minification/concatenation combined with Gzip give some improved speed results. Gzip is a general, generic algorithm. It’s required protocol in our book. Minification is aware about content and does improvements general compression algorithms can’t. When it completely eliminates comments and whitespaces – that’s 100% data compression. There is no harm. Concatenation is always the real problem.

ONLINE MINIFICATION TOOLS
We have used this tool to minify CSS child themes using copy and paste.

Minification is removing whitespace from site files. Often, minification can reduce file size by 20 to 50 percent. That doesn’t translate into 20 to 50 percent speed improvement. Sorry. http://www.minifycss.com/css-compressor/ Just paste the CSS contents into the CSS input area. Tweak the compression settings and options, and process it. Then, replace the processed contents. If you only get 5 – 10 percent improvements, be more aggressive with the compression settings. 99 percent of the time, the only thing removed from minified JavaScript files are the comments and whitespace.

Our Recommendation: Test minification plugins. If they break your site, forget about it. We do minification – if it doesn’t affect the theme functions. But often we invent workarounds. Any sign of trouble and we may try a couple more favorite minify plugins and then quit. Not worth the grief.

If there wasn’t some “measurable goodness,” we wouldn’t minify. Often, it’s only a psychological benefit. There’s therapeutic value for those afflicted with Speed OCD.

Feel guiltless if you drop minification.

What are our favorite Minification plugins?

★★★★★
Autoptimize
Zip archive 186k
Active installs: 300,000+
updated: 1 week ago
downloads: 1,734,437
retention: 17.3%

★★★★
Better WordPress Minify

Active installs: 90,000+
Zip archive: 655k
updated: 2 years
downloads: 553,585
retention: 16.3%

★★★★★
Speed Booster Pack
Active installs: 40,000+
Zip archive: 82k
updated: 3 weeks
downloads: 324,934
retention: 12.3%

We found Speed Booster Pack’s minification features succeed where other minification plugins caused conflicts or white screens. It’s not for everyone but worth noting here.

We recently used Asset Queue Manager plugin to de-enqueue the lazy-load-images function of the Speed Booster Pack plugin. That was a javascript file called sbp-lazy-load.min.js. It was being loaded globally and adding page weight. We wanted the nice other features of Speed Booster Pack plugin. But not the lazy load because it caused site drag. That function was loaded even if it wasn’t selected in the plugin control panel. Weird! Our preference was using Rocket Lazy Load plugin which has no site drag at all – a weightless plugin. Piece of cake with Asset Queue Manager! Read more about Asset Queue Manager.

Godspeed—

Steve Teare
performance engineer

Mobile WordPress Speed – without coding!

What others think of us:


"Steve, you are a gent and a scholar. Thanks for your time and feedback. You are definitely right about speed inconsistencies with free Cloudflare!" silvercoast-apartments.com, Portugal

by - Cei Bunyan