Site Speed Problems

Using more plugins to compensate for bloat caused by other plugins! There has to be a better way.

Testing

I set up an account with WPMUdev. The service is great. I set up a test site, a clone of the existing Clickforcharity site, to test how much faster this would be.

Before Transfer

https://gtmetrix.com/reports/clickforcharity.net/yTRsw8CX/ hopefully that will be persistent.

After Transfer

GTmetrix has a comparison, https://gtmetrix.com/compare/t8DsgLlk/uEefbTtt – really not a huge difference between a host that is providing me hosting for 20 sites and one that will host one site for twice as much.

Mostly I have to conclude from this that the way I have done the site is abysmally bloated. I notice for example the number of scripts served when you hit the home page is ludicrous. Even just CSS alone is… well I can’t be bothered counting. I can see in the browser’s inspect panel, most of those styles are busy overriding each other.

And adding more plug-ins to debloat the thing? Reminds me of how “she swallowed the spider to catch the fly”.

A Possible Solution

I think the best thing to do is to go through the whole site and replace the bloat with task-specific code. This might mean taking BuddyBoss and adapting it to suit our specific needs. The same goes for the other plugins, where possible.

An Interim Solution

In the meantime, I’ve abandoned the Youzer BuddyPress social system along with its need for other bloat plug-ins and the theme too. I’ve replaced it with the BuddyX theme and BuddyBoss plug-in. There is a simple plugin to prevent brute force attacks on WP and I have disabled sign-up so now only invited people can join. Only logged in users can comment etc. I will add a form for people to fill in to ask to be invited. That should keep out spammers, bots etc.

And possibly we can use some tricks to overcome the worst of the bloat until we can remove it! I tried enabling as much stuff as I could on the new WPMU dev site. Retest results:
https://gtmetrix.com/compare/ufrpNwaw/DmHxO3FO
The WPMUdev site is significantly better.

So I will go ahead with WPMUdev membership and aim to solve the root of the problem over time.

Unfortunately, WPMUdev has really restricted email quotas, only 10 addresses and no catch-all, and I am not sure I can make the email point to our existing servers while pointing the domain and www to WPMUdev while still having everything work. So, I am going to have to wait till we have someone who understands all that better than I do.

Speed Troubleshooting

After turning off plugins and gradually reintroducing them it became apparent that about 70% of the slowdown was due to Youzer and the other plugins it depended on. The other 30 was primarily Wordfence. I’ve replaced Wordfence with a simple log in restriction plugin.

Redundant

Below is old, keeping for reference:


Javascript parsing

Looking at the results for clickforcharity.net it seems the biggest speed hog is javascript parsing. There is a good explanation and solutions on kinsta.com.

Using async javascript on Clickforcharity for now. Adding code to functions.php would be more efficient but would require the use of a child theme. Set it to “defer”. Jquery set to “exclude”. -forgot to click “enable”.

gtmetrix.com
made a difference…

Browser Caching

Could use the .htaccess file for this but trying out WP total cache plug-in. Only using it for browser caching, lazy load and the rest is disabled. Prob. better to use .htaccess and find a simpler way to do lazy loading.

still, lots to do!

Script Optimizations

Tried out w3 total cache and Autoptimize but they mess up the admin interface with crappy spam upselling stuff so I deleted them. Will have to spend more time and figure how to do it efficiently. they do too much anyway… bloat.