Like many people, you may hate website popups. What’s a popup? It’s that annoying type of window – or web element – opening over the top of content without your permission. Popups usually contain advertisements, chats, or a request you signup for a newsletter or email list. It may cover the entire page or just a corner. Popups can occur instantly or be timed. It may happen only once or incessantly on every single page and post.
The popup problem is mainly about usage. They’re an intrusive, in-your-face, artificial-urgent-appeal to divulge your email address or engage in a sales pitch. They happen when you arrive on a page – or as you’re leaving a page (called exit intent).
Popup plugins will *not* force people to sign up. But the goal is collecting leads and generating more sales. Sounds noble.
Even though some popups are inoffensive and look nice, most deliver a bad user experience. They often cause so much animated shaking-shuddering-swinging screen action it ruins all good user experience. They then are frustrating and annoying – and even as disturbing as sparking a blue-static-arc on a cold metal doorknob. Painful and jarring.
We rarely see popups used in inoffensive and unobtrusive ways. Site owners simply abuse popups thinking the more *visual noise* the better for communicating or grabbing attention. It’s not fun – it’s usually repellent. It’s garishly ugly. It’s shouting indoors.
The worst and biggest popup offender is OptinMonster plugin, first created in 2013. It uses an API that adds 385 milliseconds of load time to every page. And costs a minimum of $9 per month. What? The pro version is $29 per month. That’s terrible. There is no free version. Yet this plugin resides in the free WordPress plugin directory. What the heck is OptinMonster doing in the free plugin directory?
OptinMonster smacks of slowness with a 1.1 megabyte zip download and requiring an API (application programming interface). It has a whopping 4 million downloads with 600,000+ active installs. Retention then is: 15 percent – that’s pretty amazing. With those numbers it, must be good. Right? But these guys are robbing people. Why isn’t anyone complaining? Why no one is complaining defies reason.
Perhaps we made a mistake. Are we sure OptinMonster isn’t free? Yes. We double checked. And while it appears free, it’s not.
If you download OptinMonster and install it, you can’t use it until you install the API. It does nothing. You’re locked out. So you click a link and you’re taken to a typical 3-tier plan where you select how much you’ll pay per month (but it’s an upfront annual payment). Then you get your API key to use the so-called *free* plugin. That’s not free in our opinion. Do you think it’s free – just because it’s in the free plugin directory? This is a bait-and-switch ploy. Only there isn’t even any tasty bait to chew on.
So a little math: $9 x 12 months = $108 per year (minimum) x 600,000 active installs = $64.8 million dollars per year. Now we suppose some installations don’t have APIs activated and are just laying there dormant. But that’s still a lot of cash. Those poor users could get something with less “in-your-face” and a more pleasant user experience for free.
We have yet to see an OptinMonster plugin review that isn’t an affiliate link. The reporting is self-serving and biased.
What is the better, faster and free popup plugin?
Holler Box (112k download) does all the essential OptinMonster functions for free – plus some – and doesn’t weigh a ton. Hollarbox is lightweight and loads fast. hollerwp.com/
This small plugin uses only 3 calls (HTTP requests). 2.8k, 3.6k, and 3.8k loaded in parallel. That’s about 10k. Estimated load time: less than 40 milliseconds. But not on every page – only where it’s used (selective activation). Holler Box is a nice, lightweight plugin built correctly for mobile speed.
Apopular WordPress form plugin is installed on over 1 million WordPress websites. The favored culprit is Contact Form 7. It adds 37k page weight to all pages on your website. Even when the plugin is only used on one page – such as your contact page – the plugin “globally” slows down all pages. This “global” activation is even more problematic for heavier plugins like Google Maps or social media controls. We call global plugin activation “site drag.”
Other form plugins are lighter and faster. But substitution isn’t the solution or our main concern. What if we absolutely needed to use Contact Form 7 plugin because there is a special addon plugin that gives us more extended utility (And, there are addons!) How can you prevent global loading?
We fix it with a plugin that restricts a “heavy” plugin to just the pages where it’s needed.
both let you deactivate or activate plugins on a page-by-page basis.
Update: We’ve located two others we haven’t tested yet – but they have potential. We’re surprised these have more downloads than Plugin Logic. Both are a heavier download. Once again, we see how product naming affects findability in the plugin directory.
★★★★★ WP Asset CleanUp (Page Speed Optimizer)
Active installs: 3,000+, Zip archive 57k
With these plugins, you can selectively disable plugins by any post type or WordPress-managed URL. But if you’ve read our recommendations about plugins and themes, you know we usually choose the lightest plugin when possible. Smaller file size usually equates with efficiency, which means it will probably load and work faster.
You don’t need to buy the $29 Gonzales plugin. Use one of these four alternatives instead.
Of the four plugins, Plugin Logic (only 100+ active installs) is the simpler and easier to use. It hasn’t been downloaded much yet compared to Plugin Organizer (10,000+ installs). Using the Plugin Organizer is more complicated because it let’s you change the plugin load order. Changing the load order can help prevent plugin conflicts, which is a nice bonus feature if you need it – but we don’t, so we’ll stick with Plugin Logic.
Video Tutorials for Plugin Organizer (The fact people have created video tutorials indicates the plugin setup is complicated.):
While our main focus is page-speed improvements, here’s another example of how plugin deselection can help:
We’re using the WP Image Borders plugin (266k compressed download) on a client’s website. It makes it easy to add image borders to pictures on pages or posts – but activation is global. The plugin adds borders to images on all pages.
But we don’t want borders around every image – as in the case of these circular buttons show here – the border ruins the look. So we deselect the border plugin for just that page. Problem solved.
Lazy loading is a technique for deferred loading of page content. It’s loaded when it’s needed rather than all at once – typically by scrolling through the page.
With lazy loading, pages are created with placeholder content which is replaced with actual content when the user needs it. Lazy loading is a technique that increases user time spent on page because new content loads automatically.
Lazy Loading is good because it delays loading of images below the fold. It’s a good trick.
But it can give us lousy UX as slow images on mobile devices leave blank spaces. Images eventually appear when scrolling. (We use lazy loading wherever and whenever possible anyway).
Our Favorite Lazy Load Plugins for still images like JPEGs
★★★★★ BJ Lazy Load
Active installs: 60,000+
Zip download size: 58k
updated: 6 months ago All Time Installs: 480,551 Retention: 12%
★★★★★ Lazy Load by WP Rocket
Active installs: 10,000+
Zip download size: 92k
updated: 1 month ago All Time Installs: 92,829 Retention: 11%
BJ Lazy Load also lazy loads YouTube video in the same way as Lazy Load XT. They both work with Elementor page builder. Read more below.
Lazy Loading YouTube or Vimeo videos
We have also experimented with Lazy Load for Video plugin. We like the plugin. But have found it can conflict with other plugin’s shortcodes on a page or post. Sadly, it doesn’t work with Elementor page builder.
Using the Lazy Load for Videos plugin can save 500 to 700 milliseconds in page load time. Studying plugin blog reviews about the Lazy Load for Video plugin, we learned the following about the settings:
There is an option to load CSS/JS only when needed. It should improve load time. It is not declared but is apparently a minification technique since the blog author warns that it could break the site. Just like any other minification plugin can. If so, we just deselect the option.
Responsive Mode: It is recommended.
Play Button: The author gives 5 different options. We prefer using the one with the most “YouTube-looking” interface. But it’s not the fastest. “CSS only” setting means code is loaded (faster) because there is no image to load. We don’t know if the speed gain would be significant.
Thumbnail Size: It can be set to “Standard” or “Cover.” We couldn’t tell any difference and used “cover.”
“Update Posts” button at the bottom. The blog review said, “If you are having trouble seeing your video change then you probably need to click this button. Especially right after configuring the plugin for the first time.”
If should be labeled, “always push this” instead of “if nothing is wrong” push this. We suspect it’s some kind of purge of cataloged pages or posts (like a cache or database).
After installing, we did have trouble with plugin activation on some videos. We clicked the button and it fixed the problem. We knew nothing about this button’s purpose. It isn’t mentioned in the plugin read.me documentation!
★★★★★ Lazy Load for Videos
Last Updated: 2 months ago
Zip file size: 246k
Active Installs: 7,000+
All Time Installs: 80,403
One thing we’ve found is an option to “Hide-related Videos” with a checkbox. The feature was added in a recent update. This sounds like a good thing if you don’t want to send viewers off to watch competitors YouTube videos. This function is available in Elementor’s video provisions. So even though BJ Lazy Load and Lazy Load XT don’t have this feature, if you’re using Elementor you can still achieve the same results.
The Lazy Load for Videos plugin read.me file claims videos on posts and pages are both activated.
Of interest:Jetpack by WordPress.com offers an extension called Shortcode Embeds. It makes Lazy Load for Videos always break. The cure is to simply disable the extension. Or like us, don’t use Jetpack! This is a known issue published in the read.me file.
We’ve also found this good lazy load plugin:
★★★★★ Lazy Load XT
Active installs: 3,000+ Last updated: 2 year ago
Zip file size: 29k
All Time Installs: 20,413
The plugin author claims this is the fastest and lightest lazy load plugin in the WordPress Plugin Directory. You can lazy load images, YouTube and Vimeo videos, and iframes. We’ve been testing it for several months and find it a good alternative when the other Lazy Load for Videos plugin conflicts with other plugins. We’re find this a common problem and it explains the low retention rate. Lazy Load XT appears a little slower in the view screen when loading images and video. It uses a fade in method. This plugin does work with Elementor page builder.
Here’s a comparison on a bare-bone GeneratePress theme with Gutenberg page-builder plugin – and a YouTube video embedded.
NOTE: If you use a page builder like Elementor, Lazy Load for Videos will load but doesn’t work to reduce load time. But LazyLoad XT, works fine. Go figure. Both work with Gutenberg.
No lazy load base line.
Lazy Load for Video Plugin
LazyLoad XT Plugin
BJ Lazy Load Plugin
Even though LazyLoad XT and BJ Lazy Load are faster loads, their page weight and bandwidth consumption for mobile is 7X higher.
Lazy Load for Videos plugin is our prefer plugin between these two. Both work and if one has a conflict – try the other one. We actually use both these plugins with selective activation because some of our posts have shortcode conflicts. We prefer the UX behavior of Lazy Load for Videos.
If you load both plugins simultaneously, Lazy Load for Videos will take precedence since it loads first. Page weight is increased by these plugins. Both plugins load globally. Loading an embedded YouTube video without lazy loading, doesn’t enqueue jQuery. But this small gain is swamped by the huge video load time.
ABOUT INFINITE SCROLL
As the name suggests, Infinite Scroll continuously loads content as the user scrolls down the page. The page’s footer – normally inaccessible in an infinitely loading web page – is displayed as an overlay beneath the scrolling content. WordPress claims that users read more posts when Infinite Scroll is enabled, as opposed to the traditional page-based approach. Infinite scroll plugins are hard to get to work with some themes. We’ve never had success with them on stripped-down speed themes. But we’ll keep trying. Here’s a list:
One of the faster free themes we’ve experimented with and reviewed is Frank Theme. It uses the “Don’t use jQuery” speed strategy. The same goes for the Sobe theme. And also, more recently, GeneratePress v2.0.
jQuery is usually one of the biggest chunks of WordPress code. It deserves special attention and treatment.
Optional WordPress plugins may use jQuery for animation like sliders or other interactive elements. So the theme may not use jQuery but a plugin might. You can know for certain by testing with Pingdom.com or WebPagetest.org.
Almost every browser on the planet already has Google’s jQuery CDN address loaded in cache.
You can change the WordPress code to substitute Google’s CDN hosted jQuery. But there’s an easier way. Just use WP jQuery Plus. It’s a WordPress plugin that loads jQuery from Google’s free Content Distribution Network (CDN). Users geographically far from you can download jQuery faster. The Google version of jQuery is also Gzip compressed and minified for fastest page loading. Yet, even though Google’s CDN servers are fast, it’s still not the biggest motivating gain.
Note: An alternative Use-Google-Libraries plugin exists but WP jQuery Plus is better because it has a failsafe or fallback. If Google jQuery doesn’t respond, the plugin just loads the slower, local WordPress version.
Potential performance benefits:
Using the Google Library CDN eliminates some HTTP requests from your site. This allows more of your local content to downloaded in parallel. It doesn’t make a gigantic difference for users with a modern six-concurrent connection browser. But for those still running older browsers, the difference is noticeable.
The greatest benefit of using Google’s CDN is that your users may not need to download jQuery at all. The chance is high that a user already has these files cached for up to one year.
No matter how well optimized your site is, if you’re using a local WordPress jQuery then it must be downloaded at least once. If forced this way, the user’s browser ignores dozens of identical copies of cached jQuery.
CDN-hosted jQuery references refer to the exact same file. The browser trusts those files are identical and won’t waste time re-requesting the cached file. Thus, the browser uses only a single copy that’s cached on-disk, regardless of which site the CDN references appear on.
Google’s CDN serves the jQuery file with headers that cache the file for up to one year. This creates a potent effect of “cross-site caching.”
The most trafficked sites on the Internet already use the Google CDN to serve jQuery. Many users will never have to make a single HTTP request for jQuery. It only needs downloading once before.
Note: If your theme and a plugin both use jQuery, your pages may end up with jQuery loaded twice causing even slower pages. The only way to know for certain is to check using Pingdom.com or WebPagetest.org.
Some claim the WP jQuery Plus plugin isn’t a “real” speed fix because it’s small and inconsequential. jQuery by itself is 91KB when it’s minified and further optimized to 33k with Gzip compression. For many, this 33k footprint left by jQuery is insignificant when the average homepage is a heavy 2M to 3M page weight. But if page weight is efficient (around 100k, for example) jQuery weight becomes one-third of the page weight. That’s significant overhead. Plus, do you know how to minify and Gzip your site? If not, this is a easy solution to reduce a 97k load by over 70 percent.
Increased parallelism is sometimes argued as an invalid benefit of Google CDN since there’s a WordPress-coding workaround: Just load jQuery in the footer rather than the header. This way pages load scripts faster. For WordPress, it’s done by editing the functions.php header code. But there’s no plugin for this code change. It requires some bravery and skill. We just don’t recommend it – even if it makes the plugin unnecessary.
The genius for this speed strategy is the pervasive ubiquity of the Google CDN address in browser caches. We recommend you try out the WP jQuery Plus plugin and test if it speeds up your page load times.
Elementor is one of the more popular live page builder plugins for WordPress. It has a free and paid version. Some claim it will change WordPress design. We bet alternative editors change the landscape more.
The Elementor plugin free version is a 1.8M download zip file. It’s 5.8M decompressed. 1.2M of that is Font Awesome. Why did they include that?
One of the bad things about many page builders is they use short codes. Once you stop using the page builder plugin – for any reason – it messes everything up. Elementor (and Beaver Builder) don’t do that. Yes, some features of Elementor use short codes. But only a few, and those are optional features … not necessary.
★★★☠☠ Elementor Page Builder
Last updated: 2 week ago Active installs: 400,000+ Zip archive: 1.9M Retention: 10%
Why only the 3 star rating with two skulls? Elementor has a low retention rate. Retention’s calculation is active installs divided by downloads. Test-then-abandonment is not a good sign. Only 10 percent of people who try it keep it activated. Why? We don’t know. Ask Elementor. What’s up with that?
It’s not uncommon for a page builder to add 1M of CSS and JS code to every page on your website (site drag). With the average Internet desktop page weight being 2.3M to 3M, you can see a page builder would use up almost half of that. Most heavier mobile pages we test are around 500k to 750k. Our home page is 462k. The page you are reading now is 200k. You can see that an average page builder would be 5 times that weight – without any content!
Elementor has the capability of working well for responsiveness. But only if the site owner doesn’t mess it up. It also can be fast. The biggest potential hidden gotcha is Font Awesome activation. Font Awesome is an icon font and adds 500+ milliseconds globally (site drag). In this instance, 2 HTTP calls of about 250 milliseconds each. That’s a more horrific speed crime of laziness and apathy.
Install a fresh Elementor plugin in a testing space and you’ll find Font Awesome isn’t loaded. Use one solitary icon on one page – and the whole site gets it. If the theme has Font Awesome activated already, it will get loaded twice. That doubles the site drag to 1 second. There is a free plugin to ensure this doesn’t happen (a fix). https://wordpress.org/plugins/better-font-awesome/ (You select an option to avoid Font Awesome duplication). But we tried it and it doesn’t work. It fails with Elementor.
Here’s what we’ve learned so far: If you activate Font Awesome (called enqueuing) and then say, “Whoops! That just added a big chunk of page weight.” So you remove the icon from the page. It does not dequeue the Font Awesome icon code. It’s lurking in the background – hidden page weight. The only way to get rid of it is to go into the code (or other trickery like https://wordpress.org/plugins/asset-queue-manager/ plugin) or to uninstall Elementor plugin. Then it will go away. Also, if you reinstall the recently uninstalled Elementor plugin, the invisible weight is back again. Global site drag – every page and post. So once it’s enqueued, it’s stuck on and saved in a database somewhere. Half second delay potential at least. When you have a 1-second performance budget, that’s a killer.
More about Font Awesome and why it’s bad for mobile speed (less for desktop) – extreme speed for mobile is our goal. Below:
Links to PagePipe’s articles about the deleterious use of Font Awesome:
Page weight matters most on mobile. Weight consumes connection resources. Mobile’s a different beast than desktop connections. Desktop is all-you-can-eat connections. So, in most cases, a 20k weight difference makes little impact in load time. Except on a remote smartphone. Then it does. And it costs extra money for each page. Why does 20k even matter for extreme mobile performance optimization? Isn’t that a puny file size?
Elementor delays page load time very little on an average desktop site. Viewer expectation is a 2-second load time.
An average desktop page speed (8 seconds) is unacceptable for mobile – or anyone for that matter. Average page weight (2.3M to 3M) is especially unacceptable for mobile users. Why? Because mobile viewers expect pages to load just as fast as a desktop. Less than 2 seconds! That necessitates building a 1-second page for mobile to achieve a 2-second load time.
We’re talking about building a 1-second page speed on shared hosting that typically has a 500-millisecond Time-to-First-Byte (TTFB). That is the server overhead or server delay before the page starts to render on screen. You can’t remove or change this. You can only switch to a better (more costly) host. If our performance budget is 1 second, we now only have 500 milliseconds left to load all page assets. About half of that is usually images. The other half WordPress core, theme, plugins, and written content. Again, we say typical. There are many tricks like using no images. Or stripping webfonts. Etc.
So is adding 20k to every page bad for mobile speed? Under these conditions? Of course.
Posts created with Elementor may have 400k of page weight overhead from scripts.
How much difference Elementor makes to speed and page weight is one of those, “It depends” answers.
In general, from tests, it doesn’t add any more than 40 to 75 milliseconds to global page load time.
Now with that said, Elementor only activates on pages requiring their customization. This is elegance in the name of speed. For example, we doubt blog pages require any customization.
If Elementor isn’t used on a page, the plugin isn’t activated. And jQuery isn’t enqueued either. This is miraculous good news. It means use Elementor only where necessary, not on every page. Plugins like Contact Form 7 activate jQuery everywhere. That’s the ugly norm. Elementor is smart.
Conclusion: When Font Awesome is loaded by a WordPress theme and again by Elementor, you get a double load. You can’t shut it off with the Better Font Awesome Plugin (like we hoped). This may not affect desktop speed much – only page weight. Weight is bad for mobile because bandwidth is more costly. It would be about 150K extra weight worst case. That is bad when your home page is only 100k. Adding another 150k isn’t acceptable by our standards.
We didn’t test with text or image content other than a single icon. (Note we later did some testing with video lazy loading on Elementor.) So our test is weak and half-baked. It only reveals the worst stuff we hunt. If you never select any icons, Font Awesome isn’t enqueued. You’re safe. We’re not testing Elementor more thoroughly at this time. We don’t recommend page builders in general – even good ones. Why? Because site owners easily abuse them and make heavy pages. They can’t overcome the temptation to embellish. We feel page builders encourage negative UX behavior. It’s expressive design overkill. It’s like handing an open bottle of poison to an infant. They can’t resist – the site owner drinks it.
It looks like Elementor adds 4 or more HTTP requests. Minor. The downside to using Elementor is small for desktop sites – other than the learning curve.
We see page builders as a stopgap. Only because the best version of WordPress will be built in the future.
WordPress keeps incorporating features that make whole categories of plugins obsolete in a single day. This trend will continue. Automattic watches what’s emerging in the plugin directory. They’re not stupid. We don’t agree with this competitive business strategy. But the big fish will feign innovation by continuing to eat the little fish – either by acquisition or reverse-engineering.
The only detriment using Elementor is 40-millisecond site drag added to every page of your site. And enqueuing jQuery can negate gains on fast themes built specifically for mobile use. That is low by comparison to say Yoast SEO 70 millisecond bloat – and Contact Form 7 adds up to 50 milliseconds. Those are popular plugins. Popular usually means heavy and slow. A “nice” plugin loads in 1 millisecond. Is Elementor becoming a popular plugin? Yes. For us that’s a bad sign. Yes, a plugin can be popular and still have a bad retention rate. This is typical of popular caching plugins, too. Test and toss.
For extreme mobile performance optimization, we remove everything possible to reduce site drag.
The catch-22 with Elementor is using Font Awesome icon anywhere on the site. One single icon! It adds 75k globally to the site. And if your theme is loading Font Awesome, also, you’ll get a double load making site drag 150k. Does that slow down your site? It depends.
For us, adding 150k is unthinkable.
Now for some good news:
The Font Awesome bugaboo is a hidden trap. But we’ve been working on a client speed site using free Astra theme (very fast) and free Elementor page-builder plugin. We’ve learned some good things. Elementor plugin uses selective activation. In other words, if a page isn’t built with Elementor, the plugin is not loaded. This is not typical, usually plugins will load globally on every page and post whether they’re needed or not. This we call “site drag.”
So the goal is only use Elementor on those pages where it’s absolutely needed for customization. This will reduce the number of HTTP requests (calls) significantly. For example, usually blog pages don’t require customization but a home page might use a lot of customization.
Elementor plays nice because of selective activation.
Developers, designers, end users, and even the founder of WordPress himself, rave about the importance of Jetpack, and want everyone to think that using Jetpack is necessary not only to get the most out of WordPress, but necessary if WordPress is to continue its dominance in the field of website design.
According to these people, Jetpack is the fix-all, the be-all, and the essential plugin that brings in important features missing in the naked WordPress installation. In other words, if we don’t use Jetpack we’re putting the entire WordPress universe in jeopardy.
We disagree. We think they’re wrong. We think Jetpack is bloated, and slows things down. We think you will get more speed and more value by taking a “naked” theme, and adding the “just right” individual plugins as needed – without Jetpack. We call those open-source discreet plugins. They are purpose-built for usually one function and have no or few settings. Jetpack is a multifunction plugin. Multifunction plugins are usually bloated with code overkill.
We’ve done some research and some testing, and here’s what we’ve found out:
Size of WordPress decompressed: 28.MB
Size of Jetpack decompressed: 14.8MB Jetpack file size is 50 percent the size of WordPress.
Jetpack has a retention rate of 6.5 percent. That’s terrible. For comparison, good is around 30 percent retention and bad is 10 percent.
People like to say that WordPress is bloated, and maybe it is. But look at this comparison: Jetpack, which is just a plugin, an add-on to WordPress, has a file size 50 percent the size of WordPress itself. Talk about bloat!
Does this bloat make a difference? You bet it does. For more information, read our discussions about weight here.
Speed test with Jetpack activated but no modules activated
We wanted to test page speed on a simple WordPress site two different ways: Naked (no plugins) vs. Jetpack installed and activated with no modules activated. Here’s what we found:
What a difference. Initial page load with JetPack installed was totally non-jet-like – a full 3 seconds – while the naked theme loaded up in under 1 second. That’s a huge difference.
Do you think your site visitors would prefer a page that loads in less than 1 second, or would they rather sit there drumming their fingers on their desk while waiting a full 3 seconds for the page to load?
More Speed Results
We further benchmarked Jetpack page speed on a simple, Gzip-enabled, WordPress site: Setup 1: Five Jetpack modules activated. Setup 2: Three “equivalent” third-party plugins activated plus favicon.ico image file FTP upload.
About Extra Sidebar Widgets module – I searched across the web and did not find a WordPress plugin that provided a similar group of widgets. To mimic the functionality of this module, you’ll need to install anywhere between 3 – 4 separate plugins with widgets. –Jeff Chandler, contributing writer for WPTavern blog 2013.
As Jeff Chandler said, you can’t mimic the Extra Sidebar Widgets module even with many plugins – yet. With it, we could place our carousel in the sidebar. That was the only thing that impressed us about Jetpack. On the benchmark, we placed the carousel in the body. The image weights were the same for both tests.
The speed difference on the first load isn’t that impressive: 183 milliseconds. But on the second load or cached load, the difference was significant: 427 milliseconds – almost half the page speed.
Calling cloud-based web functions slow down page load time. In theory, the more HTTP requests the slower your site runs. Do you want a feature from Jetpack but don’t want to connect to WordPress.com’s cloud? Just use “Unplug Jetpack” plugin combined with the regular Jetpack plugin. It allows only the modules that don’t make offsite calls accessible.
Asterisked below * are the 17 features the tiny “Unplug Jetpack” plugin leaves activated. Ghosted, control-panel modules show the auto-disabled cloud features.
So what wonderful features do you get with JetPack?
Jetpack lists 36 features. Are they useful? Perhaps for bloggers but not website creators. How many of Jetpack’s modules will you actually use? Read below for our further assessment of each feature:
Custom CSS* Customize the look of your site, without modifying your theme. — Essentially create a child theme. One-button child theme plugin is a weightless alternative – among others.
Single Sign On Let users log in through WordPress.com with one click. — Big deal.
WordPress.com Stats Simple, concise site stats with no additional load on your server. — An alternative to Google Analytics. But many small sites could care less about stats.
Site Icon* Add a site icon to your site. — Favicon. There are various ways to solve loading a favicon. Many themes allow upload via the WordPress administration panel. The way the “Site Icon” feature does it guarantees a heavier favicon – around 2k. Most of our favicons weigh around 300B or less. This isn’t a big issue. All modern browsers know how to recognize and handle lazy loading of a favicon simply by placing the image in your website root folder. You don’t need any page coding any more. So this feature is odd. For novices, it may be a godsend.
Site Verification* Verify your site or domain with Google Webmaster Tools, Pinterest, and others. — Say what? Who cares!?
Related Posts Display links to your related content under posts and pages. — There are plugins that do this. We don’t know their impact on speed. We would never use one because it’s a blogging feature.
Markdown* Write posts or pages in plain-text Markdown syntax. — Oh, boy. You can code. Yuck.
Monitor — Uh. We suppose some would like this but we don’t care.
Jetpack Single Sign On Allow your users to log in using their WordPress.com accounts. — Again, we wouldn’t use this.
VideoPressPaid Upload and embed videos right on your site. (Subscription required.) — Say what? Paid feature!?
Widget Visibility* Specify which widgets appear on which pages of your site. — There are free plugins for this such as Dynamic Widgets plugin.
Omnisearch* Search your entire database from a single field in your Dashboard. — We’d never use it. Not on a small website.
Likes Give visitors an easy way to show their appreciation for your content. — Do we really need our ego stroked that bad?
Tiled Galleries* Display your image galleries in a variety of sleek, graphic arrangements. — Plugins exist for tiled or masonry style image presentation. But, we found this feature had potential not advertised. For more comparisons of discrete free plugins versus using comparable Jetpack features, Go to this page >
Publicize Share new posts on social media networks automatically. — We wouldn’t use this because we don’t believe social links help B2B websites. Social links slow a site way down.
Post by Email Publish posts by email, using any device and email client. — Not for us.
Photon Accelerate your site by loading images from the WordPress.com CDN. — They offer a CDN for images. CloudFlare offers free services for every file with security and a WordPress CloudFlare plugin helper for free, too.
Infinite Scroll* Add support for infinite scroll to your theme. — Other free plugins can do this.
Notifications Receive notification of site activity via the admin toolbar and your Mobile devices. — Like we’re going to sit and watch for this? There are plugins that do this.
JSON API Allow applications to securely access your content through the cloud. — Whoopee.
Mobile Theme* Optimize your site with a mobile-friendly theme for smartphones. — Responsive themes are free. This feature implies the module converts your theme to responsive design. What they are really doing is offering apps to make themes work on specific devices and operating systems. It’s unclear if these are paid or not. To us, it appears to be a band-aid.
Carousel* Transform standard image galleries into full-screen slideshows. — Many plugins available for this stuff. But even better –don’t use a slider or carousel.
Jetpack Comments Let readers comment with WordPress.com, Twitter, Facebook, or Google+ accounts. — No thanks.
Contact Form* Insert a contact form anywhere on your site. –There are perfectly good plugins for this that are lightweight.
Extra Sidebar Widgets* Add images, Twitter streams, your site’s RSS links, and more to your sidebar. — Again, these can be solved with discreet plugins.
Enhanced Distribution Share your public posts and comments to search engines and other services.< — No thanks. We’re not bloggers.
Subscriptions Allow users to subscribe to your posts and comments and receive notifications via email. — Already have plugins with this feature.
VaultPressPaid Protect your site with automatic backups and security scans. (Subscription required.) — PAID!? Free alternative plugins exist that don’t cause any page load.
WordPress.com Stats Monitor your stats with clear, concise reports and no additional load on your server. — Reiteration of the Google Analytics alternative.
Shortcode Embeds* Embed content from YouTube, Vimeo, SlideShare, and more, no coding necessary. — Again if you want these features plugins exist already.
Spelling and Grammar Check your spelling, style, and grammar with the After the Deadline proofreading service. — This can be added as an addon or extension to your favorite browser and not load down WordPress.
Sharing* Allow visitors to share your content on Facebook, Twitter, and more with a click. — No social for us.
WP.me Shortlinks Enable WP.me-powered shortlinks for all posts and pages. — Nice. But again plugins already exist for this.
Gravatar Hovercards* Enable pop-up business cards over commenter’s’ Gravatars. — No thank you. No comments allowed on our sites.
Beautiful Math* Use LaTeX markup language in posts and pages for complex equations and other geekery. — Nice if you have a scientific client. But other solutions probably exist.
Asterisked above * are the 17 features the tiny “Unplug Jetpack” plugin leaves activated.
There are times when date stamping your website or it’s content can be good – or bad. Say, you wrote an article five years ago and it’s still relevant today. You may prefer to not reveal the original publication date. A date would skew audience perception that the material is irrelevant or stale. Even when it isn’t.
Evergreen content is relevant long past its publication and stays fresh for readers. It has no expiration date or shelf-life. It retains long-term value. It can be reused and adapted. Informational articles and How-To’s are usually considered Evergreen.
A lightweight plugin alternative is installing WP Old Post Date Remover. This free WordPress plugin removes or hides the date of a post or page. We prefer our articles appear timeless – as in classic. We don’t want to look stale or erratic in our posting schedule – even when we are! If visitor’s see a decrepit post or copyright date, they can think the site is abandoned. Expired dates diminish site credibility.
Just make the page feel “fresher.”
One more plugin trick to consider, is “Date and Time Widget.” This is a simple lightweight plugin (9k compressed download) that can put a date (and/or time) in your sidebar or footer. The date is derived from the internal computer clock of the user’s browser computer. This old trick makes the page look “fresher” as if it was just updated and hasn’t expired.
The Date and Time Widget plugin has the choice of formats for both date and time. And you can customize the font, font size, text color and background color.
Why does Google repeatedly mess up web speed? We don’t know. The harder they try the worse it gets. Here’s another unrecognized offense against mobile speed.
What’s the cost of placing Google’s “NoCaptcha reCaptcha” on your precious website? Most site owners don’t realize the heavy speed impact of adding this Google-sponsored freebie. It’s speed-destroying bad news. NoCaptcha reCaptcha negates your hard work tweaking away milliseconds.
So what is NoCaptcha reCaptcha – and how did it get such a goofy name? This is what it looks like today (see image below). We’re sure you’ve seen it before. It appears on many sites – big and small. All you need to use it is signing up for a Google API.
“A significant number of your users can now attest they are human without having to solve a CAPTCHA. Instead with just a single click they’ll confirm they are not a robot. We’re calling it the No CAPTCHA reCAPTCHA experience.” – Google
API means “application programming interface.” It’s a set of protocols and tools for building application software. APIs are always several calls or requests to remote servers. This takes time and causes delays. The scripts used aren’t cached as part of your website. There’s no escaping the speed burden APIs cause. Does Google gather site data from their APIs and fonts? Of course. Why do you think it’s free?
Does it always work flawlessly? Nope. We attest to that from personal experience. If you fail the human test, it presents pictures to recognize. These include things such as “click on all the road signs” or “click on all the storefronts.” It can present never-ending pictures – even if you’re careful. Usability nightmare.
Before reCaptcha existed, “captcha” was used on comments, forms, and logins. Preventing and blocking spammers and hackers was the goal. A captcha was real simple. It had no API. It usually asked you to answer a question, describe a picture, or solve a math challenge.
Here’s a typical math-challenge example:
A math challenge was something more like: “What is 1 + 1?” Or a text challenge might ask, “What color is the sky?” But some people answer azure or cyan – instead of blue. Does simple captcha still work? Yes. Do they add to page weight? No. Do they thwart SPAMbots? Yes. So why use a slow, heavier, sophisticated noCaptcha reCaptcha? Is Google spying on your site? We don’t know. It makes no sense whatsoever. So you’ll feel faddish and hip?
Captcha and reCaptcha are used to protect comment forms, login forms, register forms, rest password forms, and block spam comments.
There are over 50 captcha and recaptcha plugins in the free WordPress plugin directory. We downloaded them all to check them over. We aren’t making any recommendations. Why? Because captcha or reCaptcha – and especially noCaptcha reCaptcha – aren’t necessary in the least. Other plugins can take care of security and SPAM blocking without UX hassle for you or users.
So how bad is the noCaptcha reCaptcha speed damage? From our limited tests, here’s the results:
NoCaptcha reCaptcha adds 350 to 550 milliseconds globally to your website.
When we say, globally we mean site drag. That is where a plugin or script slows down every single page and post of your website. Not only the page where a shortcode or appearance is located. Everywhere.
How many HTTP requests or calls are added? Between 11 and 20. It depends on variables. It’s not always the same. Again, don’t ask us why. It’s a Google thing.
The real kicker is sometimes server connections don’t happen smoothly. Then load times are unpredictable. Users complain of delays of up to 30 seconds. That’s correct. Not 30 milliseconds. Seconds!
We just don’t think noCaptcha reCaptcha is worth it – especially for mobile devices.
We snoop on WPMU DEV often. Some may call this snooping industrial espionage. Maybe? It makes us feel 007ish. WPMU DEV is owned by Incsub, LLC. Who? Never heard of them. They’re one of our rival competitors. We’re small. They’re big. You’ll recognize their product names. More on those in a moment. They produce: “Your WordPress Toolkit.”
Incsub, LLC left off the word expensive. “Your Expensive WordPress Toolkit.” We duplicate their cool stuff with free plugins from the WordPress directory. Sadly, it makes them look greedy. It makes us smile.
Incsub, LLC are good at marketing and selling WordPress people premium plugins and themes. For the uninitiated, premium means paid. There are free alternatives they neglect telling you about. They don’t want us telling you about these plugin secrets either. That’s right. Free plugins exist duplicating their “premium” wizardry.
Incsub, LLC (aka WPMU DEV) have the art of producing customer fear down to a science. For example, you can take their WP-Checkup for free, once in a 24-hour period. (Sorry. Clearing browser cookies won’t get you a second shot. We tried). The checkup will frighten you. It frightened us anyway. OK. Not much.
Get a WordPress Checkup
Quick, Free & Easy
Get a professional performance, security and SEO scan
The goals is scaring the bejeezus out of you by convincing you your site is riddled full of holes and faults. The alarms encourage you to purchase their expensive membership as a solid solution. In this case, they include:
Make your site fly, save bandwidth and watch Google love you in return. (Put your wallet away and look at cost-saving FLY.ME Speed Knockoff first.)
Stay safe! Defender will harden, protect and scan your site daily.
(Once again, you can save dollars with POLICE.ME alternatives to save speed and money).
Boost your rankings with in-depth tech and some awesome tweaks. (Check out SEARCH.ME Speed Knockoffs before you buy Smart Crawl).
Their test produces a technospeak assessment about speed, security, and SEO. All regurgitated scary Google edicts from Google PageSpeed Insights. Most will not make any difference. But thinking you’ve violated Google’s code of conduct causes great fear in some less-web-savvy site owners. They have visions of blacklists or serious snubbing by search engines. Calm yourself. The Emperor has no clothes.
There are 25 SEO parameters tested and reported. Please don’t believe any of this SEO drivel and myths. What produces good SEO is relevant content and interesting titles. That’s it. All other details listed don’t move the needle for SEO. Complete waste of time and money. Write for humans – not machines.
Security assessment has 12 parameters. PagePipe had some errors reported we knew were false. For example: it said our user name was “admin.” It’s not. We’re using our POLICE.ME free security plugins. Good reports on everything.
But the test did draw our attention to a minor bugaboo we overlooked. It said a file named XML-RPC.php interface was available. So what? It’s part of WordPress core. We were curious about this and wanted to learn more. Was it bad? Was Defender plugin the only way to block this “security hole”? And how serious was the risk?
Wediscovered there was a legitimate concern to disable this file. Hackers can use it to gain access to your site. Could we do the repair for free? The answer is: yes.
XML-RPC is used for remote posting/publishing and pingbacks. XML-RPC on WordPress is an API. If you disable the XML-RPC service, you lose the ability for applications to use this API to talk to WordPress. It’s used by phone Apps interfacing with WordPress sites. It also presents an opportunity for malicious site attacks by hackers.
The code authors attest the programming of XML-RPC is as secure as the rest of the core files of WordPress. But some feel safer by disabling this file. If you don’t need it and it won’t slow down the site, why not disable it?
Have WordPress sites been compromised because of XML-RPC? Yes.
Disabling WordPress XML-RPC is a precautionary measure against brute force attacks. There are at least 14 Disable XML-RPC plugins in the WordPress plugin directory. That tells you something about community anxiety level. That’s a fair number of plugins. Many are pretty old (3 years) and some appear heavy. Not all work. We rejected three before we found one that really did the job.
Deactivate XML-RPC Service is the newest, freshest, and lightest (358 bytes is all and no HTTP requests or APIs). You install it and it’s a done deal. No settings.
One more security plugin trick to consider is WPS Hide Login plugin. It’s a very lightweight plugin. It really only has one, active, 15k file. Ironically, almost all of the talk on their forum is about XML-RPC vulnerabilities. Which we’ve previously addressed above.
WPS Hide Login has 100,000 installs and 409,840 all time downloads. That is a 24 percent retention rate. That’s high. A lot of people like “Hide Login” and are keeping it. A better indicator of value than popularity.
If you use WPS Hide login you need to watch out if you do a migration. Probably best to disable the plugin before that occurs.
You could get locked out really easily if you forget your assigned URL. Proceed with caution.
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 two-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.
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.
Affliate links are a way to monetize a WordPress website. We don’t do monetization on PagePipe – but many websites do.
Affiliate marketers use link cloaking plugins to create and shorten external affiliate links. You insert these links into posts, pages, and comments. They are a type of hidden page redirection and mask affiliate partner links from site users. Is it a “Black Hat” trick? Maybe? Why? Because visitors are clueless where they’ll be heading. It’s a way to fool humans.
All plugins cause some load time delay. This occurs in HTML code with at least single-digit milliseconds. A heavy plugin may cause 50 to 70 milliseconds of delay.
The link appears benign as an internal site link – when really it’s a mildly-deceptive offsite link. Some affiliates have a advisory note telling people about affiliate fees or credits if you click a link. This “advertiser disclosure” is often in fine print at the bottom of a long scrolling page. It’s not hidden but it’s not always plain either. The link URL has a long query string embedded in it to earn credit for affiliate commissions. Link cloaking also shortens long URLs to simple “pretty or tiny” links. Such as ‘your-domain-name.com/go/link’.
Affiliate links don’t say, “Click here to download this great thing.” Instead they say something like, “Earn 50,000 bonus miles” or “Get 5% cash back.” They are promotional deals and sound like promises of free money – but you must buy something first.
Click tracking and affiliate link cloaking supposedly sell and convert better. Most cloaking plugins collect lifetime-click statistics. A central dashboard helps you manage all the affiliate links on the website. You can create, edit, delete, and manage links by 301 redirects.
You can send clickers to destinations without them even knowing where they are going to land. Is this fair? We think not. Even so, your clients may insist on this feature. Can you create and manage these links with a WordPress plugin? Yes. You can. So which free plugin solution is the fastest for mobile connections?
SEVEN BEST CLOAKING PLUGIN CANDIDATES
RANKED BY MILLISECOND LOAD TIME
All seven are easy to install and have similar functions and controls.
We deemed Affiliate Links Lite the “best.” Here’s why:
Affiliate Links Lite plugin is the lightest and fastest.
Affiliate Links Lite has above-average retention rate (24 percent). Retention rate is not the same as popularity – which is active installs. Retention is the percentage of people who tested it (downloaded) and kept the plugin (active). That is a better measure of quality and value. The usual scale ranges from 5 percent (low) to 20 percent (high). There are exceptions of pure lunacy*.
Affiliate Links Lite includes the exact same control features as the other fast plugins. Features include: Title, Category, Date, Link URL, Link Target URL, Link Description, and Hits. And there is an additional control panel for “configuring link redirection.” Overall we’re impressed.
*The plugin retention joke we laugh about most is P3 Plugin Performance Profiler authored by our beloved alma mater Godaddy. Over 100,000+ installs – sounds pretty good right? And 1.2 million downloads. That’s a retention rate of around 10 percent. Not bad. Except for one thing, P3 slows down every single page of a website by 12.7 milliseconds – when left enabled. What was it those 100,000-plus websites were fleetingly testing? Oh, yeah, plugin speed performance! Big oops.
Affliate Links Lite plugin author boasts these benefits:
Boost your SEO by hiding affiliate links from search engines.
Protect your earnings by masking referral links.
Increase your revenue by analyzing your link traffic and stats.
Save your time by using affiliate links easily and with no hassle.
PagePipe Note: Claiming SEO benefits from any plugin is nonsense and untruth. But some of our favorite speed plugins are equally misguided. So we’ll let it slide. The other benefits are weak at best. But if your web-project committee insists link cloaking features are needed, this plugin is the painless way to appease them.
FAILED (Wouldn’t work with PHP 7.1 or wouldn’t load)
Affiliate Link Cloaking
WP Affiliate Linker
Clickmeter Link Shortener and Analytics
FAT (Fat plugins had double-digit millisecond load times. )
Link Cloaker for Affiliates
WP Auto Affiliate Links
OLD (Crusty. Not updated for many years.)
Simple Link Cloaker
Custom Affiliate Links Cloaker
NOTE: Some rejected plugins are especially bad for speed. The worst being: Link Cloaker Affiliates which causes heavy site drag. It loads down every page and post with an extra 339k of page weight. The other two worst offenders for ruining speed weren’t so bad. They added extra HTTP requests: WP Auto Affiliate Links – 2 calls, and Shoutcode Lite – 3 calls. But that still disqualifies them from the fast list.
Google Analytic code causes your site to fail two speed tests. And the test criteria are invented by the web-demigod Google. Yes. Contradictions in their very own self-acclaimed PageSpeed test:
How do you leverage browser cache when Google’s very own Analytics.js has it’s expiry time set to 2 hours?
Google Analytics usually adds three HTTP requests. And anywhere from 100 milliseconds to 500 milliseconds load time. It can be slower during peak hours. We’ve seen up to one second. But that’s uncommon. Speed varies in different parts of the globe. That means certain hours are better and some are worse for waiting.
Google Analytics is a freemium web analytics service offered by Google that tracks and reports website traffic. … Google Analytics is now the most widely used web analytics service on the Internet. – Wikipedia
There were times when we built 50k to 70k home pages for speed. Page weight today averages 2 to 3M. We coded lightweight sites by hand in HTML and CSS. Today most site owners use CMS like WordPress to build websites.
Back then, adding Google Analytics added about 31k to the page weight. This, of course, was a horrific detriment to good speed. Today, Google serves a Gzip-compressed version weighing 13k. Much better page weight.
In 2010, Google introduced a third-generation asynchronous tracking code. This helped speed immensely – and in time for the Internet mobile revolution. But, does that mean Google Analytics code has no impact on speed? Or is it significant? It depends.
The more modern alternative is using the Goggle API ID number and copying that into a plugin. This protects your Google Analytics code from being overwritten by updates. A safer approach.
But not all Google Analytics plugins are equal. Some cause server overhead that slows down your site indirectly. The page drag from these database-intensive plugins aren’t worth it.
If you need to look at Google Analytics statistics every single day or more than once per week, ask yourself: Why? What is so important about seeing the numbers and metrics so often? Are you obsessed? Spend time writing relevant content. Bring more qualified visitors to your site.
Header or Footer? Small decisions.
There’s a silly debate whether to place Google tracking code in the WordPress header or footer. Those obsessed with statistics say, “Put it in the header.” Those obsessed with speed say, “Place it in the footer.” Even Google’s different departments can’t agree where’s the best placement.
It’s reported pages load 100 milliseconds faster with the Google Analytics code in the footer.
Placing the code higher in the page theoretically decreases bounce rate. It’s claimed to reduce data inaccuracies as much as 5 percent – in some tests by Google Analytics-certified partners. Certified by who? Google partners! No conflict of interest there.
“If Google Analytics tracking code doesn’t load before a visitor leaves or clicks away from the page, the page data won’t show up in Google Analytics.”
Oh, dear. Statistical tragedy.
Pages load so snappy we don’t think users can determine content value that fast. And then navigate to the browser back button. Yes – that would technically be a bounce. But the idea of putting tracking at the top seems a moot point. By putting it at the bottom, you’re effectively lazy loading the tracking code. Lazy loading anything that delays page rendering is a good idea for speed. The slight chance of losing a minutia of visitor data is more than offset in the gain in display speed.
Isn’t the Google Analytics code cached in the browser?
If your Google Analytics code is slowing down your site by more than 1 second, something is wrong. You need to investigate how you’re managing things.On slow-loading pages, a browser status message may say “Waiting for google-analytics.com”. If this happens you’re running an ancient version of Google Analytics tracking code. Time to upgrade.
Which version of the code? OK. We’re being cynical. Maybe it is. Maybe it isn’t. It doesn’t make a difference if it’s cached by the browser. For some reason, Google Analytics interrogates the Google remote server anyway. What’s it looking for? That new version you don’t have cached? Or just reporting in for Google’s own nefarious snoopy purposes? We’ll never know. From what we’ve seen in tests: The ga.js communicates with Google servers even when ga.js is cached. At least once. Perhaps always.
Now, some *premium* hosts provide server caching. This can benefit Google Analytics code load time. But not always. The best improvement we’ve seen is a 50-millisecond load time. That’s about 6-times faster than normal shared hosting. Is it worth paying extra for that 50 milliseconds? Well, you will pay 10 times more for the hosting. So don’t signup for Google Analytics sake!
Some reports say the Google Analytics files are marked as “no-cache.” Others say they’re cached for 24 hours. The latest news is only 2 hours. We agree – it’s 2-hours from tests we’ve run. That is too short for any value to your return visitors. And online speed tests show that shortness is a failure. The majority of users are first time visitors. At the first visit, Google Analytics code loads at least once. It may not loaded after that (cached). But it’s part of the “first impression speed” for mobile users. It’s not uncommon for first-time visitors being 80 percent of traffic.
“… you can reduce your external HTTP requests to Google from 2 down to 1 and you now have full control over the caching of the file. This means you can utilize your own server’s cache headers.
You have also probably seen the leverage browser caching warning in Google PageSpeed Insights that comes from Google Analytics. This is kind of ironic seeing as this is Google’s own script. The issue is that they set a low 2 hour cache time on their asset … They most likely do this because if for some reason they were to modify something on their end, they want all users to get the changes as fast as possible. However there is a way to get around this, and that is by hosting Google Analytics script on your own server.”
AN ALTERNATIVE: HOST LOCALLY
Coding Jargon: Host the ga.js and __utm.gif file locally and execute the _setLocalServerMode() method.
Wow! That sounds complicated. But there’s a free plugin that does all this magic for you. Now, you can optimize Google Analytics. We’re using this plugin on PagePipe and other sites.
[perfectpullquote align=”right” cite=”” link=”” color=”blue” class=”” size=”14px”]Note: When you do the CAOS method, your pages will fail various, odd online tests – not speed tests. The Google Analytics code won’t appear where the test *expects*. Your site’s OK. It’s the test that’s broken. Everything will appear normal in the Google Analytics dashboard and controls.[/perfectpullquote]
This plugin inserts the Analytics tracking code into the header or footer (you choose). It saves the analytics.js file locally. It then keeps it updated daily using scheduled automation.
Whenever you test speed on Google Pagespeed Insights or Pingdom, they’ll tell you to leverage browser cache. That’s because Google set the cache expiry time to 2 hours, it always fails the test. This plugin will get you a higher score on PageSpeed and Pingdom and make your website load faster. (Scores are nice – but saving milliseconds of load time is what really counts). No more roundtrip to download the file from Google’s external server.
Will the CAOS plugin make your website go from a 10-second load to a 1-second load? In Disneyland! Get real. It’s a small speed boost – but it’s worth it.
The Complete Analytics Optimization Suite for WordPress gives you the best of both worlds. This way you can minimize DNS requests, leverage browser cache, track your visitors – and still follow Google’s recommendation to use the latest features and product updates. If you’re using a CDN, you’ll need to use CDN Enabler plugin to host your Analytics-script (local-ga.js) from your CDN.
UPDATE: Let’s take a closer look at a real-world site, PagePipe! Below is a waterfall from WebPagetest.org:
With the CAOS plugin activated – the tracking occupies the space of 1.3 seconds to 1.7 seconds. (The site’s favicon also lazy loads. This happens when placed in the root of your host server – but that’s another topic). A little math and we see that it’s a 500-millisecond delay for Google Analytics to respond. Without Google Analytics, the site would theoretically load in 1.2 seconds. Let’s turn off Google Analytics and the CAOS plugin for a moment. What’s the real difference in seconds?
The page now loads in under 1.1 seconds. We can ignore that lazy-loaded favicon. So Google Analytics adds a repeatable 500 milliseconds to every page. That’s site drag! We’ve seen delays of over a second – but it isn’t repeatable. It’s random. Simply waiting in line.
So now we ask, “What is Google Analytics affect when using the Super Simple Google Analytics plugin?” Here’s the answer:
A 1.8 second load time is the result. Instead of 500 millisecond addition with CAOS plugin, it’s now a 700 milliseconds addition. 200 milliseconds more!
CAOS plugin saves 200 milliseconds. For mobile speed, that’s great. And optional loading in the footer is reported to save an additional 100 milliseconds. That’s 300 millisecond gain of total improvement.
The fastest loading Google Analytics: No Google Analytics at all.
Ask yourself, “Why am I installing Google Analytics?”
Now, some sites need Google Analytics more than others. For example, an ecommerce site. But a typical blog site usually not. And a vanity site, definitely doesn’t. Many site owners install Google Analytics code because everyone else does it. And then they never even look once at the metrics. Ever. All they did was slow things down – without any benefit.
Using too much data to make decisions is worse than having no data. Seeing that 35 people visited on Wednesday last week, do you care about that detail? Whoopee. The data provided by Google Analytics is massive and takes time to learn how to use. We drown ourselves in data and just sink deeper into the quagmire.
Google Analytics statistical data gathering is never 100% accurate. The data extracted is still subject to human evaluation, spam, and error of judgment. It’s like reading tea leaves, fortune cookies, or tarot cards. You *interpret* what your mind wants you to see.
There is no science to SEO (or even UX) since no one can prove the outcome was a direct result of the method. It’s professional guesswork based on experience and a moving target. Page One in Dallas does not ensure Page One in Seattle.
Data can twist your perception.
Because everyone else uses Google Analytics, should you jump off the cliff, too? Would you install a plugin because:
It’s very easy to use.
Everyone else uses it, so it must be the best.
It’s free. Who can argue with free?
Are these the right reasons for choosing an analytics tool?
What would your mother say about peer pressure?
It’s actually very difficult to get real insight. 25 to 33 percent of your traffic is non-human (bots). With Google Analytics, spam-bots get recorded as a real live visitor. Most ad-blockers and tracking blockers also block Google Analytics. Those things affect your numbers.
Google Analytics can be a time waster.
If we can’t define what “the best” or even “good enough” means, how can we say Google Analytics is the best solution?
Google Analytics is good for a baseline in projects. It helps ecommerce know what products customers searched for. And what they viewed when they got there. Most people don’t know how to read the data. Less than 1 percent of website owners know how to use Google Analytics. Let alone how to glean helpful information from all that data.
Google Analytics data won’t help you write better thought provoking content. Instead, it may twist your thinking to chasing the herd.
Most (major) web hosts give you the ability to read the server logs. There you get the basic traffic info you’d get with Google Analytics. And the best part is that it requires no script to load: it works on the server, not the client side. Those will show key performance indicators (such as bounce rate, page views, time on site).
Tip: We use a popular-post plugin to build a database of what is trending on our site.
“Yes – looking at analytics data over time is helpful. But do you really need to know if you had 100 or 200 visitors today? … Does any of that data actually do anything for you in the moment? Years of experience have taught me that it doesn’t.”
Our rule of thumb: Google Analytics adds at least 100 milliseconds to the first page view of your site. That page is most critical for mobile users. That can be 10 percent of wasted load time. Whenever possible, delete Google Analytics. Use either a plugin counter or Cpanel or server web statistics as a substitute.
We’re not against using Google Analytics if you need it. Read the data collected. Use it to make your site better. If you do that then keep Google Analytics on your site. If you’re never going to look at the data, speed up your site by removing this unneeded code from loading.
It’s claimed Google monitored bounce rate (via GA) affects SEO. We don’t believe it. We really don’t need more data. We get numbers from a plugin and server stats. They are fine and with no speed delays.
★★★★★ WP Counter
Active installs: 2,000+
Zip archive: 5.2k
Retention: 24% Last updated: 1 year ago
WP Counter is a lightweight, simple site visitor counter. See unique site visitor status in different date ranges. (Today, Yesterday, Current Week, Current Month). We’ve been using this plugin for months to see if it correlated with Google Analytics. Frankly, nothing correlates to Google Analytics exactly – but it was close enough.
For tracking article popularity, we use WP Popular Posts plugin’s dashboard settings to view stats on all of our posts:
★★★★★ WordPress Popular Posts Active installs: 300,000+ Zip archive: 122k
Last updated: 3 weeks ago
Better tools for evaluation are pingdom.com and WebPagetest.org. Note: WebPagetest is an open-source project owned by Google.
Google’s Bogus Error Message for Mobile Anxiety
R ender-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
external files optimizer* 4.7k
Description: Automatically combine and compress css/js files generate with wp_head() and wp_footer()
head cleaner* 262k
headjs loader* 15k
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. We use this plugin on PagePipe.
We demonstrate a common but little understood speed problem usually labeled as Leverage Browser Caching. Various tests report this fault condition slowing down pages. But they don’t explain much about what it is and how to fix it. It’s pretty simple – and there’s a nice plugin solution.
There are various sites for testing page speed. Our favorite is WebPagetest.org. It’s a popular place so you usually have to wait in line – plus their test is pretty comprehensive adding more delay for results. Our go-to test for faster quick-and-dirty results is Pingdom.com – and after that GTmetrix.com
Here’s a screengrab of a Pingdom test for an optimized site:
The test says there are two “failures” (big red Fs). Those are #1 Minimize request size and #2 Leverage browser caching. That seems like pretty harsh criticism for a page that loads in only 658 milliseconds on a cheap, shared GoDaddy hosting. We soon discover the bad review isn’t really warranted. Let’s take a closer look by expanding the “accordion” performance insights:
We almost laugh out loud at the itemization of errors. First, there’s only one URL that doesn’t fit into a single packet causing the first error condition: Minimize request size. And that’s an HTTP request call to Google CDN for a webfont. Completely beyond our control and something Google should care about more than us. Let’s move on and just ignore that single call. But talk about harsh – an “F” (41).
The second category,Leverage browser caching, says there are 6 errors. Five are image files and the last file is another Google font. Again, we have to ignore the errant Google font.
Note: A simple font solution would be killing (removing) Google fonts and use the native browser fonts in the CSS stack. We could do this with Remove Google Font References plugin. But we feel the fonts add to the page “style.” The pages are pretty fast already and load time is more important than getting a good Pingdom score.
So how do we get rid of this Leverage browser caching problem? They give us a hint with the instructions:
The following cacheable resources have a short freshness lifetime. Specify an expiration at least one week in the future.
What does that mean? They are talking about a web speed trick called far-futures expiration. It is a best-practice for speeding up your website by using Expires or a Cache-Control Header. This is server-side coding that is added in the .htaccess file that resides on your server. There are many tutorials on how to do this manually. But if you are inexperienced at editing these kinds of files via Cpanel or FTP, we have a simpler, automated plugin solution. Read on:
★★★★★ Far Future Expiry Header
Active installs: 10,000+
Zip archive: 7k
updated: 7 months ago
This plugin will add a “far future expiration” date for various file types (like image files) 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. (More about Gzip >)
A first-time visitor to your page causes many HTTP requests, but by using the Expires header those components become cacheable. This avoids unnecessary HTTP requests on subsequent, repeat page views. The web server uses the Expires header in the HTTP response to tell your visitor’s browser how long a component can be cached (stored).
The Expires response header gives a date when a page component becomes stale.
Using a far future Expires header affects page views only after a user has already visited your site. It has no effect for first-time visitors and the browser’s cache is empty. The impact of this performance improvement depends on how often users return. About half of your users or more could be return visitors.
Your server’s .htaccess file can be appended by using some simple plugin settings:
The plugin doesn’t add page weight to your site. We call this a “weightless” plugin.
Will you see a speed improvement? It depends. If you didn’t have Gzip already activated on your server, you will see a big improvement. You’ll have a better Pingdom score. Returning visitors will have a better user experience because images and other assets are already on the browser cache waiting. You’ve paid homage to a theoretical speed improvement. The effort to make it happen is minimal. So why not just do it? We do – always.
Leverage Browser Caching score is now an “A“. The only file that can’t be cached is the webfont from – ahem – thanks, Google.
Google’s ambitious AMP project (October 2015) speeds up the entire mobile web. Right!? It’s a WordPress speed miracle – wait! No it’s not. It’s another Google sham. It promises better SEO results in exchange for people surrendering control and information. Google’s great boon for mobile publishing fizzled.
Three examples of Google AMP hijacking URLs and valuable screen space:
Google, to speed up AMP, stores publisher’s pages and serves from Google. When a reader clicks an AMP link, the address bar displays www.google.com instead of the publisher’s Web address. Oops? Where’d that site branding go?
Google says articles served from its Internet network is four times faster. That’s right. But developers disagree. Engineering or “designing in” page optimization gives the same or even better results. That’s right. It appears Google has a hidden agenda not-so related to speed. That’s their mask.
What do these wonderful plugins claim?
AMP By Automattic Active installs: 200,000+
Retention: 26 percent
zip file size: 2.3M
The Big Promise: AMP makes your website faster for mobile visitors. SEO pros claim Google prioritizes AMPs in search results. Feb. 24, 2016: Google integrated AMP listings into mobile search results. Big deal.
Really? But when we search on the phrase:
“Why Google AMP sucks”
we’re inundated with blog posts by developers. They say unexpected derogatory words about how AMP doesn’t help. They say it’s all a ploy by Google. These aren’t crackpots chiming in here. There are tech heavyweights who think AMP is bad for the free web. Why?
How to Setup Google AMP on WordPress Site (Using AMP Plugin) When you read the above post the propaganda sounds wonderful. Google AMP is the magic silver bullet curing all mobile speed problems. And there are two WordPress plugins helpers to get you set up. One authored and endorsed by Automattic, the founders and owners of WordPress. What an amazing endorsement! (Question: What is Automattic doing in bed with Google?)
AMP hijacks the real URL of the page and provides no UI control to get back to the canonical URL. Consumers, publishers, sites and users are asking Google to give an opt out feature. AMP often loads broken links, takes longer to view, or may not format properly
When a user searches for an article on Google and clicks on an AMP link, it never leaves Google.com. Even if the AMP link is an external entity. Google rehosts pages from popular search destinations. But they truncate it and reformat it. It’s supposed to be helpful because it lets complex pages load faster, but it’s a pain because it frequently doesn’t format properly or they cut it off in an inconvenient place. You’ve got to waste time getting to the original page.
There’s no way to turn AMP off. If they’ve got an AMP mirror for a domain, they’ll give you those results instead of the actual page every time.
Smaller publishers have more to lose if they use AMP. For many, they think Google owns the small-guys story.
John Gruber at Daring Fireball says the following:
The lock-in aspect makes no sense to me. Why would I want to cede control over my pages to Google? AMP pages do load fast, but if publishers want their web pages to load fast, they can just engineer them to load fast. Best answers I got were that it wasn’t really strategic — publishers are going with AMP just because their SEO people are telling them to, because Google features AMP pages in search results. I suppose that is a strategy, but ceding control over your content to Google isn’t a good one in the long term.
Wikipedia negative quotes about AMP (there aren’t any positive ones):
Some tech media outlets, including The Register have criticized AMP:
Chris Coyier, cofounder of CodePen, writes that AMP would be better if it “was never used as search ranking factor (or anything that could be interpreted as such) by anybody.”
At AMP Conference, Gina Trapani described some aspects of AMP as being “scary to me.”
I’m on the record as being strongly opposed to AMP simply on the grounds of publication independence. I’d stand by that even if the implementation were great. But the implementation is not great — it’s terrible. Yes, AMP pages load fast, but you don’t need AMP for fast-loading web pages. […] It’s a deliberate effort by Google to break the open web.
Why is PagePipe against Google AMP?
[perfectpullquote align=”right” cite=”” link=”” color=”” class=”” size=””]Here’s a good offsite article about how Google AMP failed for Kinsta by actually impacting their SEO by a negative 59 percent drop in leads. Read it in a new tab.[/perfectpullquote] Speed is a strategy not a band-aid. You build site and page quality in – not sprinkle it on afterwards. AMP serves Google’s purposes – not ordinary users. We’re surprised an AMP content blocker hasn’t shown up by now. Improving the web is a better answer than donating it to Google. AMP is for apathetic site creators. We can fix the problem without handing everything over to Google.
Below are 8 other offsite links worth checking out:
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.
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?
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.
[perfectpullquote align=”right” cite=”” link=”” color=”” class=”” size=””] 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). [/perfectpullquote]
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.
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?
Zip archive 186k
Active installs: 300,000+
updated: 1 week ago
★★★★★ Better WordPress Minify
Active installs: 90,000+
Zip archive: 655k
updated: 2 years
★★★★★ Speed Booster Pack
Active installs: 40,000+
Zip archive: 82k
updated: 3 weeks
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.
WordPress works fine. But you need plugins to add extra features and functionality. Without plugins, junk WordPress. Plugins give you control over website functions and performance without writing any code. Choosing the right plugins play a big role in your mobile speed success.
It seems as simple as searching for the most popular plugins. Then installing and activating them on your website. The result: an instant functionality upgrade without needing technical knowledge.
The problem is most popular plugins are slow loading. They bog down your site. Often globally, meaning slowing every single page and post. We call that site drag. Other plugins are more forgiving. They don’t suffer from site drag. Instead, they load only where used – or where there’s a shortcode installed. How can you know if a plugin causes site drag? Experimentation. This undocumented gotcha isn’t in read.me files.
The plugin directory is one of WordPress’ great assets. It provides over 53,000 applications extending WordPress. It’s also completely open and free. Any author can contribute. Anyone can download. The plugin auditing process and security analysis are sometimes flaky. Bad plugins happen.
Many plugins have identical functions – but they’re not built the same. Some hog resources. Others are fine quality. You can solve about any WordPress problem with a plugin – or a plugin combination. We do research and experimentation to discover plugins helping mobile WordPress speed. We appreciate alternatives to bloated popular plugins.
WordPress.org places a label on plugins not updated in over 2 years. This staleness warning may mean the plugin won’t work – or worst case – could break your site. Often, we find old plugins work great. Especially for speed. Even when they aren’t updated for years.
This plugin hasn’t been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
This shelf-life warning, above, scares people from unrealized opportunities. So we still test obsolete plugins. There are many compatible-and-clean 8- or 10-year-old plugins. There are always risks with even the biggest and best – and most popular. These unpredictable gambles include plugins with millions of active installs and recent updates. Even WordPress or Yoast stubs it’s toe. It happens to the peerless.
The Plugin Review team takes down a plugin if it’s becomes vulnerable. But they don’t always notify users when this happens – or tell us to remove a bad plugin. We know this from sad experience.
One obsolete plugin we use often is P3 (Plugin Performance Profiler). As implied, this plugin creates a profile of the speed performance of your plugins. It’s maintained by GoDaddy, one of the biggest hosting providers in the world. But it’s 2-years stale – abandoned? It measures load-time impact expressed in seconds for every plugin you have activated. It helps narrow down plugins causing potential speed issues. P# doesn’t work with newer PHP version 7+. You need to dial back PHP in your hosts Cpanel to version 5.6.
Description: See which plugins are slowing down your site. This plugin creates a performance report for your site.
At this point, we smile. Over 100,000 sites made a bad assumption. They left this plugin active in the name of speed improvement. Ironically, the plugin slows every page and post by 12.7 milliseconds – even when sitting there. Oops!
WordPress plugins are PHP code. Various blogs and forums claim PHPv7 breaks the P3 plugin. The only plugin it tests is then itself. Our cheap, shared hosting is a techno-laggard (paradoxically, GoDaddy). They are still running PHPv5.4 as the default. Is that why they haven’t updated the plugin yet? For our speed demonstration, this may be helpful. But PHPv7 makes WordPress load so much faster – around a third the original v5.4 load time. Super fast. In theory, a 2-second page might load in 660 milliseconds. Beautiful! Many hosts have already adopted PHPv7. GoDaddy finally did mid-2017. We moved the version up a notch to version 7.1 in Cpanel on GoDaddy – a small speed boost.
P3 (Plugin Performance Profiler) causes 12.7 milliseconds of site drag. So we recalculate the results without this number messing things up. After testing, don’t leave it installed. At least, disable it. But we always remove it.
There are attempts to prove P3 plugin doesn’t work well – or that it’s results are meaningless. Surprise! We agree. What’s important are the relative results. Not the absolute numbers generated. It’s ranking the worst-offending plugin to the least – with values in seconds. Data is strangely presented in alphabetical order, not in milliseconds. We sort in a spreadsheet. But there’s intuitive data to analyze and we appreciate it. Some say the results are ±30 percent off. Not from our experience. There’s no way to prove accuracy. We don’t care. Our gut says the ranking is correct enough.
There are articles about purported P3 alternatives and lookalikes. We’ve examined them. None give the speed ranking information we desire. We hope GoDaddy creates a revised edition or someone else adopts this plugin. It’s needed for speed assessments. P3 shows information not represented in any known speed report we’ve found. It’s not crippled because we’ve found workarounds for it’s shortcomings (dialing back PHP).
Let’s look at some P3 results for PagePipe.com which loads in under 1 second. We were using the free theme Magazeen-Lite at the time of this test (active installs: 400+, Zip download: 432k). It’s load time is 37 milliseconds according to P3. Fast! We selected this bare-bones theme because it’s package size was small and light. NOTE: We’re now using the Twenty-seventeen default theme.
We have: 56 free WordPress plugins. What?!
That’s right. 56 are active. 4 are inactive. P3 says they all load in 396 milliseconds. Good enough. We suspect they load faster than that. But as we’ve said; it’s plugin rank that’s important for sorting.
The inactive plugins include:
Broken Link Checker (which we run quarterly).
UpdraftPlus Backup/Restore (set to run automatically once per week).
Replace Image (enabled as needed).
Optimize Database after Deleting Revisions (we activate and run once monthly cleaning).
Most of our inactive plugins are “resource intensive.” That means they hog database and RAM on the host server. If they all were running at once, our generous hosting provider would – with a lack of courtesy – shutdown our site. Our resource overages affect our other 23 shared-host neighbor’s speed. Can’t upset the server neighbors! NOTE: We were finally forced to buy more resources by GoDaddy for RAM overruns.
After installing iThemes Security plugin, we got a GoDaddy email notification. It said our hosting account exceeded its resource limits. We dumped it. Read More.
A few other speed tidbits: Worth-The-Read plugin is set active only on posts, not pages. It’s our third heaviest plugin at 39 milliseconds. That’s actually pretty light – but we’re picky. How did we do that? Selective plugin activation. Read more here.
Our heaviest plugin is SS Downloads. We activated this plugin only on “download posts.” There are about 7 or 8 posts with this feature. It has a 120 millisecond load. It’s 30 percent of the total plugin weight. We found selective activation conflicted with the Autoptimize minification plugin. Downloads then produced a 404 error. We tested with another minification plugin substitute, Better WP Minify. The same error occurred. Minification was more important to speed than selective activation of SS Download. That isn’t always the case. But it was this time. Minification often is tricky and nonessential. If we deselected minification on the download posts, it broke the site – a catch-22.
In the end, we deleted the SS Downloads plugin. (It didn’t work with PHP 7+). And we didn’t install a minification plugin. It messed up our ecommerce plugin.
Pareto principleis still alive! 10 of our heaviest plugins contribute to 80 percent of the cumulative weight (see column 3. The red text indicates the 80 percent cutoff). Roughly 80 percent of the effects come from 20 percent of the causes. In this case, 80 percent of the slowness comes from 20 percent of our “red-heaviest” plugin choices. These slower plugins needing the most scrutiny.
Easy Forms for MailChimp plugin is number four rank at 26.5 milliseconds. The solution: don’t use it on every sidebar. We place a sidebar 3.5k PNG image linking to a signup page. Then we only affect one page. This we sometimes refer to as offloading. But we aren’t offloading to another site or server, just to another page.
The only plugin we’d consider dumping – if we were under duress – is WP Counter (rank: 7, speed: 13 milliseconds). But it makes us feel good and crazy about our work. We can view some simple visitor stats in our dashboard. Look! There you are – visiting us!
PS: Think we’re cheating with Home page numbers. OK. Maybe. This article’s time – curious? Here’s the speed numbers: Performance grade: A 95, Load time: 323 ms, Faster than 99 % of tested sites, Page size: 222.8k, Requests: 18, Tested from San Jose by Pingdom.
We decided to run a test on WebPagetest.org. This produces a Home-page worst-case scenario (950 milliseconds). Pingdom being best-case. We discovered a new feature for optimizing images. See the little yellow badge that says, “New!”
That link opens up a new window at: https://webspeedtest.cloudinary.com/ Using this new image optimization tool, we reduced page weight by 10 percent. Axing another 10k by replacing 4 images. That makes no measurable difference in test speed. But it reduces the bandwidth consumption on mobile devices. You saved your users a little more money for remote connection fees. Our Home page weight is now 108k.
Note: You can keep running the Cloudinary optimizer tool and never get an “A” rating. Always a “B.” In the repetitive process, you’ll completely ruin your images. This is called “overprocessing.”
It’s not the quantity of plugins – it’s the quality.
Thanks for tolerating our shameless and pretentious display of affordable, mobile speed.
Is this Home page beautiful?
No. It’s fast. It focuses on usability. Site goals are the foundation for decision making. We’ll improve branding and expressive aesthetics later. That costs money – and always slows down the page. The page needs to prove itself with results first. Then we’ll formalize the graphics. Or maybe we’ll leave it “as-is.”
NOTE: This Home page example is now obsolete with our change to Twenty-seventeen default theme so we use large featured images. But all plugins remained intact with a few exceptions which we will report at another time.
Often blogs posted by other authors recommend “the best” plugins. We ignore these Disneyland fantasies fabricated by errant or evil bloggers.
Other times, the blatant ignorance and bad judgment overwhelms us. In a fit, we’re compelled to fight for speed truth.
Sounds dramatic, huh. But PagePipe’s credo – as you know – is: Save the Internet from WordPress abuse. PagePipe is the little David slinging stones at Goliaths. We rebel against web dogma. Sounds fierce (shiver).
Author Sam Hollis wrote a blog article over at Aweber titled,“17 WordPress Plugins Email Marketers Should Know About.“ Aweber is a company creating email marketing and autoresponder tools. Below are Hollis’ plugin recommendations. You’ll realize why we rebuttal his article. Reading it made our blood boil.
⒉Google XML Sitemaps.THE CLAIM: Using Google XML Sitemaps helps search engines like Google, Bing or Yahoo find your site.We say, Google finds and crawls every little thing fine without any sitemap. We do believe in sitemaps for content findability by users – not machines. We don’t mind helping Google do their job. We recommend an alternative lightweight plugin that does both HTML and XML sitemaps:
⒊Smush Image Compression and Optimization.THE CLAIM: WP Smush plugin optimizes images for better page load times. Then author, Sam Hollis, blasphemes by stating, “Site speed is super important for SEO and general usability.” Speed doesn’t improve SEO. It improves UX. So he got it half right. But a half-truth is still wrong. He’s perpetuating the Google myth.
WP Smush plugin is the worst compression plugin in the WordPress directory. WP Smush compresses JPEGs by only 10 percent. That’s insignificant. Optimized JPEGs compress images by 10X and are visually lossless. Read our article: WP Smush plugin doesn’t really help with speed.
The alternative we recommend instead:
★★★★★ Imsanity 200,000+ active installs, compressed download 152k
⒋Sam Hollis then recommends growing your email list with an Aweber account (naturally) using a signup form plugin: Sumo – 1.6MB download. We’re sorry. But there are other signup forms and services. We’re using alternative MailChimp API services with:
⒌HelloBar plugin is Hollis’ next recommendation. It’s light package size of 105k is deceptive. It’s a SAAS plugin – meaning it makes calls to an offsite database and server. Third-party services load down websites. We explain in our article:Hello Bar plugin slows down your page speed
⒎AWeber Webform Widget. A blatant promotion for their services. Does anyone else care about these embedded advertisements eroding blog content credibility? Seriously. This conflict-of-interest recommendation is one of the BEST plugins? No bias there.
⒏WooCommerce can process payments through your WordPress site. THE CLAIM: And it’s easy with a direct AWeber integration. What a coincidence! Another advertisement. They’re recommending selling eBooks. Doesn’t anyone write about how heavy WooCommerce is? There is actually a plugin called: WooCommerce Speed Drain Repair. We’ve never tested it. This plugin instructs WordPress to not load the huge variety of WooCommerce scripts unless the user is on a WooCommerce page. That’s selective activation of plugin loading. But the fact this “reduction” plugin exists indicates something foul, doesn’t it? How about substituting an alternative free plugin like:
⒐BuddyPress plugin. Why? THE CLAIM: To create a sense of belonging and exclusivity. To build a core group of customers as influencers who’ll speak about your brand on your behalf. Sorry. Excuse us while we barf. Does this touchy-feelie baggage help small-to-medium size web businesses? We’re thinking it’s a waste of time and plugin space. We don’t think this plugin is necessary.
⒑AddThis pluginTHE CLAIM: Generate social sharing buttons so your readers can promote your content to their networks. AddThis inserts their tool next to each blog post. Is this plugin necessary? PagePipe doesn’t advocate social media as an effective marketing strategy for small to medium size web businesses. If you’re a celebrity, that’s different. Stick with email signups.
⒒Leadin (HubSpot Marketing Free)THE CLAIM: This plugin is so you can track your leads and create more interest in content. This plugin allows you to set up analytics that capture information about your audience and what they are doing. You can track the content they read to find out and what works best. We’re suspicious. Is this an affliate link? Maybe not. But we don’t agree this third-party service is necessary. Remember: Third-party APIs cause speed deterioration. Repurpose WordPress Popular Posts plugin to determine what visitors view:
⒓PDF EmbedderTHE CLAIM: Add an incentive to your sign up forms by offering a content upgrade or lead magnet. Host that document on your website. What’s a lead magnet? An irresistible bribe offering a specific chunk of value to a prospect in exchange for their contact information (email). Sounds disgusting. We sanitize the definition as, “The offer of valued proprietary intellectual property (downloadable PDF).”
We recommend instead combining two alternative plugins:
★★★★★ Beacon Plugin Active Installs: 3,000+, compressed download 1.5M
★★★★★ SS Downloads Active Installs: 1,000+, compressed download 177k
⒔Yet Another Related Posts Plugin (YARPP)THE CLAIM: Cross promotion from within your site increases higher conversion. We have a speed article reviewing 38 related-post plugins. Read it here. We recommend:
⒕Revive Old PostTHE CLAIM: Automatically share posts to social media. It lets you set the interval and number to share based on what is performing the best. Our PagePipe philosophy is one of recycling Evergreen content and freshing it up. Do this judiciously and use your human brain. Not plugin automation.
⒖Insert Headers and FootersTHE CLAIM: It’s easy to embed a Facebook tracking pixel, Google Analytics script, or custom code that you create. We say, think real hard before you add these things. The only thing slowing down your site worse is GoogleAds. For faster Google Analytics, read our speed article, “How does Google Analytics affect mobile speed?”
⒗AkismetTHE CLAIM: This plugin helps combat spam and keep your comments and contact form submissions safe, clean and professional. PagePipe’s recommendation, “Disable comments.” Read our article about: “Should you use Aksimet anti-spam plugin?”
⒘Wordfence SecurityTHE CLAIM: A secure and protected site keeps your reputation in check. It makes your readers feel safer too. Read our PagePipe article with alternative, lightweight plugin suggestions: Do security plugins slow down WordPress?
Not a single one of Sam Hollis’ 17 wonderful plugins satisfies mobile speed strategy. No surprise we’re so hopping upset.
You don’t have to be a coder or programmer to help improve your mobile page speed.
Notification bars run across the top of a website. They display valued information. Such as a link to a newsletter, latest blog post, or promotion.
Notification bar strategies include downloads for an ebook or webinar. Or link to a landing page. Setting a link to PayPal to sell case-study reports was our original goal.
Widget or plugin overload: In this category you’ll find common household names like a comment plugin or Hello Bar — notorious for killing page speed. – Author: Demian Farnworth
Testing profit improvement inspired our experiment with a notification bar. We heard claims of 11-percent revenue gains using a bar. And another user claiming around 20-percent extra revenue by using a bar, too. That sounded pretty good to our greedy ears. We wanted to find out what plugin might add these features – but not affect page speed.
When you search for speed plugins, you’ll find the best ones with unusual or odd-geeky names. Usually with few active installations, and residing in obscurity. They are misunderstood. Plugin authors aren’t always good communicators about benefits. Below we explain how to find these lost “speed” treasures.
The most classic notification bar is “Hello Bar.” It’s the granddaddy plugin of this type. Hello Bar, the plugin, is free. But the SaaS cloud-based service is not. They charge by the click. If you receive 7,500 clicks per month, HelloBar may costs you $50 per month. Ouch! So we went shopping for free plugin alternatives.
Pricing for the Hello Bar free version is no longer publicly available on their website. Suspicious behavior.
Most notification bars we tried had ugly, distracting author’s logos. Egotists! Our solution was to color a logo placeholder the same as the background. Then upload it via FTP overwriting the original image file. A lightweight 0.8k PNG image substitute is invisible to the eye.
If you use Hello Bar’s free version, it includes their own advertising. You’ll be showing slow-loading ads on your site that aren’t earning you any money. And, worse, they use premium real estate you’re trying to use for your own Call-To-Action. It’s designed to get you to sucker for their pro plans. Bait and switch.
Hello Bar uses a freemium version with unpublished monthly limitations. But charges are still based on clicks per month. And a $12 per month *pro* version allows 250,000 visits per month ($5/mo for each additional 25,000 visits). We still don’t like it. Slick-marketing stink is all over the company’s home-page signup. We trust our intuition. Run.
The plugin that “smells-like” a good substitute is “Attention Grabber (Hello Bar Alternative)” free plugin. After installation during testing, the plugin added 500k to the page weight – appalling us. At the time, we were working on a test page well under 100k. It instantly bloated to 600k. So that plugin went into the trash bin.
Other notification bars are lighter for speed. One that fit the bill was Notification Bar by WPFruits. This plugin is no longer free ($20). It’s only 2.5k installed with compression. There are 53 free notification bars in the WordPress plugin directory. When you finish this article, there may be another one!
How do you figure out which notification bars are worth testing? Fortunately, this isn’t our first plugin rodeo.
First, define your goals.
We want a simple notification bar. No coding!
We want to customize the colors to match our theme.
We want either a text link or button for call-to-action responses. If there is no “click-thru”, we’re not interested.
It would be nice to have a plugin updated or introduced recently. Our collection of plugin candidates vary in staleness from super-fresh (less than 1 month) to over 60 months (crusty 5 years!).
Is popularity important in this culling? We think so. There are many with less than 10 installation. Those count if they’re fresh baked. 5 years and 10 installation is a loser.
So what plugins did we cull from the list of possibilities?
Three notification bars didn’t have “click-thru.” That got rid of Sitewide Message, InfoBar Top Notification, and WP Sticky Header. And a few more penalized were mystery meat. Their fuzzy descriptions and confusing screens shots weren’t obvious: WP Notification Bar (singular), Notification MSG Interface Benaceur, and Bonjour Bar.
Four plugins that use third-party slow-loading APIs hit the trash. Those include: Sticky Ecommerce Targeted Offer / Discount Widget, The NotiBar, Powr Notification, and Notification Bar.
We axed three plugins having less than 10 installs and being heavier than 100k – and being over 1 year since update: WP AdPunch LITE, SocialTVs, Ciusan Notification Bar. We kept any that were lightweight. We wanted to look closer at those. Stale doesn’t always mean bad. It may mean the plugin author’s on a a deserted-island vacationing for 2 or 3 years. Nice lifestyle.
We know sorting by package weight kills most popular plugins. But we don’t have a lifetime to figure out a “good-enough” plugin. We’re not searching for perfection. We eliminated 13 already. We’ll use an arbitrary cutoff of the top-10, lightest, zip packages. These all weigh less than 50k. To give you an idea of the range, the heavier plugins were 1.5M to 3.5M in size. Huge! We pity the poor sap who unknowingly chooses a plugin boat anchor.
Top-10 sorted by weight
TOP-10 Hello-Bar Knockoff Plugins for Speed
Notification bar by DJJMZ
Guerrilla’s Sticky Bar
WP Header Notification
Responsive Notification Bar
WordPress Easy Sticky Notification Bar
Peanut Butter Bar (smooth version)
Quick Notice Bar
We’ll test all ten candidates on Twenty-seventeen default theme. Two are looking pretty good just from weight, installs, and freshness: Top Bar with 6,000 installs and updated 9 months ago. The other: WordPress Easy Sticky Notification Bar with 200 installs and updated 6 months ago. But we’ll check them all anyway to be certain.
6 Failed Plugins
Notification bar by DJJMZ – no workee.
Notifications – didn’t show.
WP Header Notification – didn’t show.
Responsive Notification Bar – ugly green and yellow colors and not selectable. Load time changed from 1 second to 4 seconds. It was repeatably bad but it’s unclear why.
Quick Notice – Too much Facebook and button overhead: up.png: 2.5k, down.png: 2.5k, facebook.com/link and facebook.com/plugins/like.php (11.7k), https://static.xx.fbcdn.net/rsrc.php/v3ibIg4/yP/l/en_US/BVqXzc99u04.js (126k), https://static.xx.fbcdn.net/rsrc.php/v3/yD/r/FEppCFCt76d.png (1.6k). We hate Facebook!
We thought Top Bar would be the winner because it had 6,000 installs. But it wasn’t as “feature-rich.” Really, it’s not that customizable. Guerrilla’s Sticky Bar is slightly more lightweight, older, and more obscure . We’re stunned.
But, WebPagetest.org doesn’t. Why? Maybe WPT.org feels like we do: Better scores aren’t equal to speed changes.
Removing Query Strings makes a significant improvement in page speed. That’s the claim anyway. We’ve never seen “significant” speed improvement. That word “significant” gets used a lot with speed test braggadocio. The word should shoot up a suspicious red flag. The removal-suggestion always changes your speed test score. Big deal. Scores aren’t the same as load time gains.
A lot of speed technical stuff is hot air. Nerds puffing their chests out to prove who’s the biggest and best nerd. Removing query strings is one of those technical things that doesn’t make much difference in the world. But speed tests insist it’s important for a good score.
Usually “query strings removal” improves load times by milliseconds – and not seconds.
IMO it is recommended to ignore 50% of the Google PageSpeed recommendations, this is one of them:
‘Resources with a “?” in the URL are not cached by some proxy caching servers. Remove the query string and encode the parameters into the URL for the following resources…’
… the chances of any page of any small or medium site being cached – and reused from the cache is minimal. … removing static resources is not worth the zero speed improvement your site will gain. Author – Mark Kaplun
So, what the heck are Query Strings?
Query strings are the URLs containing special characters such as “&” and “?”.Scripts and stylesheets often contain a modified URL to identify versions.
Query strings can help track users like HTTP cookies. Query strings are often used in association with web beacons. Google Analytics uses web beacons (a 1-pixel, square, transparent, GIF image). A web beacon is an object embedded in a web page or email. It allows checking that a user accessed the content.
What’s cache busting?
Speed improvements do not improve SEO. They improve UX. Google doesn’t use PageSpeed test scores in it’s ranking algorithm. They use TTFB (time to first byte). TTFB is host-server access-time – a speed overhead measured in milliseconds.
Browsers store a cached static file until an expiration date. The file version in your visitors’ browser may prevent seeing new changes.
Cache busting solves the problem with a unique file version identifier. This tells the browser a new file version is available. Then the browser doesn’t retrieve the old file from cache. Instead, it makes a request to the original server for the new file.
The query string is a method for plugins and themes to pass version details about new updates. This trick is a plugin author’s workaround or “cheat.” It’s not best-practice. And may have a theoretical impact on website loading speed. Removing the query string from the file name “fixes” this without harm. But in reality, it only improves your speed score – and not the milliseconds of extra load time we yearn for.
You can remove query strings from files – without touching a single line of code.
Below, we give a list of free, lightweight plugins that do the job for you. These plugins need no configuration. They’re all plug and play. Install and you’re good to go. Make sure to clear your cache after installing to see changes. You can download the plugins from the WordPress repository. Or by searching within your WordPress dashboard under “Add New” plugins.
These plugins search all static files loaded from plugins or themes for “?” or “&”. Then removes them. This won’t damage website functionality. It helps your website get better page speed scores. It may even help make your site faster. But better speed is rare.
Removing Query Strings From URLs With Free Plugins
These plugins are super lightweight and benign. You may see millisecond improvements. There’s no reason not to install one for speed.
The bottomline is: removing query strings does no harm – but the only benefit most likely is an improved test score – not speed. Of course, the question is, “Why do speed tests insist it be done?” It’s ivory tower idealism.
Focus on reducing image file sizes for ultrafast mobile page speed. We’ve written an ebook about JPEG image optimization. Seventy percent of images used on websites are JPEGs. Images are half the lump of web page weight. But that doesn’t mean they are half of page speed*.
*We guesstimate images slow page loads by 30 percent – not half.
Image weight is important but not the high priority it once was. Why? On modern browsers, many images load in parallel saving time. And lazy-load plugins postpone image from presenting until needed. Loading occurs when the user scrolls and the image enters the screen. These help with perceived load time. Those are improvements for good user experience (UX).
Third-party APIs or widget scripts are much worse for slowing down pages than images.
WordPress compresses JPEG images uploaded to your media library. It compresses to the same degree as a Photoshop save-for-web quality setting of 50. Because of this automation, proper sizing of dimensions is now more important than fretting about compression. Read more about JPEG compression in our free PDF download (above).
You’re thinking, “What? Are you telling me I don’t need any image optimization plugin?” You’ve got the picture. Today, WordPress does a good job optimizing images for you. In most cases, anyway. We have more to say about a few exceptions. So read on.
Mobile users are bandwidth sensitive. They sometimes are browsing on expensive, remote, mobile roaming connections. Ill-prepared images consume money for mobile users. Dishing up heavy images on mobile requires polite consideration (aka hospitality).
There are many tricks to optimize images. We always prefer hand-optimizing using an offline image processor like Photoshop or Gimp. Simply use “save for web” features. Automated optimization can’t judge how far to push image quality settings. Only a human can do that. Failsafe plugins like Imsanity ensure JPEG images never exceed certain limits. We set our largest images to match our page layout column width. That’s specified in pixels. And, we set compression in Imsanity to a quality of 70 –lower than the WordPress default of 82.
Automating image optimization with plugins doesn’t change the image dimensions. The plugins only change compression. WP Smush plugin is the worst because compression gain is only 10 percent. That’s insignificant for speed improvement. WP Smush – the free-version – only offers lossless image compression. To get 10X (visually-lossless) lossy compression requires the *premium* plugin version. There are many free plugins providing better lossy compression – like Imsanity. So don’t let any plugin author take you to the cleaners.
Are there better alternatives to using heavy JPEG images on a mobile website?
There are two great alternatives. The first is using GIF or PNG format images. We’ll demonstrate with pictures. This is a PNG image used as a 800px x 220px header on a blog post:
This sample header image has few colors. It uses an PNG-8 format with 8-bit color depth selected (not PNG-256). That is the secret and why it only weighs a tiny 12k. It allows resizing to large-screen full width without much distortion. The stretched image doesn’t pixelate like a JPEG would – even when increased to a width of 1350 pixels. At “medium-size,” the image resizes to both desktop-screens and mobile screens. It still looks good on both. It’s a good-enough compromise of size. Don’t build headers as big as recommended.
How heavy would this image be if it were a JPEG 2000px wide header image? It wouldn’t be bad. Because of the limited number of colors, it’d be around 32k. Still, almost 3 times heavier.
The Visually-lossless Daisy Test
Let’s say we want a beautiful JPEG stock photo of vintage-style daisies in our page header. Assume the dimensions are recommended as 2000 x 1200 pixels. First we can knock off about 100k of it’s stock 500k weight. That’s just by putting it through an offline save-for-web feature. It then becomes about 400k in file size. Below (before) is what it looks like uploaded with no optimization plugin. It’s 390k files size and 1920 x 1200px (scaled to 714px x 446px). Scaling is bad by the way. It cause the browser to slow down and calculate on-the-fly what the new image size should be. Math-time wastes time.
And, below, after automatic optimization using the installed Imsanity plugin. The difference: it’s 70k and cropped to our column dimension and our 70-quality setting.
Can you see a difference? Do you have super powers or gifts of extra sensory perception? This comparison demonstrates visually-lossless compression. It’s technical name is lossy compression. We admit it isn’t magnificent here. That’s because we set our Imsanity quality setting to 70. Instead of the default 82 that WordPress uses. We push images harder.
Why do we compromise image quality for speed? Because it’s proven site visitors don’t care about image quality as much as you, the site owner. Don’t over-engineer your site. Image quality judgment is way down the list of user irritants or values. Speed frustration is number one – top of the list. We admit – it needs better quality if it’s a portfolio site for an artist or photographer.
Site owners are afraid of lossy compression. Why? Because it sounds like the process shreds the image through a meat grinder. Loss is not good right? Wrong – in this case. You did recognize the second image was of vintage-style daisies, too? What? You thought they were roses?
Using lightweight PNG images is one of our favorite speed tricks.
You can make PNG large-dimension images with small-weight. For example, this PNG image (below) is 3.3k file size and 1000px x 600px dimensions. It’s perfect for a Twenty-seventeen default theme header. Or a featured image – even though their spec says to produce a 2000 x 1200px dimension image.
Uploading featured PNG images to Twenty-seventeen pages, we found a surprise. The PNG weight automatically increased by 3 to 4 times the original. But if we used GIF image replacements, we had “no weight change” and a smaller image file resulted. Freakish image voodoo.
For example: As a featured image in WordPress, this 2000 x 1086px simple, red signage changed:
A 9k PNG converted to 32k (by WordPress) as a featured PNG image. Fail!
As a 25k JPEG, WordPress automatically converted it to 58k of JPEG bloat.
Making the red signage a 15k GIF. Then WordPress won’t change it. It stays 15k. Oddity.
We said using PNG and GIF images is our favorite speed trick. Our second favorite trick and the lightest, fastest solution is – using no images at all.
Fifteen percent of websites don’t use any images. None. Zero.
Yes. Some pages are completely text and CSS. But the average website is heavy on JPEG image usage. It’s the big beast to tame. It’s where the most unrealized potential is for UX improvement. But having no images can be even better if you can get away with it. What could be faster?
Can you avoid image-bloat problems completely by using image optimization? No. Sometimes it’s best not to use an image at all under certain conditions. Think about it. Does the image contribute to understanding the website’s written content? Does it attract, distract, or repel? Users are the judge. Not us. It requires testing.
How much testing? Simple. Ask just five people who aren’t related to you and aren’t your employees. That’s it. You don’t have to spend a lot of money or time. Irrelevant images are a waste of space. Reducing page-load time is still a big criteria for maximizing readership.
One big question: Are images attractive or motivating – and not alienating or repulsive? These questions address a primary component of web credibility. Credibility is the feeling web designers want to achieve. What is right isn’t always what feels good. If you put an ugly image into a compressor, it’ll still be ugly – but faster loading – when it comes out. There is even a possibility it may be uglier from distortions.
Two best ways to improve images have nothing to do with optimization: 1. Images with story appeal. 2. Images that demonstrate.
Want to use the MailChimp WP Subscribe form on the default WordPress Twenty-seventeen theme?
Then you have a problem. The Home page is sectional pages in the customizer. You ask, “That’s a problem? How so?” Choosing this customization, sacrifices home-page sidebars – and thus no standard widget areas. Widgets are only allowed on posts. Here’s our journey to find a workaround solution:
We ran into a problem using WP Subscribe on a test site. There, we used the default WordPress Twenty-seventeen theme. Notice during the test (image above), we got a 404-error message. “The requested resource could not be found.” Why was this happening? The same form worked fine on PagePipe.com. We’ve verified the MailChimp API key and the widget matched. It was Kosher.
The Twenty-seventeen theme has a surprise built-in dilemma. You customize the theme home page with optional front-page sections. These allow parallax scrolling images between sections. Nice. Thank you very much. But Twenty-seventeen theme doesn’t allow sidebar widgets on pages. Only posts allow that. Therein lies the problem [disapproval – Boo!]. Since WP Subscribe is in a widget area, we tried using a workaround to place the signup at top, front, and center.
There are various plugins that can help create a widget area inside a page. We thought we’d be clever and use one of those. Failure!
We tried first a plugin called Widgets on a Page. We disabled all other plugins except “WP Subscribe” and “Widgets on Page” plugins. The same 404 error message still reappeared with another test.
Widgets-on-Page plugin is superseded with Turbo-Widgets plugin. But it doesn’t allow editing of the WP Subscribe settings. Widgets on Page is still maintained and last updated 3 weeks ago and has 70,000+ installs. It is compatible with WP 4.7.3 – which we’re using. We suspect this combination of plugins is corrupting code somewhere. And we mean permanently altered – as in undoable.
To remove variables, we tested this errant plugin combination back on PagePipe.com. The result was the same 404 error message. We removed “Widget on Page” plugin. The results on all sidebar signup forms – that formerly worked fine. Errors galore. Corruption of the plugin database.
On PagePipe.com, because the WP Plugin database was now corrupted. That forced us to reinstalled a recent site backup. That cleared the errors. That was a harsh lesson.
We also investigated AMR Shortcode Any Widget as a workaround to embed a widget. Further testing on PagePipe revealed more. The “AMR shortcode any widget” plugin fails also (unknown error, call etc) when embedding the WP Subscribe plugin widget. But it doesn’t corrupt sidebar widget versions of WP Subscribe. We didn’t have to reinstall backups. No corruption. Whew!
This plugin also fails but not destructively. We finally ran out of widget embedding options.
Because of these problems, we switched to “YIKES Easy Forms for MailChimp” plugin (freebie). 50,000+ installs, 3.7M download size. You can place its shortcode on the front page of the Twenty-seventeen theme. That’s the secret fix. Now you can place a MailChimp signup on default Twenty-seventeen theme pages. Note: In spite of it’s massive plugin download weight (11.5MB decompressed), it is a lightweight plugin and doesn’t bog down page speed. Much of the weight (8M) is in SVG image files for international flag icons. What?! Silliness.
The good news is with a Autoptimize minification plugin installed, this final signup form only added 36 milliseconds to site drag. This is 20 times faster than other alternatives – like iContact.
On the Internet, there exist widgets – or interface components. They allow connecting your site to specialty services. These are sometimes called third-party integrations (such as Facebook, Twitter, YouTube videos, Google Fonts, Google Analytics, CDNs, etc.).
We call them annoying – because they usually slow down page load time. Under ideal conditions, they can be fast. But because you call to a remote server, that server’s engagement is unpredictable. There can be long, random delays. Then we’re at their mercy. We’ve seen 1- to 2-second delays for third-party add-ons. And in bad cases, more than 8 seconds. Ugh! These delays are essentially “waiting in line” for service. It’s peak traffic dependent.
In an ideal situation, what time delay might we expect for a third-party email service?
We’re all about speed. So we need to set a proper example. Yet, we also desire “free.” And MailChimp’s free email service sounds enticing. Is it fast enough for us? Yes. 36 millisecond load time with the right plugin. There are ways to do this without a plugin – but we found it particularly easy.
With MailChimp, you can send 12,000 emails a month to a list of up to 2,000 subscribers – free!
MailChimp provides an API key for access control using free, signup form plugins.
After setting up a free MailChimp account, adding a form to our site was a piece of cake. We used WP Subscribe, a lightweight opt-in form plugin for WordPress. The widget supports several email providers – currently MailChimp, AWeber and Feedburner. You can then customize the basic signup text used in the opt-in form. Just click the “Labels” option right inside the widget. To customize colors, you need to dig into CSS – and add code to the customizer or a child theme. We did that. An explanation of changing default colors is on the WP Subscribe plugin forum. Here’s a link to a CSS example.
WP Subscribe Features
Add to multiple widget areas.
Supports MailChimp, AWeber and Feedburner.
Here are two typical experiences from our experiments:
WP Subscribe plugin
MailChimp (without CSS minification)
40,000+ installs, 61k download
Using WP Subscribe plugin with MailChimp adds:
2 requests, 2.6k weight, and 88 milliseconds load time. No improvement with minification (concatenation). This happens because of the way WP Subscribe plugin is coded.
Yikes Easy Forms for MailChimp plugin
50,000+ installs, 3.7M download
3 HTTP requests, 4.5k page weight, 93 milliseconds load time.
This plugin is coded so minification is a big benefit. Concatenating and minifying with Autoptimize plugin reduced load time to 36 milliseconds for all theme and plugin CSS files. Bonus!
A demonstration of potential speed differences.
iContact (a MailChimp competitor)
5 HTTP requests, 5.5k weight, and 783 milliseconds load time. MailChimp is 10 times faster than iContact. There is no benefit from concatenation or minification with iContact. The form is created by embedding iContact supplied CSS in a theme text widget.
A note: Each request can load in parallel speeding up load times. It depends upon your server configuration and user’s browser.
Related-posts plugins are a functional category. And there are a bunch – 38 plugins at the time of this writing. Perhaps more before you finish reading this post!
Suggested related content improves the user experience. Plus improves your bounce rate, page views, and time-on-website statistics, too. Selected “related posts” vary from an automatic, complicated algorithm to mere identical WordPress categories.
The factor determining if a reader will come back to your site is whether they read more than one post. If they do, they are likely to return. If they don’t, they won’t. How much does “related posts” increase internal traffic: a mere 10 percent. We’ll take it.
The most popular plugin is Yet-Another-Related-Posts plugin or YARPP. But is it the fastest? We thought this plugin a bit complicated. We don’t appreciate having to watch a video to understand a plugin. But sometimes it’s necessary.
WordPress hosting providers block or blacklist YARPP (like GoDaddy and WPEngine). “Heavy database usage” or database search incompatibility is their reason. This may be true. Web hosts claim related posts plugins overuse your database. They propose it’ll crash your site if you get a lot of traffic. We doubt it. Theoretical bluster as an excuse to protect the host – not you.
The next most popular related-post plugin is JetPack. We don’t even include it on this list. Because it’s a Swiss-army-knife, multi-function plugin.
Plugin popularity varies depending upon what review you’re reading. We have specific speed goals in mind first.
We immediately eliminated any plugins with floating popups, API keys, animation, and grid formats. Also, we wanted automatic selection features and not a manual selection of related posts. Thirteen plugins claim speed benefits. 8 had shortcode functions and 4 said they were responsive.
This left three categories: widgets, end of post, and both places. We wanted a text-based plugin for a sidebar widget. And a responsive one with end-of-post thumbnails using featured images. Some plugins actually made speed claims as a differentiation. We also looked at creation dates. (We find this in the read.me file release notes.)
We considered the number of installs and when the plugin was last updated. We used unzipped file size to rank all 38 of the download plugins.
The oldest 2 released in 2012. Two more in 2013. Eight in 2014. Ten in 2015. And 16 in 2016. An upward trend.
WordPress Related Posts plugin inserts related posts after your content. It’s lightweight because it has few “activated” features. It supports different styles, thumbnails, caching, and other customization options. Why it weighs 2.5M? Well, 1.5M of the files are styling options that once selected aren’t used. They are static or inert. Not active.
It’s a simple yet fast plugin. It doesn’t damage your site and adds related posts at the end of your content. We aren’t looking for advanced features. WordPress Related Posts plugin – amazingly – won’t slow down a site. Excellent performance.
Like many plugins, it loads globally. This adds 203 milliseconds site drag for every page and post. Our home page is a post directory with no related posts links shown. So we disabled the plugin on that URL with Plugin Logic plugin. The related-posts plugin only works on posts. Not pages. But we’re most concerned about optimizing the Home page (post directory) for now. We’ll catch the rest when we’re bored.
The plugin authors encourage using a feature called “linking out” to other blogs. We don’t recommend it. We’re suspicious. It slows things down or takes traffic elsewhere. We don’t need it. They claim it grows community and traffic. Self-promotional hype.
This plugin adds undetectable page weight and no HTTP requests. No site drag. The plugin author no longer supports the plugin – but it works great. It only has 200 installs and no updates for over 1 year. We can live with that. P3 Performance Profiler plugin testing says the widget adds 4 millisecond load time. Invisible in speed tests.
Settings in Dashboard > Appearance > Widgets > Sidebar
We made this plugin choice by testing lightest weight plugins first (all introduced in 2016!) and worked our way up the list. The first 5 broke the site – or didn’t work. We finally came to #6 Pro Related Post Widget. It worked great. No need to look further.
grid or list
A blog is nothing without great content. You can spend all the time you like configuring social media, adding advertising, and sharing your content. But if that content isn’t great, you won’t get an audience. Author: Rachel McCollin
Slow plugins? It’s not the quantity, it’s the quality that makes a difference. Web designers can’t be arbitrary in loading and activating plugins. The result is slow pages.
All plugins recommended are free downloads from WordPress.org directory.
Our first speed trick, of course, is using thematic graphic elements tying fast-loading visuals together. Color usage in branding elements is good speed strategy. Limiting the site palette to just a few colors makes super, fast-to-load GIF graphics – and the lightest-weight, 16-second video.
Second, we use free plugins that help page speed. It’s a myth that using many plugins will slowdown your website. Being sloppy in judging plugin quality or necessity is the culprit. That’s within a designer’s control. It calls for wisdom and speed testing. The best plugins add only single-digit millisecond delays. Almost no page weight at all – weightlessness!
Here’s the speed plugins we use on Twenty-seventeen:
2Remove Google Fonts References
Disable enqueuing of Twenty-seventeen’s Libre Franklin and Helvetica Neue and other fonts used from Google. Twenty-seventeen then uses browser and system default fonts. This speeds up load time. This plugin is a very lightweight. It has no settings, just activate it and it works immediately. The trade off for typographic branding isn’t worth it. The body text is generic and ubiquitous thus perceived as an utility font. The common fall-back fonts in the stack aren’t special except for being fast loading. The family font stack is: “Libre Franklin”, “Helvetica Neue”, helvetica, arial, sans-serif. The font being rendered usually is Helvetica.
This plugin disables the emoji functionality (since WordPress 4.2). WordPress does not need emoji. Emoji functions add 5.6k to 14.7k page weight and 2 or 3 HTTP requests to a site. Waste. Emoji are the 12-pixel-square-grid ideograms, emoticons, or smileys used in Japanese electronic messages and Web pages.
4Lazy Load for Videos Speeds up your site by replacing embedded Youtube and Vimeo videos with a clickable preview image. Visitors simply click on the image to play the video. This isn’t needed for the Twenty-seventeen header video. That’s already using deferred loading. But if you have any other video, like we do on our posts, it helps speed things up.
5Far 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.. The changes are made in your .htaccess file on your server. You don’t have to do any coding. Nice.
Far Future SETTINGS
Set the expiration to 365 days (yes, 1 year).
Select all the file types you are using.
Select Gzip compression.
Note: This plugin doesn’t have a setting for .mp4 files. We went in and modified the .htaccess file on the server later. But not for this test.
8Rocket Lazy Load
A tiny Lazy Load script for WordPress without using jQuery or others libraries. Lazy load is a method of delaying presentation of non-critical images that are “below the fold.” This technique buys seconds of faster perceived load time. Rocket Lazy Load automates everything.
This tiny script (less than 2k!) displays all images in a post or widget, thumbnails, avatars and emoticons as users scroll down your site. It doesn’t come with any options or customizations, just install and activate this plugin and let it do it’s thing.
9WP Super Simple Speed No configuration needed. Uses GZIP compression, leverages browser caching, includes automatic hot-link protection and more. There is some redundancy with Autoptimize and Far-Futures plugin features. But there is no conflict and it finishes off a few hard to remove speed bumps.
We admit there are times we find new plugins and think we know their function – only to find out later what they’re really good for. This is one of them.
It’s just that the plugin author didn’t know how to explain or market the plugin the way we were thinking. They had a clever solution without our real-world problem mentioned. We didn’t recognize the plugin’s potential to solve our problems until later – by accident.
For ages we’ve wanted the ability switch off FontAwesome icon font. We see it as unnecessary baggage many themes include as a feature. In fact, most themes include it any more. Sometimes, this 70k+ file is added to page weight just to make a single icon – like the magnifying glass in the search field, or perhaps the hamburger icon for a mobile menu. What a waste!
We learned we could “de-enqueue” that icon-non-feature in the WordPress functions.php file. But this always proved tedious or broke things. We wanted a faster, safer way to test. We asked our local WordPress meetup if they knew of a plugin that would remove FontAwesome painlessly. No one had any clue.
We found the answer while testing for plugins to remove the annoying Google PageSpeed error message:
We found “Asset Queue Manager” plugin. It doesn’t really help much with solving that Google PageSpeed error message. But what a gem, once we understood what it could really do. Not only can we de-enqueue FontAwesome, we can get rid of Google fonts and other heavy assets like unused sliders that have universal page loads.
Description: A tool for experienced frontend performance engineers to take control over the scripts and styles enqueued on their site.
Hey! We are frontend performance engineers! But that name threw us. It didn’t say, “FontAwesome Remover plugin.”
The word “experienced” in the description is scary. But the damage done by novices can be quickly undone with some safety features the authors built-in.
Once the plugin is activated, browse to any page on the front of your site. An Assets link will appear on the top right of the WordPress admin bar. Click that to view and manage all assets globally.
The plugin author explains he put it on the front because the assets only get enqueued on the frontend, so the plugin doesn’t really know anything on the backend. That’s why he decided to only show the link on the frontend. But many people don’t understand this link location. It’s not in the admin dashboard. It dequeues assets globabally – not per page.
What if I dequeued jQuery (or something I shouldn’t have) and now my site is broken. Go to the list of plugins in your admin panel. Find the Asset Queue Manager and click the “Restore Dequeued Assets” link. Nice and easy.
What a beautiful misunderstood plugin with a lot of hidden speed potential.
From our experience with WordPress search, we get better results without the search enhancement plugin Relevanssi. It shuts down or bypasses normal search functions. There is no failsafe or fallback when Relevanssi malfunctions.
We tested the Relevanssi plugin free version some time ago. Many reviewers were sold on it. But real-world testing by us didn’t reveal much value from it. It was theoretically better. That doesn’t mean you shouldn’t use it if you want but we see no reason to recommend it to clients.
Relevanssi is available as free and paid versions. It doesn’t appear to slow down a website with any HTTP requests. P3 Profiler plugin (authored by GoDaddy) reports it adds only 19 milliseconds to load time. Big deal. It’s just another benign plugin taking up space.
We’ve never had a circumstance where WordPress search wasn’t sufficient – and even sometimes impressive. We use it all of the time to relocate obscure content on PagePipe. We suspect WordPress “search” has improved over time.
Summary: The WordPress search is much maligned but it’s probably not justified and the importance of a search function is often overstated.
Quote from that posts comments:
“As the developer of Relevanssi, I have to agree with your premise: for most users, the WP default search is good enough, now that it can sort results by relevancy and not just date (that search was awful, and something that had to be replaced in most cases).
I wrote Relevanssi, because I own two sites that are basically information warehouses. When you have 4000 book reviews, you need a good full-text search. But not every site is like that.” September 30, 2014, 2:33 am – Mikko Saari
To Engineer is Human by Henry Petroskiis a book about engineering failures – mainly of buildings and bridge structures and airplanes during the 1980s and before. The main takeaway from the book is still applicable – and maybe even more so today: When technology or ideas are changing rapidly, there is never the opportunity to build a history or library of experience. This increases errors. Experience is what prevents accidents and disasters.
New upgraded versions of WordPress come out multiple times each year. And new plugins are being introduced at a breakneck pace. In 2013, 15,000+ plugins were in the WordPress plugin repository. In 2014, there were 29,000+ plugins in the repository. By 2015, the number was 35,000+. There are now (Sep. 2016) over 46,000+ free plugins in the repository. It’s difficult to stay on top of that rapid rate of change. It’s staggering – an annual growth rate of over 50 percent.
To make a fast decision, it’s plainly easier to select from the Top100 most popular plugins – and consider that good enough. Even this chart with a recent copyright of 2016 is outdated. It wrongly states there are over 35,000 plugins in the repository (it’s over 46,000). And this doesn’t count any of the plugins available on GitHub where authors refused to go through the WordPress red-tape of acceptance.
You can choose any plugin from the TOP100 and from our experience it will be the slowest and most bloated plugin in its class. For example: #1 Akismet: 52M installs, #2 Contact Form 7: 42M installs, #3 Yoast SEO: 33M installs, #5 Jetpack: 28M installs. These are all heavy plugins and either directly or indirectly affect load time. We see these plugins installed on most slow sites.
Jetpack plugin alone weighs almost as much as WordPress in it’s entirety! Jetpack is a 5.4M compressed download. WordPress is 8.2M.
Plugin popularity is rarely an indicator of good value. People assume they must be good. It makes for a faster decision. At one time, they were either the-only-game-in-town or repaired or compensated for WordPress deficiencies that later became solved with new WordPress versions. So even though the need for “repair” was gone or obsolete, the herd kept installing out of habit and myth. It became de-facto standard best practice.
As an example, WP Smush Image Optimization plugin (500,000+ installs) is an extremely popular plugin. But best case, it only reduces JPEG image file sizes by 10%. That’s insignificant for speed improvement. That’s because it uses lossless optimization. To get the real improvement from lossy compression (up to 70% reduction), you have to buy the premium/paid version. But WP Smush still doesn’t address the biggest issue. That is actual image dimensions. It will attempt to “smush” a monstrously-sized camera image – which of course still remains the same huge dimensions and a slow load.
The most preposterous marketing claim made by WP Smush plugin authors is that it will improve your SEO. Ridiculous!
That is why we recommend using Imsanity free plugin instead. It resizes and does lossy compression to whatever values we set. In our case, we set Imsanity to crop uploaded images to a maximum blog column width (750 pixels) and compress to a quality of 70. It doesn’t compress PNG images by default which we don’t care about in our case.
There are many free, good, lossy image optimization plugins but they are less popular with less than 100k installs. People just don’t test. They assume popular must be the best. To the contrary, it usually means they contribute to site drag and slow page speed.
Your plugin choices affect website speed. But how much plugins affect load time varies from a thousandth of a second – to seconds. A page load time of under 2 seconds is our goal. Half our performance budget is for a theme and plugins. It also includes cloud-based, widgets like Google Analytics, Google Fonts, and Facebook. The other one-second is for branding the site with images.
It’s a common myth that installing too many plugins slows down your site. It isn’t the quantity of plugins that matter – it’s the quality.
The WordPress Plugin Directory now has over 55,000 plugins to choose from. In error, many site owners think the most popular plugins are the wisest choice. This isn’t always true. In fact, from our testing the most-liked plugins are often the slowest loading plugins.
The number of active installs indicates “herd” popularity. The plugin download page tell us what this number is. Or you can click the View Details link on your WordPress dashboard page.
We have many choices of free WordPress plugins that add unique and sometimes esoteric functions. Our rule of thumb is selecting the plugin with the smallest-download package size. The compressed file size is in “k” (kilobytes) or in some cases, “M” (megabytes).
It’s best practice to add functionality into your theme using several small plugins. One fat Swiss-army knife plugin can cause what we call “site drag” – adding delays to your site. Some plugins add drag globally to your entire site even when they’re just used on one page.
For example, Contact Form 7 plugin has over a million installs. Site owners don’t realize this plugin adds three HTTP requests. And 28k page weight to every page on your site – yes, every single page. Even if the shortcode is only used on your contact page – or even not used at all. That may sound small – but in our book, where milliseconds add up to seconds, it isn’t.
For an unknown reason, WordPress doesn’t give compressed plugin size information. You don’t see this number until you actually download from your browser. A proper link would tell the size of a download. That’s good “web etiquette.” WordPress doesn’t think it’s important information (yet). Speed information isn’t high on their agenda. But it is on ours. Any site owner concerned about mobile user experience should pay attention.
When optimizing in a staging area, most online speed tools can’t access these test spaces. So we’ve build prototype pages offsite with the exact same plugins and theme. This helps us establish speed opportunities and pitfalls.
One site under test has 33 active plugins. A few of these plugins improve load time and site optimization. Others add functionality to a responsive, fast-loading theme. Others are for better security. In this case, the theme is “Accelerate.” It’s available at the free WordPress Theme Directory. Most of the default WordPress themes like Twenty-sixteen and Twenty-seventeen are fast loading. Others need speed testing.
Page load time with 33 plugins:
Pingdom to NY: 750 milliseconds.
WebPagetest.org: 1 second.
Choosing a plugin would be easier if WordPress permitted a little more repository information. Author-generated advice is untrustworthy because it’s biased. Popularity (number of installs) is, also, a lame indicator. Newer plugins sometimes are better. We can’t search on freshness.
We seek indicators of credibility (which is composed of expertise, trustworthiness, and leadership). These findability cues are sometimes referred to as information scent. These things are inferred in the plugin repository – or are discovered by downloading. They include:
1. Download file size. This is a potential indicator of plugin efficiency. Not always but frequently. If we have alternatives, we recommend the smallest plugin package to avoid bloat. Why doesn’t WordPress just tell us file size before downloading or having to click? Editorializing download links is considered polite and good web etiquette.
2. Date of first approval or submission. Longevity in the market is an indicator of credibility. At present, we either must open the download package and examine the readme.txt for a change history – or figure it out in the repository by compatibility to the oldest version of WordPress. Like a reverse-lookup. Do we have to use Wikipedia? That still doesn’t really tell first-release date of the plugin.
3. Similar or newer plugins should be listed as linked options. Popularity doesn’t always mean “best.” It may just mean old or antiquated. Inference from similar plugins (if listed) helps cue us for plugin usage and adaptation (workarounds).
4. Does the plugin require a signup or registration? In other words, is it bait?
5. Does the plugin interrogate an offsite database or cloud information? This is an indicator of slower load times (page speed) and HTTP requests.
This information and more would make for better productivity using the repository. There isn’t enough information when making choices.
There are a few other things we’d love to see. But we’re being idealistic in our wish list. These include answering plugin questions such as:
Does the plugin have hidden non-features? For example, some image optimization plugins have limitations of image-conversion quantity. The repository says nothing about it. Nor does the readme.txt file. You must install first to find this bugaboo out.
Are there known incompatibilities or conflicts with other plugins or themes? Sometimes authors only reveal this in the readme.txt file. That wastes our time.
Does 8 months since an update concern us? Not in the least. There are plugins that are 8-years old in the directory that work just fine. Those “best if used by ” freshness dates are silly. They throw people off with their arbitrary “2-year-expiration-date” warnings.
Calculating retention rate is a better indicator of usefulness – rather than popularity (active installs).To determine ballpark retention rate: Take “active installation” from the plugin page. Let’s say it’s: 200,000.
Then click on “advanced view”
And scroll down. Get the “All-time downloads:” Let’s use: 2,560,081.
Do the math division. The result is 7.8 percent plugin retention rate. Less that 8 percent of the people who tried the plugin kept it. Not great.
Rule of Thumb: Below 10 percent is low retention. 10 to 25 is OK. 25 to 30 is good, and 50 percent is excellent.
We generally think image sliders are a bane. We’ve written about the problems before. But if your client is insistent upon having a slider to show a gallery of photos, what should you do?
First convince the client of the negative aspects of a slider – especially if better SEO is their defense. (See the links at the bottom of this article). Using a slider for presentation is not a bad thing. But offload it from the Home page to a page of it’s own. And then use Plugin Logic to only activate the slider on that page. That means you’ll have one slow page and not all site pages will be sluggish.
So what slider do I choose?
Fortunately, Chris Lema did some quick-and-dirty benchmarking in his review: How do you find the best WordPress slider? Saved us a lot of trouble not having to test 20 different slider plugins. Some plugins are paid and some are free.
“For your everyday slider needs, I would go with Meta Slider. It’s free, relatively lightweight, really easy to set-up and will have the least negative impact on performance.”
Our recommended winner for speed is: Huge IT Slider – just 315 ms. And good news, it’s one of the free ones.
Sliders are usually large moving images that “slide or fade-in” at the top of the page. This can be an unlimited number of images. They may or may not contain textual content. Slider function may be included in a theme or it can be added as a plugin. Sliders can be responsive or fixed width. They can also do some weird and wild animation like exploding the image or breaking into a matrix.
Any movement or animation on a web page is as distracting as a fly crawling across the screen.
Are there redeeming qualities to sliders?
Yes. We think so. But Steve’s thinking is more unconventional. Christian will probably mention, all clients want a slider on their home page. We’re in favor of a single large static image on the Home page. That single image may be best used in a “solo” slider. People like to look at large images with depth and detail. It’s a pleasant experience and if transparent it will not distract readers from written content. A slider can make for an “inviting space” where visitors will want to return. A series of three slides can tell a motivating visual story. That requires thought or custom art.
What is the biggest problem with sliders on Home pages?
The problem almost never lies with the slider itself – even though they’re not all the same. Problems are introduced by designers or a committee. Slow page load time is the worst problem and very close to that is page clutter. Visual noise. Multiple messages with no hierarchy. By visual noise, we also mean things like a slider running too fast so visitors can’t absorb the content with self-paced reading. Too many irrelevant slides.
How much time does a slider slow down a website?
Random tests have shown an additional delay of 1 to 2 seconds worst case per page. That is a long time in the web world. But it’s not the worst speed hog for WordPress. Some themes are not well engineered and with no plugins or slider activated can load in 4 to 8 seconds. But add a slider on top of that and you are pushing the limits of human attention span.
Is it bad to make slider images clickable?
Only one percent of visitors actually click on a slide, which almost always is the first slide. They simply ignore sliders. This is called “banner blindness.” There is nothing wrong with clickable images as long as it’s not the only way to navigate. Companies like Apple, Adobe, Amazon, eBay, etc use navigation redundancy on a web page. Their typical goal is three different ways to navigate (header, footer, buttons). This again is a transparency thing. They don’t want visitors getting frustrated finding anything. So clickable sliders isn’t necessarily productive but it’s a benign navigation alternative.
Any other comments about sliders?
WordPress sliders don’t always work well on mobile devices. The vendor or author may claim they work fine but they can cause failure of page navigation and distort images. You have to test this stuff. Just make your screen thin as an iPhone and see what happens. You may be surprised by ugliness and loss of functionality.
We’ve been anti-animation for many years. This is because moving objects distract from the really important stuff. We’ve used the example of trying to read printed text with a fly crawling around on the page. Your eye is naturally pulled to the fly and it drives you nuts. It’s the same way with all web history of animation. Animation is not inherently bad. It’s the abuse of animation by designers that ruin pages. We call it excessive expressive aesthetics or simply visual noise.
Below is a description and list of 45 plugins previously used on PagePipe. Even with this many plugins, load time was under 2 seconds. It’s not the quantity, it’s the quality that makes a difference. Web designers can’t be arbitrary in loading and activating plugins. The result is slow pages.
T he 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:
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/
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 one or both of the following plugins. They’re proven safe methods:
WP Super Cache
Caching plugin for WordPress. We find this plugin doesn’t always help with speed. This plugin has an option to enable gzip compression.
Select: “Compress pages so they’re served more quickly to visitors.”
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.
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 SmushIt for image optimization or an image processing program like GIMP or Photoshop – or online at pixlr express.
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 “Far Future Expiry Header” plugin. We’ve found that is the simplest – and weightless. When we say “weightless,” we mean the plugin doesn’t add any weight to your pages and thus has no “drag” slowing things down. With the plugin, there’s no messing around in C-panels or FTP clients. The plugin is built for caching your site assets for up to 365 days into the future. We recommend doing that. At the bottom of the plugin control panel page is a little radio button that when clicked enables Gzip for your entire site. Easy! And it works.
Using the Disable Emojis plugin removes the emoji functionality added in WordPress 4.2. WordPress does not need emoji. Probably, the worst decision ever made by WordPress Core is enabling emojis by default, and providing no way to disable them. WordPress core developers should have a disable setting instead of having to install another removal plugin. Emoji functions add 5.6k to 14.7k page weight and 2 or 3 HTTP requests to a site.
Emoji are the square-grid ideograms, emoticons, or smileys used in Japanese electronic messages and Web pages, the use of which has spread outside Japan. Originally meaning pictograph, the word emoji literally means “picture” + “character.”
Beyond the standard emoticon-type “smileys,” there are hundreds of emoji, ranging from plants and animals to people, objects, vehicles, food, the Sun and Moon, and more.
PagePipe thinks emojis are a waste of bandwidth. As of July 2016, Disable Emojis plugin has over 30,000 active installs.
As of June 2017, Disable Emojis plugin has over 50,000 active installs.
Emojis may be recognizable by the majority of people, but that doesn’t mean that they’re universally accepted as a professional form of communication.
The usage of emojis may be too distracting to place within the body of your content.
You also have to be careful about placing them in titles or metadata. Google will only display emojis when they deem them to be relevant.
If emojis are obscure or show up differently depending on browsers or devices, your intended message may be confused or misinterpreted. -Author: Suzanne Scacca
Note about why Emojis happened:
“You know emojis in itself are just great, but they should never have been implemented into CORE. Why? At least 98% of active WP sites simply do not use them, still it occupies space and some milliseconds will be wasted in vain. That is a trade-off for nothing for the majority. That is why emojis should have been left as a plugin.” Author: Sam Heavyside
FYI, The emoji implementation was also a way to quietly patch a massive security vulnerability.
PagePipe is anti-waste and pro-thriftiness about more than just web speed. We don’t like the misuse of any web resources. Conservation and recycling create a better web ecosystem.
Find more time and space from positive optimization side-effects:
Don’t waste bandwidth.
Don’t waste server space.
Don’t waste the user’s time waiting.
Don’t waste your own time trying to optimize individual files.
“Portable Document Format” PDF is a powerful technology that can produce large, unwieldy files. Bloated PDFs are a big source of wasted resources. PagePipe publishes PDFs at a 150-dpi print resolution. We start with print quality and then optimize for web publication, too.
PDFs are usually created with a desktop, page-layout program at one of three different qualities:
72dpi screen resolution with embedded fonts for screen reading.
150dpi print resolution for laser printer output on paper.
300dpi for press resolution on glossy, magazine-like printing.
PDF quality settings affect web user experience. Those UX factors include:
Offline printing time.
On-screen visual quality.
Our PDFs are 11 x 7 inches horizontal (landscape format) for screen reading and for printing on letter-size paper. That is 1099 x 699 pixels. A computer viewing screen can be much larger than that. A PDF reader utility may use a best fit to fill the entire screen.
For example, a common 19″ screen size is 1024 x 768 pixels. That makes for a pretty good display of our PDFs. But what if the monitor is larger or set for an even higher-resolution view. Then embedded raster-based images look ugly. Type still holds up well because it’s vectored and stretchy. But our PDF content is full of visuals.
Screen resolutions are just too grainy for PagePipe’s design-sensitive audience. We’ve user tested this and they complain about image quality when using 72-dpi, screen-resolution PDFs.
Why? If users read on a large screen, it’s perhaps enlarged by 200 percent or more. This is when image graininess and pixelization starts showing up. Publishing a print-resolution PDF online makes for a more readable, quality format. But it’s still page-weight overkill. There’s that carelessness, again. Things can be better.
Press-quality PDFs are out of the question for us because they’re so heavy. When websites download huge, press-quality PDFs, it’s complete laziness and overkill. A waste! Big downloads happen when print design department’s hands off bloat to their web people. They either don’t know how to optimize or it’s just too much of a hassle. What happens is the user pays the price waiting for long downloads. We call that bad web etiquette. This impoliteness is often overlooked by site builders and owners. They suppose no one will notice – a bad assumption.
Compressed PDFs are a wise communication strategy that is called a post-decisional reassurance. It helps end any possibility of user remorse for pressing a download button. The choice to download is a good one when we get reinforcement of how fast the download is working. It makes us feel like someone cared. To not compress, indicates site-owner apathy about basic user’s needs.
User eXperience (UX) means being polite. Many web developers are inconsiderate of end user’s when they serve uncompressed PDF files. We’re a big advocate that users are grateful for the small polite details of faster downloads. Things feel right. That’s a UX goal. It’s good hospitality.
Was it our brilliance that lead us to find a better optimization process for our case studies? No. In truth, a wonderful image optimization service in Romania pointed out the possibilities. They are ShortPixel, the creators of the ShortPixel Plugin for WordPress. In the web world, Romania isn’t that far away.
ShortPixel pointed out they could optimize more than just our JPEGs or PNG images. They also would improve PDF files. This had never occurred to us. We then realized we were doing things backwards by uploading our PDFs via FTP client.
With the ShortPixel plugin installed, the WordPress Media Library would automatically optimize our PDFs. Faster PDF downloads without stress or hassle was a relief.
ShortPixel compression was a much better compromise for balance between image quality and speed. We were more than satisfied with the results. We were even happy! Unusual for us.
Our PDFs now politely downloaded 3 times faster without visual quality loss for users. Fantastic! It wasn’t as aggressive as screen-quality compression –nor was it as heavy as print-quality. ShortPixel hit the sweet spot for our PDF-publishing needs.
You can now bulk process all your existing PDFs in the WordPress media library. This feature is important when retrofitting an old website for site optimization. Rebuilding an old website is much more painful than building a new fresh one. ShortPixel reduces the pain and frustration during site retrofits.
ShortPixel not only told us the savings for each PDF but also a summary of the total savings from compression for the entire website. It’s a warm fuzzy that makes us feel good about clearing out so much deadwood from our page loads and server space.
Some designers might consider saving server space insignificant. Please remember that for us – with just 10 PDF files – we saved as much hosting space as WordPress occupies. That puts the previous waste into perspective.
We don’t want to store backups on our server. ShortPixel permits deselecting backup if desired. We feel PDF backups are wasteful since we keep copies on our computer and, also, have our site backed up on DropBox. We don’t want junk floating around. If you have backups selected, you can revert to saved originals.
Install the ShortPixel plugin to discover your unrealized potential for website savings.