Save the Internet from WordPress speed abuse.
Updated: November 2017
9 minute read
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:
|"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%|
|"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%|
|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%|
|Brute Force Login Protection||2.70||0.68%||91.68%|
|Email Address Encoder||1.90||0.48%||93.43%|
|Complete Analytics Optimization Suite (CAOS)||1.90||0.48%||93.91%|
|mPress Image Refresh||1.80||0.46%||94.84%|
|Plugin Logic Rules||1.60||0.40%||95.68%|
|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%|
|Current Year and Copyright Shortcodes||0.50||0.13%||99.60%|
|WP Author Date and Meta Remover||0.50||0.13%||99.72%|
|Simple Back To Top||0.30||0.08%||99.87%|
|Admin Post Navigation||0.20||0.05%||99.92%|
|One-Click Child Theme||0.10||0.03%||100.00%|
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.
Mobile WordPress Speed – without coding!
What others think of us: