Do we think the Hummingbird all-in-one speed plugin for WordPress websites is cool?
Nope. We know you can get the same website optimization functions for free with standalone plugins – and produce even better results.
Wpmu Dev Hummingbird New Product Announcement
Hummingbird Features
- Generate a performance report with recommended speed improvements
- Browser caching
- Minify and combine files
- Defer script loading
- GZIP configuration
- Bonus: Uptime monitor and notification
Hummingbird is a performance and optimization plugin to improve site speed. Using cloud-based services, it analyzes (by Google Page Insight standards), minifies, can add Gzip compression, and caches pages.
All of this costs money. Hummingbird is a SAAS subscription service. The advertised prices are: $49.50 monthly, $103.50 quarterly, or $294 annually. Recurring payments are made via PayPal. Those are the reduced-by-half, discounted signup prices. Sticker shock!
You can easily add all Hummingbird features to your website with just six free, WordPress-archived plugins. That’s right. Free. And they’ll probably run even faster.
Here they are:
1Hummingbird Feature: Minification
Minifying shrinks files and combines them to lighten server load with fewer HTTP requests (calls).
Free plugin alternatives for minification.
Better WordPress Minify (662k zip download)
Allows you to minify your CSS and JS files for faster page loading for visitors. Not all minifier plugins work – in fact – they frequently break your site. This plugin really works. It combines (concatenates) all possible files to reduce the number of HTTP requests and removes code “white space” and comments.
Our other favorite is:
Autoptimize (186k zip download)
It can aggregate, minify and cache scripts and styles, injects CSS in the page head by default and can move and defer scripts to the footer. It also minifies the HTML code itself, making your page really lightweight.
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.
Gzip compression speeds up text based file transfers. It’s not applied to image files. But it does compress HTML, Javascript, PHP, CSS, and others by 50 to 70 percent. The load time improvement can be noticeable.
The option to enable gzip compression was removed in WordPress 2.5 because Apache servers could handle it much more efficiently than PHP. The Gzip function was never put back. It then became necessary to edit the server HTTP access file manually. However, many people don’t have root server access (as in many shared hosting accounts) so that denied them Gzip speed benefits.
Because of the WordPress 2.5 change, Gzip could only be enabled by editing the HTTP access file via FTP or Cpanel. This is not only cumbersome but also dangerous. Making a mistake breaks your WordPress site. We know from experience. It’s not a fun place to be.
Plugins were soon authored to compensate for the loss of functionality in WordPress. We don’t recommend any of these plugins. They are unnecessary. These useless plugins are:
- Check and Enable Gzip Compression (6.2k download)
- Gzip Ninja Speed Compression (157k download)
- WordPress Gzip Compression (2.2k download)
- WP HTTP Compression (64k download)
Repeat: We don’t recommend any of the above Gzip plugins. WARNING: Several may actually break your site (white screen of death from plugin conflicts) or make your site slower. We speak from experience again. It depends upon your theme and other plugins.
Many, Gzip plugins run through PHP, which, although fast, is not as fast as running directly from the Apache server using mod_deflate. Running Gzip via PHP uses extra CPU cycles and memory.
Before installing any plugins for Gzip.
Your hosting may automatically enable Gzip. Then no plugin is needed. For example, today GoDaddy’s Linux Web Hosting accounts have mod_deflate enabled by default. Mod_deflate is an apache server module that compresses data using gzip compression before sending it to the user. This compresses all text type files requested from it (HTML, CSS, JS, PHP, etc). Your hosting may do the same. Check your site with this tool: http://ismyblogworking.com/
Or this one: https://checkgzipcompression.com/
Example – Our PagePipe Gzip results using online tests:
- Page size (uncompressed): 31,766 bytes
- Download size (compressed): 6,728 bytes
- Bandwidth saved by compression: 78.8%
If your host isn’t providing automatic Gzip compression, then use the following plugins. They’re proven safe methods:
Far Future Expiration Header
This plugin will add a “far future expiration” date for various file types to improve site performance. This is a best practice advocated by the Yahoo Extreme Performance Team. It keeps files and images cached longer. There is also a radio button to enable Gzip – a nice addition. Set Far Future expiration to 365 days. You’re done.
WP Super Simple Speed
WP Super Simple Speed is lightweight (less than 20kb in size), and has no clutter or unnecessary code or configs. Simple performance optimization without any hassle. Gzip is automatically added to your .htaccess file on your server by this plugin.
Where is the missing WP Super Simple Speed plugin?
It’s still available to download on GitHub.
The plugin author removed the plugin because he was probably fed up with trying to help people with conflict problems from minification – actually concatenation of files. The plugin wasn’t removed by WordPress. The conflicts were mainly with fat, heavy plugins you shouldn’t use anyway – like Gravity Forms plugin.
If a plugin “breaks” anything. Simply don’t use it.
WP Super Simple Speed is lightweight (less than 20kb in size), and has no clutter or unnecessary code or settings. Simple performance optimization without any hassle.
Don’t be afraid of the three-year staleness on WP Super Simple Speed plugin. It works fine with newer PHP 7.1.
There is some redundancy with Autoptimize plugin and Far-Futures plugin features. But there’s no conflict and it finishes off a few hard to remove speed bumps.
WP Super Simple Speed writes new command code into your .htaccess file on your server. It does not overwrite any existing code.
Features include:
- Automatic hotlink protection to prevent bandwidth stealing/leeching.
- GZIP compression (speeds up page load time and saves bandwith).
- Loads jquery from google CDN (decreases latency | increases parallelism | better caching).
- Includes Vary: Accept-Encoding Header (increase performance and score on various performance tools).
- Disables auto-save on posts (lowers overhead on the server that can impact performance).
- Automatically sets UTF-8 encoding for files being served as text/html or text/plain.
- Enables keepalive (allowing persistent connections) which saves on bandwidth.
- Removes unnecessary clutter from wp head (rsd, version generator, and much more).
- Dequeues extra fontAwesome stylesheets loaded to your theme by other plugins.
- Removes query strings from all static resources.
The usefulness of this plugin varies with each site. There are alternative discrete plugins to achieve the same features. This plugin is just “handy” to cut down the plugin count.
The discrete plugins are:
Gzip is a software application used for file compression and decompression. Gzip is short for GNU zip; as the program was created as a free software replacement for the compression program used in early Unix systems.
Gzip replaces patent-encumbered data compression algorithms.
Most browsers and server platforms (including Apache and Microsoft IIS) support Gzip. It is often used in web applications and software such as PHP to improve speed. Hypertext PreProcessor (PHP) is a server-side HTML embedded scripting language. PHP is not always provided by a hosting server or may be a “paid” option. PHP is something that need to be “switched on” on the server. Check your ISP for how to do this. Or assume it’s on and just test. You can test to see whether PHP is activated with YSLOW or PageSpeed tools. Gzip can compress the HTML code by 50 percent to 70 percent. It does not compress images. Use an image processing program like GIMP or Photoshop.
Gzip compression: What’s the speed gain?
Gzip reduces redundancy in the HTML code. All modern servers and browsers can compress and decompress Gzip on-the-fly. It’s not the same as removing “white space.” White space removal eliminates spaces between words and code. That would buy a 10% reduction in the HTML and is meaningful on dialup. White space removal is now called “minification” or “minifying.” Removing white space AND using Gzip simultaneously are almost an insignificant compression gain—about 1%. Not worth the time usually since all “blanks” are redundant and compressed by Gzip anyway. The difference in speed is usually indistinguishable.
There are a number of plugins that claim to invoke Gzip. Many actually break your site (white screen of death from plugin conflicts) or make your site slower. The goal usually is a simple code modification in a file located in your site’s root folder. This is called the “.htaccess” file. You can alter this code with a simple copy-and-paste in a text editor. But even easier than that is using the “ 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. 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. Offsite link: Performance implications of bundling and minification on web browsing. Microsoft. 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: 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. 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 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. 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 dequeue 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.After adding Autoptimize plugin.
Is improving page speed from 363 milliseconds to 226 milliseconds significant? Does it matter?
For mobile speed, 100 milliseconds is a big gain. But not if it breaks your site.
Offsite Link: Minification – Explained in Plain English. WP Rocket. (We highly recommend this article).
How much speed from minification plugins when combined with gzip compression?
We have used this tool to minify CSS child themes using copy and paste.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%
2Hummingbird Feature: Caching
Store a snapshot of specific content in your user’s browser so they don’t need to reload the entire page every time they visit. Improves user experience and lessens the load on your server.
Free plugin alternative for caching.
Cache Enabler (17k zip download)
Caching plugin for WordPress. Caching doesn’t always help with speed. It depends upon how optimized your site is to begin with. If you’ve done a good job making images small (or not even using images) and Gzip compression is activated, caching doesn’t necessarily make much improvement.
3Hummingbird Feature: Remove Render Blocking Resources
The normal behavior of a website is to pause the HTML parsing while the scripts are executing. Render-blocking Javascript prevents above-the-fold content on your page from being rendered until the javascript has finished loading. This can impact your page speed and user experience.
Free plugin alternative for Javascript Rendering.
We don’t recommend using Google’s PageSpeed Insight tools for doing mobile website benchmarking – or even for desktop. We avoid this tool. We refer you to the following articles as to why:
Why the .@Google Mobile Test Tool Is Absolute Crap >
Why you Shouldn’t Care About Google PageSpeed Insights >
Why Trying to Get 95+ on Google PageSpeed Insights for Your WordPress Site Will Drive You Mad! >
The Truth about Google Pagespeed Insights >
Better tools for evaluation are pingdom.com and WebPagetest.org.
Note: WebPagetest is an open-source project owned by Google.
Deferring Javascript breaks WordPress.
Google’s Bogus Error Message for Mobile Anxiety
Should Fix:
Eliminate render-blocking JavaScript and CSS in above-the-fold content.
Render-blocking JS is the most annoying and unresolvable error message Google’s mobile test delivers. It pushes some perfectionists to the brink of frothing madness. We’ve decided it must be ignored completely if you use WordPress. Give yourself a break. It’s not you that’s bad. It’s Google.
“Everybody is talking about Render Blocking. Sounds like something Google planted so we’d spend more time learning code – instead of thinking of how to run a successful blog.”
When you’re using WordPress for website production, it’s an impossible situation. The most basic components of WordPress trigger the “render-blocking JS” error message. No other method of speed testing uses render-blocking JS as a parameter. It’s not worth reporting.
Many supposed solutions are created by plugin authors attempting to resolve this frustrating error message. We tested all of the 8 plugins below. They do not work as claimed. They are not “plug-and-play.” They don’t eliminate the “render-blocking” error message on PageSpeed Insights. Nor do they improve page load time in the least. Three plugins broke the page being tested. Those three are marked with a red asterisk.
These are not simple or easy plugins. In most cases, they are dangerous in the wrong, inexperienced hands. You can easily damage your site. We recommend you not use them. They are esoteric fluff. Their claims are presented below but don’t believe them without testing for confirmation on your site. We had no success. This is a warning.
above the fold optimization 103.4k
Description: Enables to pass the “Eliminate render-blocking JavaScript and CSS in above-the-fold content”-rule from Google PageSpeed Insights
performance optimization order styles and javascript 5k
Description: Ordering StyleSheet and JavaScript (external and inline) for performance optimization. The plugin will also collect different inline scripts to one place.
wp deferred javascripts 14k
Description: Defer the loading of all JavaScripts added by the way of wp_enqueue_script(), using LABJS. The result is a significant optimization of loading time. It is compatible with all WordPress JavaScript functions (wp_localize_script(), js in header, in footer…) and works with all well coded plugins. If a plugin or a theme is not properly enqueuing scripts, your site may not work.
external files optimizer* 4.7k
Description: Automatically combine and compress css/js files generate with wp_head() and wp_footer()
head cleaner* 262k
Description: Cleaning tags from your WordPress header and footer. To speed up the loading of JavaScript and CSS. PHP5 required.
headjs loader* 15k
Description: Load your Javascript files via Head JS. Caution: this plugin can cause major issues with the javascript on your site if not implemented properly. Please be sure to test on a development server first.
wp asset clean up 34k
Description: Make your website load FASTER by preventing specific scripts (.JS) & styles (.CSS) from loading on pages/posts and home page. WP Asset Clean Up scans your page and detects all the assets that are loaded. When editing a page/post select the ones you DO NOT wish to load.
wp super simple speed 7k
Description: Super Simple Speed is a stable and powerful plugin that dramatically increases your WordPress page load speed and gives you a better performance score on the major speed testing services. Unlike most other similar plugins, WP Super Simple Speed is lightweight (less than 20kb in size), and has no clutter or unnecessary code or configs. Simple performance optimization without any hassle.
4Hummingbird Feature: Enable Gzip file compression.
Send smaller files over the web for quicker load times. Sending zipped files is faster and can save you money on hosting.
Free plugin alternative for Gzip compression.
Honestly? Gzip never saves money on hosting any more. Where did they come up with that old myth? But Gzip does make a difference in page load time. There are many free Gzip compression plugins. Gzip can also be done by hand-coding – tediousness! We’ve found that none of those methods work reliably or will break your pages. Our recommendation instead is:
Far Future Expiration Header (7.5k download)
This plugin will add a “far future expiration” date for various file types to improve site performance. This is a best practice advocated by the Yahoo Extreme Performance Team. It keeps files and images cached longer. There is also a simple, on-off radio button to enable Gzip – a nice addition. For best results, set the expiration to the maximum 365 days.
5Hummingbird Feature: Automated Image Compression
Save space and improve site speed with image compression.
Free plugin alternative for automated image compression.
Duh! The obvious free replacement plugin is the not-so-pro version, WP Smush, (which only compresses images by 10 percent – not good enough) maintained by the very same author. Don’t use it.
We recommend instead two excellent image-optimizer alternatives:
ShortPixel Image Optimiser (64.3k zip download)
ShortPixel is an image compression tool that helps improve website performance. The plugin optimizes images automatically using either lossy or lossless compression. We suggest you use “lossy” settings. Resulting smaller images are no different in visual quality from the original. The plugin can do this as images are loaded or can retrofit your image library. Retrofits can take about 20 minutes of computer time. So go make a sandwich. The savings results are shown in your media library for each image. But if you convert too many images in a given period, it costs money.
So our other image optimizer plugin recommendation is:
Imsanity (152k zip download)
The plugin is configurable with a max width, height and quality. When an image is larger than the configured size, Imsanity automatically scales it down to the right dimensions and quality setting – and replaces the original image. It can optionally convert big PNGs to JPEGs for faster load times. We use a quality setting of 70. This plugin is completely free. This is our go-to image optimization plugin.
By default, WordPress always compressed images upon upload. In version 4.5, WordPress changed JPEG compression from 90Q to 82Q. This reduced image weight by an average of 25 percent.
Since version 2.5, WordPress used a default-quality setting of 90 to optimize images. A 90Q setting creates larger file sizes than recommended by modern web best practices. For example, WebPagetest warns site owners if images aren’t compressed enough.
WebPagetest specification: Images compressed within 10% of a Photoshop-web-save quality of 50 will pass. Up to 50% larger will warn (we guess that would be around 70Q to 75Q). Anything larger than that will fail. The image score is the percentage of bytes saved by image re-compression.
Photoshop provides a handy “Save for Web” option that keeps file sizes low. But what about a large website with a lot of images? An online store might have thousands of images. Having to create different sizes of each of these is an enormous task.
WordPress uses ImageMagick, an open-source command-line graphics editor, to quickly resizes images. This technique maintains great visual quality and small file sizes. It automates resizing image compression with formats like Jpeg and PNG.
The Odd Number of 82Q.
Researchers compared ImageMagick’s various compression settings against Photoshop’s high quality (60Q) setting for JPEGs. An Imagick compression setting of 82Q was closest. They used an open source test to compare dissimilarity of input and output Jpeg images.
Changing the default image quality setting is a small change. Yet, it makes a big impact on file size without sacrificing perceived image quality. The new 82Q setting only applies to the intermediate size images. Not the original files uploaded by users.
To change original image size dimensions and quality settings, we recommend Imsanity plugin.
We repeat: original full-sized, uploaded images remain unaffected by WordPress core optimization. This change only affects images resized by WordPress, such as image thumbnails. For international users, on slower web connections, this is important for performance optimization.
We agree with these changes for improving WordPress speed.
6Hummingbird Feature: Uptime Monitoring
Monitor your sites uptime, downtime and average response time and receive alert email notifications if your site goes down.
Free plugin alternatives for monitoring uptime.
We don’t do monitoring of our website. But if we did, we’d use one of the free plugins listed below:
WP Really Simple Health (40.5k zip download)
tagBeep uptime monitor (30.9k zip download)
SensorPress (24.4k zip download)
Uptime Robot Plugin for WordPress (23.0k zip download)
requires free signup at http://uptimerobot.com/
Practice what you preach.
As a demonstration of irony (and perhaps expose), we include some performance numbers for the Hummingbird product page. They obviously do NOT practice what they preach when it comes to performance optimization.
On Google PageSpeed Insights, the Hummingbird product page fails the usual :
“Eliminate render-blocking JavaScript and CSS in above-the-fold content”
But the plugin authors claim Hummingbird fixes that problem. Oops!
From WebPagetest Test Results
First View: 10.375 seconds, 121 requests
Repeat View: 7.675 seconds, 46 requests
The visitor-expected wait time for page loads is 2 seconds. This is accepted web best practice. This product page, with a 10-second load, doesn’t demonstrate the values they’re selling with the Hummingbird plugin. It’s another fail!
Both of the above tests say image optimization fails. What? Incredible.
So we then take a look at total page weight. It is 2.499M. Yes. Megabytes. Overall performance score 84 – a “B” rating. Again, unacceptable performance. (The performance score recently dropped even lower on Google PageSpeed Insights: mobile 67 and desktop 79).
Hypocrisy.
Godspeed-
Steve Teare
performance engineer
December 2024
PagePipe Site Tuning Services for Speed
Instead of band-aid approaches, we drill down to the root cause of your slow site. This is origin optimization. Also known as site tuning. To do this, we analyze site components:
- Hosting
- Theme
- Plugins
- Scripts and third-party services.
- Images and media library.
- We minimize globally loading plugin effects.
Find out more details about Site Tuning – Get Speed!