Using more plugins to compensate for bloat caused by other plugins! There has to be a better way.
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.
https://gtmetrix.com/reports/clickforcharity.net/yTRsw8CX/ hopefully that will be persistent.
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:
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.
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.
Below is old, keeping for reference:
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.
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.