
Element Code: OR-009
What this issue actually means
A 403 Forbidden is the server saying "I understood your request and I am refusing it." Unlike a 404, the resource may well exist. The server just will not serve it to this requester. When a 403 URL "gets traffic," it means people are clicking through from Google (or another organic source) and hitting that refusal. The only way that happens is that the URL was previously accessible, Google crawled and indexed it, and the access rules changed afterward while the listing stayed live in the results.
So this is really two problems stacked on top of each other. First, a URL that is now forbidden is still indexed and ranking. Second, real users are being funneled from search straight into a dead end. Neither is what you want, and the combination is worse than either alone because you are actively earning clicks that convert to nothing.
Why a 403 typically happens
Before you fix it, you need to know why the server is refusing. The common causes:
- Directory or file permissions that got tightened during a deploy or migration.
- Missing index file in a directory with directory listing disabled.
- IP, geo, or user-agent blocks in a firewall or WAF that are catching legitimate visitors or Googlebot.
- Authentication walls: staging protection, an
.htaccessdeny rule, or a login gate placed in front of a page that used to be public. - Rate limiting or bot rules from a CDN or security plugin that are too aggressive.
- Hotlink protection or referrer rules that block requests arriving from search engines.
Where the value leaks out
The click already cost you a ranking position you spent effort earning. The 403 converts that hard-won visit into an immediate exit. Over time Google notices the page is no longer serving content, and the ranking that was feeding you traffic slides away too. You lose the visit now and the position later.
How to detect it
- Server access logs: the ground truth. Filter for status 403 and cross-reference the referrer against search engines and the user-agent against real browsers. Logs tell you exactly which URLs, how often, and from where.
- Google Search Console: the Pages (index coverage) report flags "Blocked due to access forbidden (403)," and the Performance report shows which of those URLs still earn impressions and clicks. That overlap is your priority list.
- Screaming Frog SEO Spider: crawl the site, filter the Response Codes tab for 403s, and use its Search Console and analytics integrations to overlay traffic onto the forbidden URLs in one view.
- Analytics (GA4 or similar): if your 403 page fires a pageview or you tag it, you can see landing-page sessions ending on the error. Bounce and zero-engagement patterns on specific URLs are a tell.
- Manual curl:
curl -Ithe suspect URL, once as a normal browser user-agent and once as Googlebot, to see whether the 403 is universal or triggered by a specific requester.
How to fix it, step by step
The right fix depends entirely on one decision: should this URL be public or not?
- Confirm the status and the cause. Curl the URL, read the server logs, and identify whether it is permissions, a firewall rule, an auth gate, or a CDN block.
- Decide the URL's fate. If it should be live, the 403 is a bug. If it should be gone, the indexed listing is the bug.
- If it should be public: fix the permissions, whitelist the blocked requesters, restore the index file, or relax the WAF rule until the URL returns a clean 200. Then request re-indexing in Search Console so the ranking has something real to point to.
- If it should be gone: return a 404 (gone, unspecified) or a 410 (gone, permanent) instead of a 403. Google drops 404 and 410 URLs from the index far more cleanly than a 403, which it tends to keep around because "forbidden" implies the resource still exists.
- If it moved: 301 redirect the old URL to the correct live destination so the ranking and any link equity transfer instead of evaporating.
- Never mask it. Do not return a 200 with a "forbidden" message in the body. Soft errors keep the URL indexed and pollute your reporting.
- Re-crawl and monitor. Confirm the new status code in Screaming Frog and watch Search Console until the 403 flag clears.
Which status code to send
| Situation | Correct response | Effect on search |
|---|---|---|
| Page should be public | 200 OK | Ranking keeps a real target |
| Page removed for good | 410 Gone | Dropped from index fast |
| Page gone, cause unclear | 404 Not Found | Dropped after re-crawls |
| Page moved | 301 Redirect | Equity transfers to new URL |
| Truly private, indexed by mistake | 401/403 + noindex history | Slow removal, use GSC tool |
Good versus broken
- Diagnose the real cause from server logs first
- Restore a 200 if the page should be public
- Send 404 or 410 if the page should be gone
- 301 redirect pages that genuinely moved
- Re-crawl and watch GSC until the flag clears
- Leave a ranking, trafficked URL returning 403
- Serve a 200 body that says "forbidden" (soft error)
- Block Googlebot with an overzealous WAF rule
- Assume the 403 will resolve itself over time
- Redirect everything to the homepage as a catch-all
What "good" looks like
No URL that earns organic clicks returns a 403. Public pages resolve to 200, retired pages return 404 or 410 and fall out of the index, moved pages 301 to their new home, and any genuinely private area is both access-controlled and absent from search. Search Console shows no "access forbidden" pages that also carry impressions, and your logs show search referrers landing on live content, not refusals.
FAQ
Why does Google keep a 403 URL indexed at all?
Is 404 or 410 better for a page I am removing?
Could my security plugin be causing this?
Should I redirect the 403 URL to my homepage?
We overlay your logs, Search Console, and a full crawl to find every trafficked URL serving the wrong status code, then hand you the exact fix for each. Book an advanced SEO audit.
Take this with you
The assistant links open with a question about this page already written. Nothing is sent until you press enter.
Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.
About SEO ProCheck
Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.
Work With Me
Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.
Subscribe to our newsletter!
Recent Posts
- Most Top Sites Never Say Who They Are in Structured Data October 14, 2026
- Homepage Titles Are Mostly Too Short, Not Too Long October 8, 2026
- Who Actually Serves an llms.txt? 184 Top Sites Measured September 29, 2026








