These four codes cover most of the "my site is broken" reports we get, and they point to completely different places. Mixing them up wastes time, so here is what each one is actually telling you.
403 Forbidden
The server understood the request and refuses to fulfill it. This is a permissions problem, not a missing-page problem.
- File or folder permissions set too restrictively (common after a migration or a manual upload).
- A
.htaccessrule blocking access, sometimes left over from a security plugin. - A security plugin or firewall (server-side or a service like Cloudflare) blocking the visitor's IP or country.
- Missing or misconfigured index file in a directory with directory listing disabled.
404 Not Found
The server is up and working, it just cannot find the specific page requested.
- The page or post was deleted, or its URL/slug changed, without a redirect in place.
- Permalink structure got reset (often after a theme or plugin update) and needs re-saving in Settings → Permalinks.
- A broken internal link or an old link from Google's index pointing at a URL that no longer exists.
502 Bad Gateway
Your site sits behind at least one intermediary, a reverse proxy, a load balancer, a CDN like Cloudflare, and that intermediary got an invalid response from the actual server behind it.
- The application server (PHP-FPM, Node, etc.) crashed or is overloaded and timed out.
- A CDN or proxy configuration pointing at the wrong origin server or port.
- The origin server ran out of memory or hit a resource limit mid-request.
503 Service Unavailable
The server is up, but temporarily cannot handle the request.
- WordPress stuck in maintenance mode after a failed or interrupted plugin/core update (look for a leftover
.maintenancefile in the root). - Server genuinely overloaded, too many requests for the hosting plan's resources.
- A caching or security plugin misfiring and serving a maintenance page by mistake.
Quick triage before you dig deeper
Open your browser's dev tools (F12), go to the Network tab, and reload the page. The status code shown there confirms exactly which of the four you are dealing with, since the visible error page's wording is not always reliable.
Tell us the code, we'll find the cause
403, 404, 502 or 503, we diagnose the actual server-side or configuration cause and fix it, not just paper over the symptom.