The best lightweight plugin for deactivating XML-RPC to improve WordPress security.

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.

Their claim:

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:

Hummingbird
performance
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.)


Defender
security
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).


Smartcrawl
SEO
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 10 performance parameters they test and report with a score of 100 being best and zero the worst. More in depth about the speed list here.

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?

We discovered 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.

We appreciate free, non-coding plugin solutions. But they shouldn’t add any page weight or load time to our website. We found a good plugin to add to our mix for security. It’s “Deactivate XML-RPC Service.” Why add it?

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.

Deactivate XML-RPC Service

Because Jetpack or remote mobile access need XML-RPC.php, then the only game in town is:

Stop XML-RPC Attack

Stop XML-RPC Attack is the heaviest package (usually meaning potentially slow). But it adds no weight or requests. And it works, too. We tested it – but aren’t using it. We don’t use Jetpack.

There’s a free online test of WordPress XML-RPC:

XML-RPC Validator

You don’t want to pass the test. You want the test to say: “Failed to check your site because of the following error: 405 error XML-RPC services are disabled on this site.”

We’re adding Deactivate XML-RPC Service as a recommendation in the POLICE.ME Speeder Knockoffs.

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.

Where is the missing WP Super Simple Speed plugin?

Where is the missing WP Super Simple Speed plugin?

It’s still available to download on GitHub.

The plugin author removed the plugin  because he was probably fed up with trying to help people with conflict problems from minification – actually concatenation of files. The plugin wasn’t removed by WordPress. The conflicts were mainly with fat, heavy plugins you shouldn’t use anyway – like Gravity Forms plugin.

If a plugin “breaks” anything. Simply don’t use it.

WP Super Simple Speed is lightweight (less than 20kb in size), and has no clutter or unnecessary code or settings. Simple performance optimization without any hassle.

Don’t be afraid of the 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.

Features include:

  • Automatic hotlink protection to prevent bandwidth stealing/leeching.
  • GZIP compression (speeds up page load time and saves bandwith).
  • Loads jquery from google CDN (decreases latency | increases parallelism | better caching).
  • Includes Vary: Accept-Encoding Header (increase performance and score on various performance tools).
  • Disables auto-save on posts (lowers overhead on the server that can impact performance).
  • Automatically sets UTF-8 encoding for files being served as text/html or text/plain.
  • Enables keepalive (allowing persistent connections) which saves on bandwidth.
  • Removes unnecessary clutter from wp head (rsd, version generator, and much more).
  • Dequeues extra fontAwesome stylesheets loaded to your theme by other plugins.
  • Removes query strings from all static resources.

The usefulness of this plugin varies with each site. There are alternative discrete plugins to achieve the same features. This plugin is just “handy” to cut down the plugin count.

A speed comparison of WordPress Link Cloaking plugins

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 of 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.

[table2]

Link Cloaking Plugin,Load Time ms,Installs,Downloads,Retention
,
Affiliate Links Lite,3.1,5000+,20686,24%
Linker,3.2,2000+,12952,15%
WP Cloaker,5.9,6000+,4981,???
Thirstyaffiliates,6.6,10000+,112829,9%
WP Shorties,8.5,400+,4461,9%
Premium Link Cloaker Lite,8.9,40+,469,9%
Easy Affiliate Links,9.1,10000+,60792,16%

[/table2]

We deemed Affiliate Links Lite the “best.” Here’s why:

  1. Affiliate Links Lite plugin is the lightest and fastest.
  2. 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*.
  3. 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.

★★★★★
Affiliate Links Lite
Active installs: 5,000+
Retention: 24 percent
Zip archive: 199k

TEN OTHER PLUGINS WE TESTED THAT FLUNKED

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. )
Shoutcodes Lite
Link Cloaker for Affiliates
WP Auto Affiliate Links
Pretty Link
Shorty Lite

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.

How does Google Analytics affect mobile speed?

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:

  1. How do you leverage browser cache when Google’s very own Analytics.js has it’s expiry time set to 2 hours?

  2. How do you minimize DNS requests when Google advises you to copy their tracking code, linking to an external-hosted Javascript file?

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 performance of your pages won’t be impacted, with the possible exception of the very first page-load after you have added the tracking code. This first pageview calls the JavaScript on Google’s servers, which may take slightly longer than a regular page load. Subsequent pageviews will use cached data and will not be affected.” – Google’s Official Statement

Google Analytics requires inserting Javascript code into pages and posts on your site. While you can alter your header.php file by hand, the code will disappear when you update your theme. This can catch you by surprise.

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.

★★★★★
Super Simple Google Analytics
plugin
10,000+ active installs, 31k compressed download

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.

Reference: websiteoptimization.com

Since we bleed speed, we say, “Load it in the footer.” This may eliminate PageSpeed render-blocking Javascript and above-the-fold content errors, too. A small bonus.

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.

Google Analytics uses Javascript in the tracking code. It also requests a transparent GIF image. This is a 35-byte, 1×1-pixel, transparent image file. It’s referred to as a tracking beacon. And a cookie is also placed on the visitor’s browser cache. Then Google Analytics knows when the visitor returns and becomes a statistical “repeat visitor.” But, what happens if people have cookies turned off? We know it isn’t counted. Surely it messes things up for Google.

Note: Piwik is an open-source (free and fully customizable) analytics tool that doesn’t use cookies. No problem  tracking people who turn off cookies.

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.”

Quote from: kinsta.com

How much time will Google Analytics cost mobile users in delays? Let’s compare other common WordPress components: The Google Analytics code delay is as long as loading Javascript. It can be more than loading Google Fonts. It’s like loading Font Awesome. Even emojis are in the same class of deadwood. Do we strip those WordPress non-features? Yes! Whenever possible. So not adding Google Analytics for us is a serious consideration. Even with normal 100 to 200 milliseconds load times. On a 1-second mobile site, that’s a 10- to 20-percent delay for a first-time visitor.

AN ALTERNATIVE: HOST LOCALLY

Google’s advice is to avoid local hosting of the JavaScript file. Why? They claim it ensures you get access to new features and product updates. But that is a suspicious, self-serving dodge. We suspect they’re being sneaky again – and gathering data for their own purposes.

To avoid the extra overhead of off-server resources (DNS lookup and Time to First Byte), you can localize your JavaScripts on your server. This is 13 percent faster than a trip to Google’s remote server.

Speed up sites with two simple changes: 1) Move your analytics code to the bottom, and 2) localize the JavaScript file.

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.

★★★★★
Complete Analytics Optimization Suite (CAOS)
10,000+ active installs
24,000 downloads
Gzip file size: 7.4k
Retention: 38 percent

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.

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.”

Author: Colin Newcomer

Time is better spent improving your website.

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.

Pingdom.com best-case scenario for load time – 300 milliseconds. Cheap, shared GoDaddy magnetic hosting.

WebPagetest.org worst-case scenario for load time – under 1 second. Cheap, shared GoDaddy magnetic hosting.

★★★★
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
Retention: 11%
Last updated: 3 weeks ago
PHPv7.1 compatible

We’ve written an article about choosing the fastest popular post plugins: How do I get users to read more of my content?

Render-blocking JS is the most annoying and unresolvable error message

We don’t recommend using Google’s PageSpeed Insight tools for doing mobile website benchmarking – or even for desktop. We avoid this tool. We refer you to the following articles as to why:

Why the .@Google Mobile Test Tool Is Absolute Crap >
Why you Shouldn’t Care About Google PageSpeed Insights >
Why Trying to Get 95+ on Google PageSpeed Insights for Your WordPress Site Will Drive You Mad! >
The Truth about Google Pagespeed Insights >

Better tools for evaluation are pingdom.com and WebPagetest.org.
Note: WebPagetest is an open-source project owned by Google.

Deferring Javascript breaks WordPress.

Google’s Bogus Error Message for Mobile Anxiety

Should Fix:
Eliminate render-blocking JavaScript and CSS in above-the-fold content.

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
Description: Enables to pass the “Eliminate render-blocking JavaScript and CSS in above-the-fold content”-rule from Google PageSpeed Insights

performance optimization order styles and javascript 5k
Description: Ordering StyleSheet and JavaScript (external and inline) for performance optimization. The plugin will also collect different inline scripts to one place.

wp deferred javascripts 14k
Description: Defer the loading of all JavaScripts added by the way of wp_enqueue_script(), using LABJS. The result is a significant optimization of loading time. It is compatible with all WordPress JavaScript functions (wp_localize_script(), js in header, in footer…) and works with all well coded plugins. If a plugin or a theme is not properly enqueuing scripts, your site may not work.

external files optimizer* 4.7k
Description: Automatically combine and compress css/js files generate with wp_head() and wp_footer()

head cleaner* 262k
Description: Cleaning tags from your WordPress header and footer. To speed up the loading of JavaScript and CSS. PHP5 required.

headjs loader* 15k
Description: Load your Javascript files via Head JS. Caution: this plugin can cause major issues with the javascript on your site if not implemented properly. Please be sure to test on a development server first.

wp asset clean up 34k
Description: Make your website load FASTER by preventing specific scripts (.JS) & styles (.CSS) from loading on pages/posts and home page. WP Asset Clean Up scans your page and detects all the assets that are loaded. When editing a page/post select the ones you DO NOT wish to load.

wp super simple speed 7k
Description: Super Simple Speed is a stable and powerful plugin that dramatically increases your WordPress page load speed and gives you a better performance score on the major speed testing services. Unlike most other similar plugins, WP Super Simple Speed is lightweight (less than 20kb in size), and has no clutter or unnecessary code or configs. Simple performance optimization without any hassle. We use this plugin on PagePipe.

Is there a speed plugin for fixing Pingdom “Leverage Browser Caching” errors?

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:

test-1-far-futres

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:

examining-the-failures

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
downloads: 51,701
retention: 19.3%

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:

settings-far-futures

  1. Enable the Far Future Expiration Header plugin.
  2. Set the expiration to 365 days (yes, 1 year).
  3. Select all of the file types you are using.
  4. Select Gzip compression.
  5. Save.

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.

Why Google AMP is not the ultimate solution for mobile WordPress speed.

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:


 


 

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 Active installs: 200,000+
Downloads: 769,086
Retention: 26 percent
zip file size: 2.3M

AMP for WP – Accelerated Mobile PagesRetention: 10 percent
zip file size: 1.6M

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 Problem With AMP

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:

I feel this needs to be said very clearly: Google’s AMP is bad – bad in a potentially web-destroying way. Google AMP is bad news for how the web is built, it’s bad news for publishers of credible online content, and it’s bad news for consumers of that content. Google AMP is only good for one party: Google. Google, and possibly, purveyors of fake news… Pinboard founder Maciej Cegłowski already recreated the Google AMP demo page without the Google AMP JavaScript and, unsurprisingly, it’s faster than Google’s version… Anybody can cram an illegitimate idea into a web page and – so long as it’s encoded as AMP content – it’ll look like it’s from a legit new organization endorsed by Google.

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.”

John Gruber (again) writes:

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?

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.

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:

https://tech.slashdot.org/story/17/01/18/1455259/the-problem-with-google-amp


Google AMP Sucks from bigseo


https://daringfireball.net/linked/2017/05/20/gilbertson-amp


https://productforums.google.com/forum/#!topic/news/ixPneB4vpGk


Google AMP Is Not a Good Thing
https://news.ycombinator.com/item?id=13465467


https://www.theregister.co.uk/2017/05/19/open_source_insider_google_amp_bad_bad_bad/


http://www.osnews.com/story/29823/_Kill_Google_AMP_before_it_kills_the_web_


I decided to disable AMP on my site


 

How Elementor page builder affects mobile page speed.

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.6M download zip file. It’s 5.1M decompressed. 1.2M of that is Font Awesome. Why did they include that?

There’s speed overhead associated with Elementor page builder. It adds extra CSS and JS. But this speed difference is negligible for desktop audiences. For remote wireless mobile, it’s another matter. Read on.

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: 1 week ago
Active installs: 100,000+
Zip archive 1.6M
Retention: 9.2%

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, you can see a page builder would use up half of that. Most heavier mobile pages we test are around 500k to 750k. Our home page is 117k. The page you are reading now is 174k. You can see that an average page builder would be 5 to 10 times that weight – without any content!

Elementor has lots of features and is easy to use – especially for novices. We aren’t fans of page builders. From our past experiences – when themes include page builders – there’s always bloat. Page builders also have a learning curve. Much like learning a new computer operating system. Sometimes, page builders add as much as an extra 500k of CSS files – and 500k of Javascript files. That’s 1M of page-weight overhead. When questions came about how fast or slow Elementor was, we decided to test and satisfy our curiosity.
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.

Want to read a good article that compares how the major page builders affect WordPress speed. We didn’t write it. We wish we did. Read it at Primary Image in a new tab.

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 enqueueing) 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?

Our typical page weight for mobile speeds are in the 100k to 200k range. 20k addition is 10 to 20 percent increase. That doesn’t necessarily translate into a 20 percent increase in speed reduction. But, it’s revolting for a speed freak to consider an addition to every single page of a site (site drag). Of course, there are worse plugins. The 20k comes from HTTP requests for CSS and Javascript files. It may be worse with more features added – but we only tested for a best-case scenario. More about Elementor speed below.

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) 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.

Elementor plugin natively adds 41 milliseconds to every page load. A typical plugin only adds 1 or 2 milliseconds. A bad plugin adds 70 milliseconds or more. It’s hidden in the HMTL (PHP), not Javascript. Is that bad? It depends on how much you need to squeeze your site. Obviously, zero milliseconds would be best. It’s worse Elementor added Font Awesome. Font Awesome – and icon webfonts – are faddish and bad for mobile. Someday they will be replaced with faster solutions. A better solution is leaving Font Awesome out of the Elementor package, but that’s not an option presently. Let this “non-feature” be added with a separate plugin – if the site owner wants or needs it.

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.

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.

Delivering icons as a font is a hack.

Author: Tyler Sticka

We didn’t test with text or image content other than a single icon. 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. That is low by comparison to say Yoast SEO 70 milliseconds – 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? If so, 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.

Minification is “not” an important optimization tactic for mobile speed.

Minification is not an important optimization tactic for mobile speed.

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

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

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

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

Read PagePipe: Learn more about Gzip

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

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

Doesn’t minification increase the chances of site breakage?

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

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

Example: Before adding Autoptimize plugin.

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

After adding Autoptimize plugin.

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

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

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

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

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

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

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

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

So what breaks most often:

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

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

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

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

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

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

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

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

Feel guiltless if you drop minification.

What are our favorite Minification plugins?

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

★★★★
Better WordPress Minify

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

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

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

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

P3 Plugin Performance Profiler and mobile WordPress speed.

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 50,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.

★★★★
P3 (Plugin Performance Profiler)
Active installs: 100,000+, Zip archive 183k

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. We believe it – but how bad? We don’t know. 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! But we’re still waiting. Many hosts have already adopted PHPv7. We moved the version up a notch to 5.6 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.

Let’s look at some P3 results for PagePipe.com which loads in under 1 second. We use the free theme Magazeen-Lite (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. 52 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!

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.

Pareto principle is 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.

Here’s the P3 ranking results:

Name milliseconds percent cumulative
"SS Downloads" 120.50 30.47% 30.47%
"Easy Digital Downloads" 54.30 13.73% 44.20%
"Worth The Read" 39.20 9.91% 54.11%
"Easy Forms for MailChimp" 26.50 6.70% 60.81%
"WordPress 23 Related Posts Plugin" 21.70 5.49% 66.30%
"WordPress Popular Posts" 19.70 4.98% 71.28%
"WP Counter" 12.50 3.16% 74.44%
"Display Widgets" 9.90 2.50% 76.94%
"Redirection" 8.90 2.25% 79.19%
"Simple Drop Cap" 7.00 1.77% 80.96%
WP Experiments Free 6.80 1.72% 82.68%
Block Bad Queries (BBQ) 6.00 1.52% 84.20%
WP Super Simple Speed 6.00 1.52% 85.71%
Cache Enabler 5.60 1.42% 87.13%
Title Remover 3.20 0.81% 87.94%
WP Editor Widget 3.20 0.81% 88.75%
Pro Related Post Widget 3.10 0.78% 89.53%
Add Widget After Content 2.90 0.73% 90.27%
Quotes 2.90 0.73% 91.00%
Brute Force Login Protection 2.70 0.68% 91.68%
Disable Emojis 2.50 0.63% 92.31%
Imsanity 2.50 0.63% 92.95%
Email Address Encoder 1.90 0.48% 93.43%
Complete Analytics Optimization Suite (CAOS) 1.90 0.48% 93.91%
Perfect Pullquotes 1.90 0.48% 94.39%
mPress Image Refresh 1.80 0.46% 94.84%
Disable Comments 1.70 0.43% 95.27%
Plugin Logic Rules 1.60 0.40% 95.68%
Beacon Plugin 1.50 0.38% 96.06%
Change Table Prefix 1.50 0.38% 96.43%
Lazy Load XT 1.40 0.35% 96.79%
HW Image Widget 1.20 0.30% 97.09%
Simple Wp Sitemap 1.20 0.30% 97.40%
Far Future Expiry Header 0.90 0.23% 97.62%
Query Strings Remover 0.90 0.23% 97.85%
Ajax Heartbeat Tool 0.80 0.20% 98.05%
WP Content Copy Protection 0.80 0.20% 98.26%
Hide Featured Image 0.60 0.15% 98.41%
Remove Google Fonts References 0.60 0.15% 98.56%
Rocket Lazy Load 0.60 0.15% 98.71%
Shortcode For Current Date 0.60 0.15% 98.86%
WEN Responsive Columns 0.60 0.15% 99.01%
WP jQuery Plus 0.60 0.15% 99.17%
WP Media Size 0.60 0.15% 99.32%
WP Noframenoclickjacking 0.60 0.15% 99.47%
Current Year and Copyright Shortcodes 0.50 0.13% 99.60%
WP Author Date and Meta Remover 0.50 0.13% 99.72%
Easy Table 0.30 0.08% 99.80%
Simple Back To Top 0.30 0.08% 99.87%
Admin Post Navigation 0.20 0.05% 99.92%
Plugin Logic 0.20 0.05% 99.97%
One-Click Child Theme 0.10 0.03% 100.00%
Total 395.50

PagePipe.com Pingdom results:
340 milliseconds. 10 requests. 108k page weight.

  • Cheap, shared, magnetic GoDaddy hosting.
  • No paid or free CDN – or server caching.
  • Old PHP version:  5.6.
  • No paid plugins or themes. You can do it, too!

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 could do animated headers. But all plugins remained intact with a few exceptions which we will report at another time.

17 common slow plugins – and some faster speed alternatives.

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.


First up, Hollis claims you can increase traffic using an SEO optimization plugin. And he recommends none other than our favorite archenemy, Yoast SEO. Read our article about why Yoast SEO plugin is a waste of your time.

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:

★★★★★
Simple WP Sitemap

Active Installs: 30,000+, compressed download: 75k

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

Read more about why here on PagePipe

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:

★★★★★
Easy Forms for MailChimp
60,000+ active installs, compressed download 3.7 MB

We’ve written about why here.

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


Contact Form 7.
Not again!
This is the oldest and slowest contact form. Read our review of faster form plugins. We recommend as a faster plugin alternative:

★★★★★
Simple Basic Contact Form
Active installs: 8,000+, compressed download 88k

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:

★★★★★
Easy Digital Downloads
Active Installs: 60,000+, compressed download 4.2M

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 plugin THE 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:

★★★★★
WordPress Popular Posts
Active installs: 200,000+, compressed download 122k

PDF Embedder THE 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

and

★★★★★
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:

★★★★★
WordPress Related Posts plugin
100,000+ active installs, compressed download 1.7M

Revive Old Post THE 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 Footers THE 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?”

Akismet THE 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 Security THE 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.

How to remove query strings from static resources with a WordPress plugin.

WordPress by default adds query strings – “?” or “&” – to the static CSS and Javascript resources files used in your site. Gtmetrix, Pingdom, or Google’s PageSpeed Insights online speed tests urge removing these.

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

Remove Query Strings From Static Resources
90,000+ active installs, compressed download 2.5k.

Query Strings Remover
9,000+ active installs, compressed download 1.6k.

Remove Query Strings
800+ active installs. compressed download 5.2k.
Remove Query Strings From Static Resources Like CSS & JS Files
3,000+ active installs, compressed download: 2k.

Static Resource Cleanup by Removing Query Strings
100+ active installs, compressed download: 2.7k.

Zendy Speed: Query Strings
2,000+ active installs, compressed download: 1.8k.

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.

The fastest alternatives to heavy JPEG images for page speed.

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.

Our “Faster Loading Images for Mobile UX” eBook is 1,629 words.
Download the PDF for free.

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.

READ our article about online image optimization tools.

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.

BEFORE

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.

AFTER

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.

ruby hex color #c43a2c

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.

Overcoming MailChimp signup on Twenty-seventeen theme with no page section widget.

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!

https://wordpress.org/plugins/widget-shortcode/

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.

FINAL WORKING RESULTS

 

The prototype page on Twenty-seventeen theme:

MailChimp email service permits fast page loads.

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 default form colors and text.

WP Subscribe Features

  • Customizable text.
  • Add to multiple widget areas.
  • Supports MailChimp, AWeber and Feedburner.
  • Mobile responsive.
  • Free!

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.


16 Alternatives to MailChimp:

Get Response
1,000 list, $15/mo.

GetResponse Integration by GetResponse


10,000+ installs, 1M download.


SparkPost
Send 100K emails/month for free.

SparkPost


8,000+ installs, 35k download.


Active Campaign
1,000 contacts, unlimited sending, $17/mo., 14-day trial.

ActiveCampaign


10,000+ installs, 396k download.


Aweber
30-day free trial, $19/mo. for up to 500 subscribers and unlimited emails.

AWeber Web Form Plugin


10,000+ installs, 35k download.


Emma
10,000 contacts, $89/mo., free trial account
https://wordpress.org/plugins/emma-emarketing-plugin/
1,000+ installs, 73k download


iContact
500 subscribers, $14/mo

iContact Widget


2,000+ installs, 166k download


Constant Contact
Free trial for your first 60 days. 500 list size, $20/mo

Constant Contact Forms


100,000+ installs, 2.2M download


sendinblue
SendInBlue 9,000 free emails per month, unlimited contacts. There are daily sending limits and the SendInBlue logo is visible on all emails.
https://wordpress.org/plugins/mailin/
10,000+ installs, 2.7M download


madmimi
MadMimi – free plan for 100 subscribers.
https://wordpress.org/plugins/mad-mimi-wp/
100+ installs, 741k


activetrail
Target Hero – This free plan includes 1,000 contacts and unlimited emails. Target Hero requires SMS verification to activate an account. If you don’t text, you won’t be able to start an account.
https://wordpress.org/plugins/activetrail-free-email-signup-form/
100+ installs, 111k download


zender.sharptag
Send unlimited number of emails, no credit card needed.


mailerlite
1,000 subscribers, Unlimited emails / month, Free
https://wordpress.org/plugins/official-mailerlite-sign-up-forms/
8,000+ installs, 1.6M download


swipemail.io
Send up to 2,000 emails for free with our 30-day trial—no credit card required.


growmail.co.uk
send 500 Emails / month, free


mailigen.com/special/partnersprogram
forever free Mailigen plan starting with 3000 subscribers.
https://wordpress.org/plugins/mailigen-widget/
80+ installs, 435k download


freshmail
free, 2000 emails to 500 subscribers per month.
https://wordpress.org/plugins/freshmail-integration/
800+ installs, 184k download


benchmarkemail
Upload up to 2,000 subscribers and send up to 14,000 emails per month for free.
https://wordpress.org/plugins/benchmark-email-lite/
2,000+ installs, 89.2k download

Related Post plugins and mobile speed.

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.

38 free related-posts plugin candidates from the WordPress Plugin Directory

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.

Top 7 most-installed and their weight:

  1. yet-another-related-posts-plugin: 2M, 300,000+ installs
  2. wordpress-23-related-posts-plugin: 2.5M, 100,000+ installs
  3. contextual-related-posts: 1.2M, 60,000+ installs
  4. related-posts: 1.5M, 40,000+ installs
  5. related-posts-thumbnails: 219k, 30,000+ installs
  6. related-posts-by-zemanta: 1.4M, 20,000+ installs
  7. yuzo-related-post: 5.6M, 20,000+ installs

Notice how popular plugins are the heaviest – in the megabyte range. Typical. The rest were between 44k to 500k weights.

OUR TWO SPEED PICKS

WordPress Related Posts plugin
100,000+ active installs.
unzipped: 2.5M !!! Incredibly heavy.
last updated: 3 weeks

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.

OUR WIDGET CHOICE

Pro Related Post Widget plugin
unzipped 28k
introduced in 2014

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.

[table2]

plugin name,unzip,,thumbs,speed,creation,installs,updated
,,,,,,,
media-related-posts,5,,,,02/09/16,20,8 mo
perfect-related-posts,6,,,y,02/10/16,10,8 mo
smart-related-posts,8,,n,,04/21/16,10,1 yr
nifty-related-posts,13,end,y/n,,09/30/14,30,2 yrs
the-related-posts,23,end,n,,08/20/16,70,1 mo
flexi-related-posts,24,widget,,y,06/16/15,10,1 yr
simply-related-posts,27,widget,n,,10/23/16,500,2 yrs
pro-related-post-widget,28,widget,,,12/26/14,200,9 mo
lab404-related-posts,35,end,y,y,05/10/15,100,1 yr
nelio-related-posts,44,,,,12/12/14,20,5 mo
related-posts-mwip,44,,n,,07/25/16,10,2 mo
efficient-related-posts,45,end,,y,02/20/16,”6,000″,7 mo
super-simple-related-posts,62,widget,y/n,y,02/15/16,400,7 mo
related-post,77,,y,,11/08/14,”4,000″,1 mo
all-related-posts,95,widget,n,,08/11/16,500,1 yr
igit-related-posts-widget,114,widget,y,,08/06/15,200,1 yr
cp-related-posts,131,,y,,08/29/16,”1,000″,4 wks
quick-related-post,132,end,y/n,,04/27/16,60,4 mo
related-posts-by-taxonomy,141,end/widget,y/n,y,08/12/16,”8,000″,1 mo
modern-related-posts,166,end,,,04/23/15,600,1 yr
ark-relatedpost,170.9,,,,10/08/14,100,5 mo
related-posts-thumbnails,219,end,y,,07/14/16,”30,000″,2 mo
related-posts-for-wp,484,end,y,,12/30/14,”7,000″,2 mo
amity-related-posts,495,,,,10/16/15,30,11 mo
easy-related-posts,861,end/widget,,,09/15/14,”2,000″,2 yrs
os-related-posts,915,,y/n/slider,,12/08/16,10,10 mo
relatify,1800,end,y/n,y,03/21/15,100,2 yrs
contextual-related-posts,1200,,y/n,,05/30/12,”60,000″,4 mo
related-posts-by-zemanta,1400,end,y,y,01/21/13,”20,000″,1 mo
related-posts,1500,end,y,,04/09/14,”40,000″,1 mo
related-posts-lite,1600,end,y,y,10/02/15,900,1 yr
wordpress-23-related-posts-plugin,2500,end,y,y,11/05/13,”100,000″,3 wks
addthis-related-posts,2800,float popup,y,y,07/05/16,300,7 mo
relevant,2900,end/widget,n,,08/26/16,”2,000″,4 wks
yet-another-related-posts-plugin,2000,end/widget,y,,11/25/12,”300,000″,8 mo
contextly-related-links,3500,API key,,y,08/13/15,”1,000″,5 mo
related-posts-list-grid-and-slider-all-in-one,5200,grid or list,y,,08/08/15,”1,000″,2 yrs
yuzo-related-post,5600,end,y,y,07/24/15,”20,000″,3 wks

[/table2]

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

How we cheated the speed tests using Twenty-seventeen theme.

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.

Get a freebie graphics package for Twenty-seventeen theme >

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:

1
Autoptimize
Optimizes your website, concatenating the CSS and JavaScript code, and compressing it.


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.


3Disable Emojis
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.

  1. Far Future SETTINGS
  2. Set the expiration to 365 days (yes, 1 year).
  3. Select all the file types you are using.
  4. Select Gzip compression.
  5. Save.

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.


6Optimize Database after Deleting Revisions
Optimizes the WordPress database after cleaning it out. This flushes the deadwood from the MySQL database that WordPress uses. MySQL is provided by your hosting company.


7Query Strings Remover
Removes query strings from your static resources like CSS and JavaScript files. It will improve your cache performance and overall score in Pingdom and GTmetrix. No configuration needed.


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.


 

Lazy load images and video for mobile speed.

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.

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
(download 287k)

Last Updated: 4 years ago
Active Installs: 20,000+


Ajax Load More – Infinite Scroll
(download 927k)

Last Updated: 2 days ago
Active Installs: 20,000+


Ajax Pagination and Infinite Scroll
(download 34k)

Requires some code knowledge to work for most site. Unless you are using a default WordPress theme like Twenty-fifteen, etc. Adds about 40k to global page weight (site drag) and a few HTTP requests.

Last Updated: 1 month ago
Active Installs: 2,000+


WP EasyScroll Posts
(download 807k)

Last Updated: 6 months ago
Active Installs: 300+


Infinite Scroll and Load More Ajax Pagination
(download 48k)

Last Updated: 11 months ago
Active Installs: 1,000+


YITH Infinite Scrolling
(download 1.3M)

Last Updated: 7 months ago
Active Installs: 7,000+


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).

Our Favorite Lazy Load Plugin

★★★★★
Rocket Lazy Load
Active installs: 8,000+
updated: 5 months ago
All Time Installs: 40,533
Retention: 19.7%

What we like most: No JavaScript library such as jQuery is used and the script weight is less than 6kb.

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 have conflicts with other plugin’s shortcodes on a page or post.

Using the Lazy Load for Videos plugin can save 500 to 700 miliseconds in page load time. Studying of 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: 3 months ago
Active Installs: 5,000+
All Time Installs: 61,506
Retention: 8.2%

We’re still discovering more about the Lazy load for videos plugin. It appears a more recent version is on GitHub – even though the version number is the same. We saw a blog mentioning that the WordPress repository version wasn’t being updated. But that may be gossip.

One thing we’ve found is an option to “Hide-related Videos” with a checkbox. The feature was added in the last update. This sounds like a good thing if you don’t want to send viewers off to watch competitors YouTube videos.

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. 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: 4,000+
Last updated: 1 year ago
All Time Installs: 18,672
Retention: 21.4%

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 when loading images and video. It uses a fade in method. It works and defers about 500k page weight on video heavy pages.

Misunderstood “Asset Queue Manager” speed plugin has great performance potential.

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:

Eliminate render-blocking JavaScript and CSS in above-the-fold content.

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.

★★★★★
Asset Queue Manager
101k compressed, 1,000 installs.

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.

up-in-the-corner
That’s it “Assets” on the front side of the page. Not the dashboard side. Up there in the top right corner of your screen. Click it to open up the control panel for the plugin.

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.

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

Oh, and it’s weightless and free. Perfect.

Popular plugins usually aren’t the best for page speed.

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.

https://premium.wpmudev.org/blog/dont-waste-time-improving-your-wordpress-site-search/

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 Petroski is 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.

Speed optimization for mobile WordPress websites is our specialty.

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.

Tested on a cheap, shared, Linux server.

Learn More Plugin Speed Tricks

What slider is the fastest loading?

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.

Also, there’s a good slider-speed article over at WP Rocket >

They said:

“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.

Seven expert testimonials that sliders suck. Free PDF >
1 page, 7×11 inch, b/w, 22k, PDF download

Great online demonstration of how frustrating sliders are >
Offsite HTML slider demo page

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.

Offsite article about sliders >

Update on Gzip Compression

Gzip compression speeds up text based file transfers. It’s not applied to image files. But it does compress HTML, Javascript, PHP, CSS, and others by 50 to 70 percent. The load time improvement can be noticeable.

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/

Or this one: https://checkgzipcompression.com/

Example – Our PagePipe Gzip results using online tests:

  • Page size (uncompressed): 31,766 bytes
  • Download size (compressed): 6,728 bytes
  • Bandwidth saved by compression: 78.8%

If your host isn’t providing automatic Gzip compression, then use 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.

The fastest jQuery is the one you never have to load.

Some WordPress themes load fast because they don’t activate jQuery JavaScript functions. External JavaScript calls temporarily block web page rendering. Google Chrome is working to remedy this by moving JavaScript. This future feature is like deferred, lazy-loading images that appear below the web page fold. But that addition to browsers isn’t here yet.

Continue reading “The fastest jQuery is the one you never have to load.”

How WordPress Emojis affect page speed.

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.

https://www.youtube.com/watch?v=yQaRUEwEKxE

About Video Published on May 8, 2015

Andrew Nacin walks step by step through how a critical security vulnerability was discovered in WordPress core code and then patched using emoji as a trojan horse in WordPress 4.2.

How the ShortPixel plugin eliminates needless web junk.

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:

  • Download time.
  • Offline printing time.
  • On-screen visual quality.
  • Readability.

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.

NOTE: Here’s an online PDF compression tool: For one-at-a-time, manual compression of PDFs, visit http://www.verypdf.com/online/free-pdf-compress-online.php >

Evergreen Content: Expired dates diminish site credibility.

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.

For PagePipe’s site theme, we removed the data stamp and category of posts. We did this for all posts by adding the following CSS code to our child theme:

/* Remove entire Post entry footer */
.entry-footer {
display:none !important;
}

expiredA 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.

We also like: WP Author, Date and Meta Remover, Last Updated: January, 2017, Active Installs: 50,000+, 4.1k download size.

How to add a computer copyright date stamp.
Jonradio Current Year and Copyright Shortcodes is a perpetual copyright plugin for WordPress. It provides Shortcodes to display the Current Year and/or a Copyright symbol. One shortcode inserts the © Copyright symbol, a blank and the current year. Place this plugin’s shortcode almost anywhere. We used a footer text widget.  You’ll always appear fresh and up to date.

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.

Is Jetpack bloated, and slowing things down?

Plugin description from wordpress.org/plugins/jetpack/

“Jetpack adds powerful features previously only available to WordPress.com users including customization, traffic, mobile, content, and performance tools.”

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’ve done some research and some testing, and here’s what we’ve found out:

Weight matters
Size of WordPress decompressed: 18.3MB
Size of Jetpack decompressed: 23.5MB
Jetpack file size is 130 percent larger than the size of WordPress.

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 almost 130 percent as much as the entire size of WordPress itself. In other words, take the weight of WordPress, add almost 30 percent to that, and that’s the weight of Jetpack. 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:

Naked (No Jetpack)
First-visit speed (empty cache) 802 milliseconds
Subsequent-visit speed (primed cache) 608 milliseconds

Loaded (Jetpack installed and activated)
First-visit speed (empty cache) 3.13 seconds
Subsequent-visit speed (primed cache) 995 milliseconds

Test conducted on WebPageTest.org.
Theme: Omega, a fast and free theme.
Page weight: 7k.

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.

Jetpack
Modules used: Contact Form (Akismet Anti-Spam plugin required), Widgeted Tiled Gallery, Carousel, Site Icon, Extra Sidebar Widgets.
First-visit speed (empty cache) 1.633 seconds, 19 components, 309k weight.
Subsequent-visit speed (primed cache) 1.1 seconds, 5 components, 169k weight.

Lookalike third-party plugins
Plugins used: Simple Basic Contact Form, Image Widget, Tiled Gallery Carousel without Jetpack, Favicon.ico upload via FTP
First-visit speed (empty cache) 1.45 seconds, 17 components, 152k weight.
Subsequent-visit speed (primed cache) 673 milliseconds, 1 components, 5k weight.

About Extra Sidebar Widgets – 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. November 18, 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.

Test conducted on WebPageTest.org.
Theme: Omega, a fast and free theme.
Page weight: 7k.

Another alternative: Unplug Jetpack plugin

Calling cloud-based web functions slow down page load time. 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.

“Unplug Jetpack” plugin contains only two files. One is the read.me file and the other is a Javascript file that weighs only 1.2k decompressed. It requires installing Jetpack first. By default, “Unplug” switches off all cloud-based functions and leaves the remaining modules activated. You then go through the list and deselect the remaining functions that aren’t needed.

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 35 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.


While we don’t agree with everything on this offsite blog post, it’s a good overview of Jetpack. It’s biased in favor of Jetpack and it’s bloat.