What we look for
These pages answered with a status code (the server's three-digit reply) of 401 (login needed), 403 (access forbidden) or 429 (too many requests).
Why it matters
Search engines cannot get past a login or a refusal, so these pages stay out of their results. That is right for private areas and wrong for any page you want found.
How to fix
Remove the login or block from any page you want in search results, in your server, CDN or CMS settings. For a 429, re-run the crawl more slowly, with a higher --delay or a lower --concurrency, to see whether this crawl set off the limit.
What it cannot know
A 429 can be caused by the speed of this crawl rather than by how the site treats search engines.
Seen in a real crawl
From a crawl of Millbrook Hardware (the broken fixture), a test site from Raptor’s fixture suite.
2 pages refuse access to Raptor
/forbidden Status 403 — access forbidden/rate-limited Status 429 — rate limited
http://127.0.0.1:8001raptor 0.3.0, 17 Oct 2026Where you’ll see it
The id is stable, and every surface uses it, so it’s the thing to search for or hand to an agent.
- Terminal
- When it is one of the five findings under Fix first,
raptor crawlprints the id under it.Check: response_
codes. internal_ access_ restricted - crawl.json and the CSV
- The crawl JSON names the finding by this id, and so do the CSV and
raptor_query."check_
id": "response_ codes. internal_ access_ restricted" - The HTML report
- This link opens the finding in the report, and each finding shows its id.
crawl.
html# finding= response_ codes. internal_ access_ restricted - MCP
raptor_findingswith thischeck_idreturns the finding in full, with a fix brief ready to paste into a task. If it didn’t fire, it says why.raptor_
findings { "job_ id": ". . . ", "check_ id": "response_ codes. internal_ access_ restricted" }