Nobody wakes up and decides to let their website fall apart. It happens quietly, in small pieces, over about eighteen months.
Here is the usual sequence.
Month one: everything is fine
The site launches. It is fast, it is current, the forms work. Somebody bookmarks the admin login. This is the last time anyone will look at the back end for a while.
Month four: the first update notice
WordPress ships a core update. Seven plugins want updating too. Nobody clicks anything, because clicking things on a working site feels like a good way to break it, and that instinct is not wrong. Updates do break sites. That is exactly why they need testing rather than avoiding.
Month nine: the form stops sending
A contact form plugin updates itself automatically, or a mail provider tightens its rules, or the SSL certificate on the form handler expires. The form still looks fine. It still says “thank you” when you submit it. The message just goes nowhere.
This is the most expensive failure we see, and it is invisible from the front end. The only way to catch it is to test the form on a schedule.
Month fourteen: something gets in
An unpatched plugin has a known vulnerability. Automated scanners find it, they are not targeting you specifically, they are sweeping the whole internet for that one version number. Now there is injected code in your footer, or a spam directory nobody can see, or your domain is quietly sending pharmacy email.
Usually the owner finds out from Google, not from their site.
Month eighteen: the redesign quote
By now the site is slow, a little broken, and running software old enough that updating it in place is genuinely risky. Someone quotes a rebuild. The rebuild costs more than three years of maintenance would have.
What actually prevents it
None of this is dramatic. It is all routine.
- Plugin, theme and core updates applied on a schedule, on a staging copy first when the update is a big one.
- Backups that run without anyone remembering to run them, with enough retention to go back past the day something broke, daily, thirty days, on our maintenance plans.
- Security scanning that runs continuously rather than after a problem.
- Uptime monitoring, so a site being down is something you hear from us rather than from a customer.
- Someone testing the contact form. Genuinely. On purpose. Every month.
That is the entire job. It is not glamorous and it does not photograph well, but it is the difference between a website that works in year three and one that gets replaced.
We do it for a flat monthly rate so the boring parts actually get done.