Home » backups

Tag: backups

Website maintenance for WordPress

Gone are the days when you would set up your web pages and you would be done for the next 10 years or so. In today’s world, most websites require some sort of maintenance work and that is especially true for WordPress.

Why is maintenance important?

The number one reason is security. Your site is not alone. It exists in an ecosystem and it is connected with many other systems for it to work and do its job. All of this is in a continuous state of change. Change means that potentially new software problems are introduced that could affect your site. This change also means that new security exploits are discovered that could make your site vulnerable.

Unless you are a security expert and keeping on top of web security issues is your job, it is a daunting task to keep up with all this change. I get it. But that is no reason to just give up on it entirely.

At the very least keep your website components updated (core and plugins) and have good backups in place [link to backups].

The second reason is to continue to be relevant. As the services and business around you evolve, your website needs to evolve to keep up or even to lead the way. So maintenance, in this case, can go from simple website updates to constant incremental improvements so that your users’ experience gets better and better. The most common issue here is that integration points with other services change and without a maintenance plan in place, your site would just stop working at some point.

The third reason is to make sure your website is still functioning properly. You don’t want to hear from your customers that your store is not working. How many sales did you lose before someone took the time to contact you? You don’t want to wait months to discover your most valuable page is broken and so Google dropped it from the search index. The solution here is to have a test plan in place. Once a week you could check your home page, your purchase process, and the signup process and make sure they work. For bigger businesses, an automated test plan may be a better solution.

The Cost of Website maintenance

There is a cost for maintenance. That is time if you need to do it yourself, or money, if you need to hire someone to do it for you.

Instead of thinking just in terms of costs and maybe decide not to do it, ask yourself how much would it cost you in the long run *not* to maintain your website. In that sense, maintenance is a form of insurance that you pay for your peace of mind. It can also be an investment that you make in your business growth.

How to do it?

At the most basic level, you need to keep your software updated. For WordPress, that means updating to the latest stable version, and also updating your plugins. It also means that you delete (not just deactivate) old plugins that you no longer use.

A more intermediate level would also include some database operations to keep lean, optimized and fast.

For more advanced users you may have to hire someone to do this for you constantly: monitor the uptime, make sure that the core business processes are still functioning, check the integration points and update the software as required, optimize for performance and so on.

The Take-Away

Don’t ignore maintenance. When you build a new website make sure you include a budget for it and that you also discuss it with your developer. And if you already have a website, you should also have a maintenance plan in place.

Do you have any “lessons learned” the hard way? I’d love to hear about them in the comments below.

To Backup or not to Backup

Some years ago I had the opportunity to work alongside a veteran software developer. That was a treat for me and also a way to learn big lessons fast.

I remember being overconfident in my abilities, fresh out of school, and making silly mistakes when all that knowledge had to be put into practice.

I wanted to be quick, and agile, and free! I wanted to get in, fix the problem and move on!

But there was an incident that taught me a valuable lesson.

The server we were managing got hacked and crashed.

Working alongside the Veteran we managed to identify the security vulnerability, fix it and then restore the website within 6 hours. This was a big and popular forum. 6 hours recovery time was much shorter than the couple of days that this usually takes.

Shortly after restoring access, I heard from one of the members saying: “The way you recovered from this and the speed at which you did it is nothing short of impressive. In my career, I have worked for big software companies and none of them have in place such a good recovery plan.”

I could not take much credit for that, so I decided to pay attention to “the Old Veteran” because it was clear now he knew was he was doing :).

The Importance of Backups

We were able to bounce back so quickly because we had backups. Now only that, but we had versioned backups. Meaning we could go “back in time” to before the problem, see what changed and fix it. And then restore almost all of the user data, with minimal loss. Without versioned backups, this process would have been long and tedious and I do not know if we would have been able to spot the point of entry.

This is a happy ending story and here is what I have learned:

1. You always do backups – even if you think you don’t need them.

2. You test your backups – an untested backup is no backup. I have a story here where a client was paying their hosting company for a remote backup system and when the time came to use it, the backups were corrupted and so not usable.

3. You never delete things – you rename them and then archive them – this way you can always retrace your steps back to something that was working

4. When writing software you always, always use source control – which is basically a system that does smart backups of your work that allow you to “go back in time” and fix problems.

A beginner’s mistake- “I am too good for Backups”

As I have said, fresh out of school, I had bright ideas and I wanted to move very fast, but I did not ever have to deliver work that was used by real people, in a real situation, facing potential attacks from real online threats.

When you are prototyping and testing out an idea, it is OK to be quick, because if the idea is bad or not useful, you need to find out fast. But once you have something that you want to build out for the long term, then you need to switch gears and sacrifice reaction speed for being more organized.

I confess that this did not make sense to me for a long time. But as I worked in bigger and bigger projects it became obvious how the “slow work” of thinking of a structure to organize your code, setting up source control and doing backups was actually the fast lane. Why? Because it reduces risk and allows you to easily maintain the project as you move forward.

The opposite of this is working at neck-breaking speed, not “wasting time” with backups or source control, in order to put something on the market quickly. All the projects that I managed or I was a part of, that did not put in the time to be organized, eventually ground to a halt and had to be abandoned or rewritten.

I have done this mistake enough times to learn my lesson: for quality and sustainable work always do backups and use source control.

Client’s point of view – Do backups make business sense?

It is now obvious for me that backups are not just a good idea. But why should you care about them?

It depends on how well you can manage risk and how important is your data and your customers’ data to you and your business.

If you can afford to lose it all, then you don’t need backups.

If you can afford the downtime of having to rebuild your application from scratch, then you don’t need backups.

But in my opinion, good backups are a cost-effective way to mitigate the security and data loss risks associated with running an online business.

Do you have a backup policy in place? And if you do, have you tested your backups lately to make sure that you will find in there what you expect to find?