Something I get asked a fair bit by customers with existing WordPress sites is “How many plugins are too many?”. 

Well it depends.

Firstly let’s just have a quick look at what a WordPress plugin actually does. It is essentially some software that extends the core functionality of WordPress to do something that it doesn’t do out of the box. They’re pretty much apps for your website. 

One of the reasons WordPress is so popular is because it is so extensible through plugins. 

If you need a certain feature, well there’s a plugin for that!

It sounds great, and it can be, however plugins carry a certain amount of risk that needs to be understood and managed.

Every plugin that you add is something that can break (now or in the future), it is something that is written by someone other than the core WordPress team (so could potentially do something nasty), and it also may not play nicely with other plugins that you already have installed.

So you can end up with situations where your site ends up getting hacked, runs super slow, you get weird errors or it doesn’t work at all.

The general rule of thumb is to only use what you really need and be aware of developers that aren’t really developers that get around their lack of knowledge by cobbling together a solution by using a bunch of plugins. A tell tale sign of a shonky site is one that has many different plugins from many different authors other than the developer that do very simple things like add sliders, galleries etc. 

You can’t really say all plugins are bad and put a number figure on the max limit. Plugins are a great way for developers to isolate functionality. Often if I’m adding a feature to a site, I will code it into a plugin so I can maintain it separately from the rest of the site.

E-Commerce sites in particular often need quite a few extra plugins for things like payment gateways, shipment tracking, accounting systems integration and stuff that is unique to the site (not everyone uses Xero and ships via Australia Post for example). So you’ll find more plugins on an e-commerce site than you would on a “brochure” style website.

So the bottom line is it is really about quality over quantity. 

Have a look at who has written the plugin you are thinking of using. If it is a free plugin from the WordPress repository, have a look at their support forum and see if people are reporting any issues with it. How do they respond to issues? Are they on the ball, or do they take ages to reply?

Have a look at when the plugin was last updated, if it has been updated recently then that tells you that it is actively maintained and less likely to be problematic.

Keep in mind that just because a plugin is in the WordPress repository doesn’t necessarily mean that it is endorsed by WordPress or that it has been extensively checked and guaranteed not to cause issues.

If it is an e-commerce plugin, who’s selling it? Do they have reviews or a Facebook page you can check out? Do they offer a money back guarantee?

If you’re not sure whether a plugin is right for the job, or you’re worried your site is having issues because of plugins that you’re using. Ask a pro to take a look for you.

This morning I was sitting in the waiting area waiting to get some blood taken for a routine old bastard test. All of a sudden my phone started going off with SMS messages advising me multiple web servers and sites were down. Crap!

A quick check at the network status of the upstream provider confirmed there were some network issues, so I started notifying clients and began to prepare to execute their failover plans to keep everything on the air.

Luckily service was restored within about 30mins and by the time I got to my desk everything was back to normal. Phew

However it reminded me of a hard lesson I learnt about five years ago when working at a company whose primary source of income was online sales from three different websites.

It was early December, and the company’s websites went down. All three revenue streams, down.

Initially we weren’t too stressed, thought it would just be a temporary glitch. After all we had outsourced the web hosting to a reputable company and were paying a pretty penny to do so.

However after numerous support requests and phone calls, it ended up dragging on for twelve days. The hosting company eventually stopped answering phone calls, their own website and email services were offline and attempts to get in touch with them failed. Not soo good.

Eventually service was restored just in time to salvage some sales, but we were way down on target, only just broke even, and went into the notoriously quiet start of the new year without the buffer that a good December usually provides. Anyone that relies on retail sales for a living will tell you the pre christmas period is where a good portion of the years sales are made. Jan and Feb can be quiet months as peoples credit card bills start rolling in and they get settled back into the real world.

The lesson learnt was quite a simple one really, Don’t put all your eggs in one basket.

This lesson led me to schooling up on cloud computing and studying for the AWS Solutions Architect certification from Amazon Web Services. Back in those days cloud computing was still kind of new and not really accessible to small to medium sized businesses.

Where were all the eggs?

Let’s just back up a bit for those that may not be too techy and have a look a the things that go together that make a web site work.

At its basic level for an online presence you need.

  1. DNS. Like the internets telephone directory, you need an entry on a server that tells people looking for that it lives at IP address
  2. The Web Server. To store and serve up your web site.
  3. An Email Server. Because you want email, right?

Old school web hosts and even many still about today host all of these services on a single point of failure. An outage will typically affect your entire web presence.

Why is this particularly bad?

Where things can go really pear shaped is that often your backups will be stored on the web server, so unless you have downloaded your recent backups on a daily basis and kept them somewhere on your own computer you don’t have access to them.

Chances are you don’t have a local copy of your backups, because right next to the part telling you that the web hosting provies 99.9% uptime there was a part that said Backups included.

Backups are useless unless you have access to them.

The other thing that is also a right pest is that if you can’t get at the DNS records, moving the site becomes a much harder task. Not to mention the fact that redelegating a domain usually means having access to your email, which you don’t have because that was bundled into your hosting as well.

So things can go to shite pretty quickly.

Mitigating the risk

So let’s have a look how we can make sure we don’t end up in a pickle when things go bad.

The first thing you need to figure out is how much downtime can you afford? Hours, Days, Weeks? At what point does an outage really start costing you money?

Of course the answer will determine your monthly spend, so be realistic. Think of it like insurance. The more coverage you want, the higher the premium.

Moderate availability 24-36 hours

This is what I recommend as an absolute bare minimum. It is the most cost effective and the easiest to set up.

In a nutshell it revolves around isolating each of the moving parts and having a seperate accessible place to put your backups.

So let’s look at a common solution.

1. Use a service that specialises in managing DNS.

are some that come to mind.

2. Use a VPS for your web hosting

VPS stands for Virtual Private Server and is the mainstay of cloud based computing.

Basically it allows us to have our own mini server in the cloud, plus spin up more very quickly if we need to.

Once the realm of the linux nerd, it is easier these days to host your site on a VPS thanks to managed services like :

3. Have a place in the cloud for your backups

Make sure your web server backs up to a place that is not itself. Cloud based storage solutions are extremely reliable these days, safer than storing a backup on your own computer and likely safer than storing it in a bank vault.

Options here include :

4. Use a dedicated email provider

Much more common these days than it used to be, but people still get suckered into the all in one packages.

Keep your email separate.

Services like

  • Gmail (Gsuite so you can have @yourdomain)
  • Amazon Work Mail
  • MXRoute for a more budget friendly option.

The failover plan

In this set up the thing that is most likely to fail is the web server. The dedicated provider you'll for your other services have their own redundancy in place.

When did you last see Google go offline? Or Amazon for that matter?

So let’s say we have a failure at the web server level that can’t be fixed easily, it is getting towards our maximum window of pain, what do we do?

  1. Spin up a new VPS maybe with another cloud provider.
  2. Restore the website from your cloud backup
  3. Change the DNS record to point to the address of the new VPS.

That’s it, you’re back online.

High Availability

I was going to discuss some high availability architecture but it is probably outside the scope of this blog post, and I could end up going on for hours talking about stuff nobody is particularly interested in. Especially not site owners as they just want their stuff to work.

Let’s just say that if you want higher availability in the event of a service failure, or even during periods of high load (you are running a big promotion, or a blog post goes viral) there are ways to set it up.

Aarrrggh not another one you're thinking. The internet is full of these posts, and it is usually written by someone pushing their own barrow.

Well I kind of am too, as I develop for WooCommerce, however I certainly don't think WooCommerce is the right fit for everyone. Often when talking with potential clients, I'll even recommend their best bet is to use Shopify.

So rather than tell you about the differences in the platforms, and the pricing (there's a bunch of info on that elsewhere) I'm going to explain why I develop for WooCommerce from a developers point of view.

The simple answer ; clients come to me wanting me to build something for them around their business. To give my clients exactly what they want, I need a platform that is infinitely flexible and customisable. I'd be offering my clients no value at all if my default solution was to just shoe horn their business and business model into a rigid system.

So it is all about flexibility and customisability

I've got control over all aspects of SEO and being based on WordPress a good content marketing is really easy to achieve and make work effectively.

I've also got flexibility when it comes to choosing the right payment gateway that suits the clients needs. Shopify can get a bit expensive and restrictive there, especially if customers have high value, low margin products the fees can really take a good bite out of the bottom line.

Performance, backups, and reliability are also in my court. With the right technology stack I can get a WooCommerce site super fast and reliable, plus making offsite backups and exporting order data and customer data is trivial.

Not to mention I can also make the site look the way that works best for the client and the clients customers.

And then there's different types of e-commerce. It's not all about selling t-shirts and hats, WooCommerce allows me to offer solutions for bookings, deposits, subscriptions, software downloads & licensing and many more.

If it revolves around facilitating a transaction between two parties using the internet, chances are we can build it with WooCommerce.