Every Website Will Break (Eventually)

I know – the headline sounds dire. And, to some degree, it is. But I’ve been thinking about this a lot lately and I feel like we, as designers and developers, should have an open dialogue.

Recently, after a spate of websites I maintain faced a variety of problems, I came to a stark realization: Every website I’ve ever worked on is probably going to break at some point.

We’ll get into the reasons why in a second. But, let that last statement just sink in for a moment. Now, do you get that sinking feeling in your stomach, too?

Is it true? How can this happen?

Sadly, I do believe it’s true. And I actually wonder why it took me so long to figure it out. Maybe you were a bit more on-the-ball and realized it long before I did.

Every website will turn to rubble, eventually.

As to why a website is going to break – there are a number of reasons for that. Just a few of the possibilities include:

CMS Core/Plugin/Theme Conflicts

Any website that is built on a content management system like WordPress, Drupal or Joomla! are bound to run into a mischievous software update sooner or later. Different parts could then conflict with each other – resulting in anything from a small display issue to an inaccessible site.

Legacy Code

As programming languages like PHP evolve, some methods for coding become deprecated and (eventually) unsupported. When that happens, older code can break as web hosts routinely upgrade their software versions.

Security Holes

Nefarious bots are constantly in search of poorly coded and outdated sites. They scan for security holes, both known and unknown, and can do all sorts of damage when they find the proper victim.

Hosting Woes

Sometimes, a website goes down simply because a web hosting service is failing. It could be that a cheap account is overloaded with sites and slows to a crawl. Or, any number of hardware and software issues can occur. And, in some cases, data loss is a possibility (I’ve seen this one firsthand – it’s not pretty).

Not to sound paranoid, but there are a number of forces conspiring against us in our quest to create a website that works in perpetuity.

What can we do about it?

On the bright side, there are plenty of things we can do to make websites stronger. Using best practices in your code, only using trusted plugins and third party services, and putting security measures in place can all make a positive impact.

Those things will make both us and our clients feel good – and we should. Doing the best job you possibly can is something to be proud of. And it may, in fact, lessen the chances of something breaking.

Still, sometimes we’re all subject to factors that we can’t possibly control or even predict. While we can take many steps towards stability – there’s still no guarantee. This is especially so for freelancers and small agencies.

Larger entities most often have more resources and redundancy in place. This helps to keep things running – even when there is a problem. But, even then, problems can still strike. Anyone who tried to buy a NES Classic Edition during the holidays saw it firsthand as the crunch of sales crashed many a site (including Amazon).

A New Approach

Since the bulk of my career has been spent freelancing, that’s the lens I see things through. Without the resources to build up a ton of redundancy or pay hefty prices for regular code audits, the odds seem especially stacked against us small-timers a bit.

There are other, less expensive ways to keep on top of things, though. Following the latest software and developer news can give you a hint about possible problems coming down the road. Using an uptime service will at least let you know when a problem does occur. And being judicious about applying updates can save some unwanted headaches.

Constantly watch your websites.

Perhaps the biggest thing we can do is to change our thinking. Rather than pretending that we’ve created a bulletproof website, admitting that the thing is probably going to have a hiccup or two down the road is a more realistic approach.

With that new approach, we can become even more motivated to stay on top of the latest developments and be better equipped to handle problems when they arise. In the end, preparation may be the best line of defense against the inevitable.

What’s your take? Is it possible to build a bulletproof website? Let’s discuss in the comments!

Comments

  • Jordan Stephens

    As a web developer, and freelancer, I’ve found it is extremely important to inform the client of this issue. Then, when things break, they will be less inclined to try and fault the developer, but rather more inclined to pay for the maintenance needed to keep it up and running. Great article!

  • karks88

    Thank you! And yes, clients should know that there is always a possibility of something going awry down the road.

  • Emin Özlem

    As I mentioned in Adv. WP group on FB, I think your best bet to build a “bulletproof” or “timeless” website is pure ( heisenberg’s meth pure) and -good- old (geocities old) HTML.
    Also I think we should rethink the way we look at websites, and their purpose.
    As far as methodology goes, we should start from the basics and build up from there. When I say basics, I mean basics, not “mobile first”. It should be “accesible” first at the lowest common level.
    My understanding of “lowest common” however is not even a “Pentium 4 / IE 6” level, it is “Pentium II / Celeron IE 3” level, ’96 level.
    How would you feel if a web dev. said “i7 machine ? Microsoft Edge ? Pssht, screw that ! I cant be bothered with that piece of crap !” ? Sure it could be a relatable excuse 10 years from now, but IMO its just not right.
    They are basically books / documents. Paper age, hardware & software break. Its a fact. There are ways to preserve / extend their life time.
    How would you feel if we were to say “Latin ? screw that ! People who dont understand Latin should not read books- access that information anyway, we speak english now.” It’s a bit of an odd analogy but thats a “enable javascript to view this page” warning means to me.
    Make the website accesible on html level, JS is not even “enhancement”, it is “LUXURY” as far as I am concerned. Heck even CSS should not be “essential” to “access” a web page / information (content) on a web page, let alone JS.
    I can go on and on but yeah it’s a matter of approach, and as much as old fashioned it sounds i like the basic approach than adaptive.

    Simply put I prefer “progressive enhancement” vs “Graceful degradation” if I had to choose. Both are fine, if i had to choose i said. Peoples understanding of “graceful degradation” is very wrong these days; stopping degrading mid-way is not very graceful IMO, you should degrade to the bone if you gonna. And if you choose PE, you should start from the bone, heck even the cell !! Don’t assume it has muscles, brain and all that.

  • bgbs

    Web Design jobs should remain secure for quite sometime. Every few years every website needs to be redesigned to keep up with the times.

  • What’s the point of a “timeless” website? The only kind of site that needs to be timeless is one that’s never updated. I’m not sure who needs a site like that. Certainly none of my clients.

  • karks88

    Exactly. You should know going in that nothing is necessarily going to be permanent – especially for smaller organizations.

  • Leonardo DaVincci

    My POV is that you’d be lucky to see a website break, because precious few are around long enough, whether because it was updated and replaced, or the client company is no longer in business. And still, we should all be communicating to the client that websites will eventually need rapid-cycle maintenance, or that technology and design norms will soon surpass what’s been built here. Lastly, regardless of how long you think a site should be up, there’s no excuse for not building as bulletproof as possible with the technology at hand.

  • Dan Temple

    I agree. An important part of the design process should be adding the features and listing the processes needed to get up and running again, or just do a planned upgrade for security or performance. For example:
    – how to notify / warn users a site is going offline soon
    – “disable activity” management feature so you can take the server offline gracefully without interrupting a transaction
    – easy way to put up a “site down for maintenance message” – on a different server
    – how to build a copy of the site on a different server, so you can pre-test an OS or framework upgrade
    – list of “things to check” after an upgrade. Does email still work? What about user registration? etc…
    Write all these things down, so the poor sod who actually ends up having to do this in 2 years time has a chance.
    That poor sod could be you :-)

  • We offer clients an ongoing maintenance and support package that covers updates and small bug fixes. We tell them that this will help keep their site secure, and generally they choose to order it. When they don’t, they come back six months later with a hacked site.

  • What about the importance of your website when it comes to browsers? Those over time end up breaking websites as they have new standards or render things differently from browser to browser. Chrome will now put up warning if your site has a password or personal information and you are not https, this is just one of many examples that can and will break websites.

    This seems to be true as code languages was created by humans and the scripts are then written by humans. Which is why coding languages grow and change over time and they improve the language.

  • karks88

    Very good points! The evolution of browsers can very well lead to problems.

  • karks88

    It’s so important to keep up with maintenance. So many people think it’s just a “set it and forget it” type of deal.