Is DNS actually resolving my domain?
Before you touch your host, rule out DNS. Every UK domain, whether it ends in .co.uk or .com, depends on records held with your registrar (123-Reg, Fasthosts, GoDaddy) pointing at a set of nameservers. If the A record, AAAA record, or CNAME is missing, wrong, or still pointing at an old host after a migration, visitors on BT, Sky, or Virgin Media will see "server not found" even though your web server is running fine.
Run a lookup and check that the A record returns the IP address you expect, and that NS records match what your registrar shows. If you changed nameservers recently, propagation can take a few hours, and some ISPs cache stale answers longer than others.
Is my domain pointing at the right server?
Once DNS resolves, confirm it resolves to the correct place. Take the IP address from the lookup above and check its hosting provider, ASN, and country. If your site is meant to be hosted with a UK provider and the IP info instead shows an unfamiliar data centre abroad, that usually means a stale A record, a forgotten test server still live, or in the worst case a domain that was compromised and repointed.
This step also catches a common case: your site loads, but it is loading an old cached version from a previous host because DNS has not fully switched over yet.
What status code is the server sending back?
If DNS and hosting both check out, the fault is in what the server returns. A 200 means the page loaded but something else is slow, such as a database query or a render-blocking script. A 301 or 302 loop usually means a redirect rule in .htaccess or a plugin is fighting with itself. A 403 means the server refuses to serve the file, often a permissions or firewall rule. A 404 means the path genuinely does not exist.
Server-side failures tell their own story: 500 is an application error, 502 typically means Cloudflare or a reverse proxy could not reach the backend, 503 usually points to an overloaded PHP-FPM pool or scheduled maintenance mode left switched on, and 504 means the backend took too long to respond.
What are the response headers telling me?
Headers explain the how behind the status code. cache-control and expires tell you whether a browser or CDN is serving a stale copy. cf-ray or x-cache show whether Cloudflare or another CDN handled the request at all, useful when a fix on your server does not seem to take effect for visitors. set-cookie issues can silently break login-gated pages, and a missing strict-transport-security header on a site that should force HTTPS is worth flagging too.
Paste the raw response headers in and work through each one in plain English rather than guessing what they mean.