The story
When I migrated six WordPress sites from one server to another, I asked Claude Code whether everything had been set up correctly. It said yes.
It hadn’t.
Redis — the caching layer that sits between WordPress and the database, and whose job is to store frequently requested data so the database doesn’t have to be called every time — had not been properly configured during the migration. Every request that should have been served quickly from the cache was going straight to the database instead. The database can cope with that. It just gets progressively slower as the load accumulates.
For weeks the symptoms were inconsistent. Pages loading slowly sometimes, normally others. Cached files returning empty intermittently. The kind of thing that is easy to dismiss as a fluke, or attribute to something else entirely. Nothing that announced itself as a clear failure.
I kept asking Claude Code what was going on. I kept asking it to compare the current setup with the previous server and tell me honestly whether everything had been carried across correctly. Each time it came back and said yes, everything was fine. And each time, when I pushed further, it found something else it had missed.
Eventually it confirmed what had happened. Redis had not been set up correctly during the migration. It had to be reinstalled and reconfigured from scratch. The fix took a fraction of the time it had taken to find the problem.
The point
The frustrating part was not the technical failure. Migrations are complicated and things get missed. The frustrating part was that I had asked directly, repeatedly, whether everything was in order — and the answer had been yes each time, until it wasn’t.
This is, in my experience, one of the more important things to understand about working with AI tools on live infrastructure. They will tell you something is done. They will tell you it is correct. And they may be wrong — not because they are being dishonest, but because they have checked what they thought to check, and missed what they didn’t know to look for.
The lesson I took from this is not to trust the first answer, or the second. To push. To ask it to compare the current state with a known good state. To have independent verification in place — monitoring, alerts, checks that run automatically and would catch what the AI missed. The Telegram alerts that kept coming after the migration was supposedly complete were, in retrospect, exactly the kind of signal I should have followed immediately rather than dismissing.
A backup and a working monitoring system are not just safety nets for when things go dramatically wrong. They are how you find the things that are quietly wrong — the failures that don’t announce themselves until weeks have passed.
