Website Plugins – When Less Is Definitely More
Plugins. Every CMS has them, and there seems to be an endless supply of them too. If it doesn’t happen natively in your website you can bet someone out there has had the same issue and someone else created a plugin to resolve it.
While plugins are a fantastic way to avoid expensive customisation options, too much of a good thing can be a very bad thing for your website. Not only do plugins add scripts which increase loading times, they can conflict with each other and cause serious performance issues such as database bloating. Ideally, you’d want a plugin-free website, but that’s not a plausible solution for most people.
So what can you do to minimise the negative impact? Let’s take a look at some of the most common plugin categories and find out why exactly they can cause more problems than they solve.
These plugins come in many different shapes and sizes. Some deal with a specific issue, while others will try to tackle everything that could help improve performance. While these plugins generally improve a website’s speed, most users don’t understand what they actually do which can lead to a lot of broken scripts and parsing errors.
A lot of people chase Google PageSpeed Insights scores trying to capture the elusive green circle. The recommendations in the audit should be carefully considered. To Google, the best websites will have no impeding scripts and minimal server calls. This means essential scripts for your website and tracking software will be flagged as negative (even Google’s own CDN and tracking codes show up as render blocking).
You’ll be encouraged to remove, defer or load the offending scripts asynchronously. Doing so without understanding what those scripts do and how they interact with your website will almost always result in errors and issues. Google PageSpeed Insights is a best practice guide and should by no means be used as the foundation for your optimisation. Instead of chasing performance scores, you should only consider performance plugins if your website’s performance is noticeably bad.
If a webpage takes longer than 3 seconds to load, around 70% of users will close the page. This is when your performance is important. At that point, you should spend some time figuring out exactly what’s causing the performance issue and look for native ways to resolve them (merging scripts and removing unrequired ones for example) before throwing in a performance plugin and hoping for the best.
Content Editors (Block Editors)
Content Editors allow users with little to no coding experience the ability to create dynamic and engaging pages on their website through the use of “drag and drop” elements. These plugins are constantly developing as technology advances, some even allowing users to create full CSS animations in a few simple clicks.
Amazing, right? So what’s the downside?
Performance. These plugins are complex and house a lot of features (most of which you’ll probably never use). A page designed with a Content Editor will almost always load slower than a standard coded page. This is due to a couple of reasons.
Firstly, it’s not just what you’ve used or what you need that will be called from the server when the page is loaded. All those extra bits you probably won’t use still need to be processed when the page loads, and that requires resources. Some of these scripts will load on every page, even those which don’t use the plugin.
Additionally, the more elements you use, the more scripts will need to be processed. Every single request to the server increases load time, and you can quickly see a “small” page turn into a monster to load.
Secondly, all the scripts that are needed to display your beautiful content aren’t just being pulled from the website as they usually would. There’s some additional back and forth between the website, plugin and server. Essentially the plugin has to communicate with the website which connects to the server, this returns the information to the website which is then passed back to the plugin. The information is parsed and displayed for the user.
That’s not to say every page made with a Content Editor will be slow or unusable, but if your website has a lot of other scripts running at the same time, they’ll all need to be processed before the page is loaded.
Analytics and Tracking Plugins
For those who aren’t too savvy with external analytical tools, there are many plugins that offer an in-site analytic dashboard for you to track pretty much everything that happens on your website. These range from simple user counters to an extremely detailed and granular analysis of users, product sales and overall performance.
While these plugins can help you avoid the analytic software learning curve, they are almost always extremely resource heavy and have to run or update continually. This is fine if you have a few people browsing your site every few hours, but if you have an active eCommerce site, each and every interaction from your users will be logged resulting in excessive calls to your server and database.
We would always recommend taking the time to learn how to add scripts to your website with the amazingly user friendly Google Tag Manager, and find out how to look up some basic metrics within Google Analytics. These tracking scripts will still pull resources, but the bulk of the work is done by Google’s servers leaving your website with a lot more room to breathe.
Slider / Image Carousel Plugins
Huge sliders at the top of your homepage are slowly becoming a thing of the past, and for good reason. Not only do these sliders take up valuable real estate, the scripts they use are heavy and the images they display are large and take up a lot of resources to render. If you throw multiple images into the mix and start adding transition effects, before you know it your slider is the biggest resource hog on your entire website.
If you need to use a slider plugin to display deals or important information on your homepage, it’s important to make sure your images are as small (file size wise) as is possible and you use as few as you can. Be aware too that some sliders use elements which trigger AdBlock software, so your resource heavy display might not even work for most of your users.
Be sure to check your page load times before installing a slider or carousel plugin and compare them after, and also install an AdBlock plugin on your browser to ensure it isn’t incorrectly flagged and blocked. If there’s no significant increase in load times and your images show on all browsers with and without AdBlock, you should be fine to continue using it.