Your link checker says 403. Most of those links aren’t broken.
A 403, 429 or 999 from a link checker usually means “this site blocks bots”, not “this page is gone”. Here’s how to tell the difference — and what to actually fix.
What the codes mean
| Code | What the site said | Broken? |
|---|---|---|
| 404 Not Found · 410 Gone | The page doesn’t exist. | Yes — fix or remove the link. |
| 5xx Server error | The site is failing. Sometimes temporary. | Usually — check again later. |
| 403 Forbidden | “I won’t answer you.” Often bot protection (Cloudflare, large shops, news sites). | Usually not — open it in a browser. |
| 429 Too Many Requests | “Slow down.” The checker asked too fast. | No — wait and retry. |
| 999 | LinkedIn’s answer to automated requests. | No — it’s LinkedIn blocking robots. |
| 401 Unauthorized | The page needs a login. | No — unless your visitors can’t log in either. |
Why checkers get it wrong
Many sites respond differently to a browser than to an automated request. A checker that sends one quick request and reports whatever comes back will list working links as broken. Three common causes:
- Bot protection. Cloudflare, Akamai and similar services return 403 to requests that don’t look like a person.
- HEAD requests. Checkers often ask only for headers. Some servers answer that with 403, 404 or 405, while a normal page load works.
- Too many requests at once. Checking 200 links on one site in a second triggers 429 or temporary 503s.
Tell blocked from broken in 10 seconds
- Open the link in a normal browser tab. If the page loads, the link works.
- If it’s a 404 page — “not found”, “doesn’t exist” — it’s broken.
- A 999 almost always comes from LinkedIn. Open it once to be sure.
Or let the checker do it
Linkcrisp confirms suspicious answers with a full page request, waits and retries when a site says “slow down”, and puts links to sites that block automated checks into a separate “Couldn’t verify” list. Your broken list stays short.
Add Linkcrisp to Chrome — free
Try it on the sample page: 3 broken links, 2 blocked, 2 redirects.