
“I didn’t change anything. It was working fine yesterday.”
We hear this constantly. And we believe you—you probably didn’t change anything. But something changed somewhere, because websites don’t spontaneously break. Understanding what can change without your involvement is the first step to diagnosing these frustrating situations.
Things That Change Without You
Your website exists within an ecosystem of dependencies. Any of them can change independently.
Automatic updates. WordPress core, plugins, and themes can update themselves. You enabled auto-updates once and forgot about it. Now a plugin updated overnight and it conflicts with another plugin, or doesn’t work with your PHP version, or has a bug the developer introduced.
SSL certificate expiration. Certificates expire. If auto-renewal fails—because of DNS issues, validation problems, or service outages—your site suddenly shows security warnings or becomes inaccessible. The certificate was fine yesterday because yesterday it hadn’t expired yet.
Domain expiration. Similar story. Your domain renewed automatically for years until the payment method expired or the registrar changed their billing system. Now your domain is in redemption and your site is offline.
DNS propagation delays. You changed DNS settings a week ago. They worked immediately for you, so you assumed everything was fine. But DNS propagation isn’t instant or uniform. Some visitors might have been hitting cached old records that finally expired, revealing a misconfiguration you didn’t know existed.
CDN or proxy issues. If you’re using Cloudflare or another CDN, their systems can have outages or configuration changes. Your site is fine, but the layer in front of it is broken. Or their cache expired and is now pulling content that reveals an underlying problem.
Third-party service failures. Your site relies on external APIs, fonts, scripts, or services. Google Fonts changes something. A JavaScript library you’re loading from a CDN gets updated or removed. An API you depend on changes its authentication. Your site breaks because something you don’t control changed.
Server-side changes. Hosting providers update PHP versions, adjust security rules, or change server configurations. These changes are usually announced, but announcements get missed. A PHP function your old plugin relied on is deprecated. A security rule blocks a request pattern your site uses.
Database issues. Database tables can become corrupted, especially after unexpected server restarts or disk issues. A table that was fine yesterday now returns errors. The database server might be overloaded, causing timeouts that weren’t happening before.
Resource limits. Your site might have been running close to memory or storage limits. It worked yesterday because it was at 95% capacity. Today something pushed it to 101% and now it crashes. Traffic spikes, log files growing, backup files accumulating—any of these can tip you over the edge.
Malware activation. Your site might have been compromised weeks ago, but the malware was dormant—waiting for a specific date, a certain number of visitors, or a command from its controller. Yesterday it was silently present. Today it activated.
The Diagnostic Mindset
When something breaks unexpectedly, resist the urge to start randomly changing things. That often makes diagnosis harder and can create new problems.
Instead, work systematically:
What exactly is broken? “The site is down” could mean a dozen different things. Get specific. Is it a white screen? An error message? A timeout? A redirect to somewhere unexpected? Different symptoms point to different causes.
When did it start? The more precisely you can identify when the problem began, the easier it is to find what changed at that time. Check your email for any hosting notifications, certificate warnings, or domain renewal reminders from that period.
Is it broken for everyone? Test from different devices, different networks, different locations. Use tools like downforeveryoneorjustme.com. If it’s only broken for you, the problem might be local—your DNS cache, your browser, your ISP.
What’s in the error logs? Error logs exist to tell you what went wrong. Check them. WordPress has debug logging. Your hosting has error logs. These often point directly at the problem.
What updated recently? Check your WordPress update history. Check your plugin list for recent updates. Even if you didn’t manually update anything, auto-updates might have run.
Common Patterns We See
Certain “it worked yesterday” scenarios come up repeatedly.
White screen of death after plugin update. A plugin auto-updated and caused a fatal error. The fix is usually to access files via FTP or file manager and rename the plugin folder to disable it. Then update WordPress and other plugins manually to ensure compatibility before re-enabling.
“Error establishing database connection” appearing suddenly. Database server overload, corrupted tables, or changed database credentials. Check if the database server is running, try repairing tables, verify credentials in wp-config.php haven’t been altered.
SSL errors that weren’t there before. Certificate expired, wasn’t renewed properly, or there’s a mismatch between certificate and domain. Check certificate expiry date, force renewal if needed, ensure the certificate covers the right domain.
Site redirecting to wrong URL. Often caused by WordPress siteurl/home settings getting changed, cached redirects from a CDN, or .htaccess modifications. Check WordPress settings, clear CDN cache, review .htaccess file.
“This site can’t be reached” but everything looks fine. DNS issues—either your domain DNS has changed, propagation hasn’t completed, or your nameservers are misconfigured. Check domain status at registrar, verify DNS records, test from multiple locations.
Site extremely slow when it was fast before. Could be server resources exhausted, a plugin running inefficient queries, traffic spike, or external service (like a slow API call) timing out. Check server resource usage, disable plugins systematically to isolate the cause.
Prevention: Reducing Surprise Breakages
You can’t prevent everything, but you can reduce the frequency and impact of unexpected problems.
Monitor your sites. Use uptime monitoring. Get alerted when sites go down rather than discovering it days later. Our hosting includes indexation monitoring, and basic uptime monitoring is available through many free services.
Keep backups. When something breaks catastrophically, a recent backup lets you restore while you figure out what went wrong. Test your backups periodically to ensure they actually work.
Be thoughtful about auto-updates. Auto-updates are convenient but can break things. Consider enabling auto-updates only for security patches, handling feature updates manually so you can control timing and test compatibility.
Track your expiration dates. Domain expiration, SSL certificate expiration, hosting renewal—know when these happen. Don’t rely solely on auto-renewal; verify it actually worked.
Minimise dependencies. Every external service, every third-party script, every API is something that can break independently. Use what you need, but don’t load resources from external sources unnecessarily. Host critical scripts locally where possible.
Check on sites regularly. Visit your sites periodically. Problems caught early are easier to diagnose because you can narrow down when they started.
When to Ask for Help
Some problems are easy to diagnose yourself. Others need support involvement.
If you’ve checked the obvious things—the site is actually down not just for you, you can see the error but not the cause, the logs don’t make sense—it’s time to open a ticket.
When you do, include what you’ve already checked. This helps us skip the basics and get to actual diagnosis faster. “The site shows a 500 error, it’s down from multiple locations, I checked the error log and see this message, I didn’t update anything but I noticed this plugin auto-updated yesterday”—that’s a ticket we can act on immediately.
We’ve covered how to write effective support requests at https://pbn.ltd/how-to-actually-get-help-from-support/. The better the information you provide, the faster we can identify what changed and fix it.
Because something always changed. The trick is finding what.
