InsightsWordPress repair

When a WordPress Plugin Update Breaks Your Site

A plugin update left a business association's directory erasing its own data. How we found the cause, rehearsed the fix and kept all 286 listings.

Tim Miller · 6 min read

The Loyalist Business Association's admin would mark a member as Featured and save it. It held when they refreshed. A few minutes later, in their words, it went "POOF", and the member was back to a free listing.

That was the most visible symptom. Behind it, renewal dates had been overwritten, member descriptions had stopped displaying, search on the home page had broken and the site had stopped sending email. All of it started after a routine update of the directory plugin and its paid add-ons in August.

The association is a volunteer-run non-profit, and its directory lists 286 local businesses, with paying members featured at the top. It couldn't afford a second fix that guessed. Here is how we approached it, step by step, and what we would tell anyone whose WordPress site has just broken after an update.

1. Measure before you change anything

Our first step wasn't logging in and clicking around. The directory had a public data feed, so we could watch it from outside before touching anything.

Two things showed up quickly. First, every one of the 286 listings was being rewritten in a single batch, set off by the first visitor after a quiet spell. That is the signature of a scheduled background task. WordPress runs its scheduled jobs when someone visits the site, so a faulty job looks random from the inside: you save, someone else loads a page, and your change disappears.

Second, only listings enrolled in a membership plan were losing their settings. Listings without a plan kept whatever was set. The update had switched on a plan-enforcement feature over a directory that had never been set up for it, and that feature kept "correcting" members it didn't recognize.

That gave us a cause to test, instead of a list of symptoms to chase.

2. Find your backups and compare them

We found three full-site backups sitting unnoticed in the admin panel and compared them:

  • Before the update: 40 members correctly featured
  • Just after it: 41
  • About three weeks later: 11

The damage was gradual, not instant. That is why the site looked fine when the update was signed off, and why "it was working when we finished" is not proof that an update went well.

3. Check what a rollback would bring back

Restoring the pre-update backup looked like the obvious answer, so we checked what it would actually restore. It had the right featured members. But none of its 30 checkable renewal dates matched the association's own records, and it carried a broken spam check that had been failing for months.

A rollback would have undone the new damage and brought the old damage back. Before you restore, compare the backup against a record you trust, such as your membership spreadsheet, not just against what the site looked like.

4. Fix the foundations first

Some problems had nothing to do with the update, and they were making everything else harder:

  • Email. The site's mail ran through an account that belonged to a previous agency, and nobody at the association could get into it. 31 member accounts were stuck waiting for verification emails that could never arrive. We moved site email to a service in the association's own name, with the domain verified.
  • The contact form depended on an add-on whose licence had lapsed. We rebuilt it with the theme's built-in form, so there is nothing left to expire.
  • Ownership. Every new account went in the association's name, not ours. The original problem came from a key service owned by someone who had moved on.

If your site sends email through a plugin, check today whether that email actually arrives. It fails silently more often than you'd think.

5. Rehearse every change on a staging copy

A staging copy is a private duplicate of your site where changes can't hurt anyone. Two precautions matter before you use one: take a fresh database backup before every change, and turn off email on the copy, or a full duplicate of your site can send renewal notices to real members.

Staging is where this project was saved. The vendor's recommended upgrade moved 245 of the 286 listings to the trash on our copy, even though the setting that should have prevented it was off. On the live site, that would have wiped most of the directory in one click. We restored the copy, reported the fault to the vendor's support team and reworked the order of steps until the upgrade ran cleanly.

Testing also turned up two smaller traps. Under the new version, any listing without a plan told the public its data was "temporarily unavailable". And changing a listing's plan quietly cleared its featured status and reset its renewal date. Both went into the written procedure as explicit steps.

6. Watch it before you call it fixed

The original fault took about three weeks to show itself, so a site that looks fixed on day one proves nothing. We forced the background job to run on demand instead of waiting for it, and compared a complete snapshot of the directory every morning for three days against the list of members we knew were correct.

Over 72 hours there were zero unexplained changes. At the original rate of loss, three or four members would have dropped off in that time. None did.

7. Replay the fix on the live site. Don't copy staging over it

Copying a staging site over the live one carries test data and stray settings across with it. Instead, we replayed the proven steps on the live site one at a time, with the click path, the expected result and a rollback plan written down first.

The real renewal dates came from the association's own spreadsheet. It was the only reliable record of who had paid and when, and no automated recovery tool could have rebuilt it. Keep that kind of record outside your website.

Members correctly featured again, up from 3
39 of 39
Listings kept, including 245 saved from the faulty upgrade
286 of 286
Unexplained changes in the 72-hour watch
0
Incidents on the live site during the repair
0

What to take away

Most WordPress breakages after an update aren't mysterious. They are a background job, a changed setting or an account nobody can reach, and the fix is to find which one before changing anything else. In short:

  1. Measure first and look for patterns in time.
  2. Compare your backups against records you trust.
  3. Fix email and account ownership early. They block everything else.
  4. Rehearse on a staging copy, with email turned off.
  5. Watch the fix for days, not minutes.
  6. Replay the proven steps on the live site.

We also left the association a one-page care guide that explains what is safe to edit, and the one action that can quietly undo the repair. The volunteers running the site now know why it broke, which matters as much as the fix.

If your WordPress site broke after an update, or you inherited one from someone who has moved on, our WordPress repair and rescue service works exactly this way. And if you are wondering whether to stay on WordPress at all, see how we look after sites on our care and hosting page.

Tim Miller

Tim Miller

Co-founder, Rocket 5 Studios

Creative director and developer. Tim worked at LucasArts on Star Wars and Indiana Jones properties, and now builds websites, apps and games at Rocket 5, including sites for community organizations on Amherst Island and nearby.

About Rocket 5LinkedIn (opens in a new tab)

Get

In Touch

Your partner for modern websites, apps, games and immersive experiences. Let's talk about how we can work together.