// blog / indexing

How I fix 'Blocked due to other 4xx issue' and 403 errors in Search Console

Blocked due to other 4xx issue means Googlebot asked for the URL and your server refused it with a 4xx code other than a 401, 403 or 404, so Google won't use the page. The 403 line works the same way. On WordPress it's usually a firewall or bot rule, and I find it and let verified Googlebot through.

By Muhammad Younus Updated 10 min read Indexing

Indexing and Search Console: illustration for "Fixing 4xx and 403 blocks in Search Console"
// 01 - the statuses

What does Blocked due to other 4xx issue mean, and how do the 401 and 403 lines differ?

Each one means Googlebot knocked and the server said no. The page might load perfectly for you, and that's what makes these lines confusing. They're a crawl problem, not a content problem. If you'd rather have me read your Page indexing report, I start where this post does: with which of the three you've actually got.

Google's HTTP status documentation is blunt about the outcome. It doesn't use the content of a URL that returns a 4xx, and if the URL was already indexed, the indexing pipeline removes it. So a 403 on a page that used to rank isn't a warning. It's the page leaving.

The three block reasons, plus the 404 they're often confused with
Search Console reasonWhat Googlebot gotWhere I look first
Blocked due to unauthorized request (401)A request to log inPassword protection left on a staging copy, or a members area
Blocked due to access forbidden (403)A flat refusal, with no login offeredSecurity plugin firewall, host firewall and CDN bot rules
Blocked due to other 4xx issueAny other 4xx the report doesn't give its own line, such as a 400The live test's HTTP response, then the server's access log
Not found (404)Nothing at that addressA missing redirect, which isn't a block at all

The 403 line is the one Google's help is sharpest about. A 403 means the visitor sent credentials and still wasn't let in, but Googlebot never sends credentials, so the help page says the server's returning the error incorrectly. For the other 4xx line, the help's only advice is to debug the page in the URL Inspection tool, and that's where my method starts too.

// 02 - the codes

Which codes end up in Blocked due to other 4xx issue?

Any 4xx that isn't a 401, 403 or 404. The report won't tell you which code it got, but Google's URL Inspection API spells the rule out: its value for this line reads "Blocked due to other 4xx issue (not 403, 404)", and the 401 has a value of its own. These are the codes I expect to find behind it on a WordPress site.

Codes that land in the other 4xx line, and where they usually come from on WordPress
CodeWhat it saysWhere I usually find it
410 GoneThe page is gone, and that's likely permanentA redirect plugin answering 410 for a deleted page, such as Rank Math's 410 Content Deleted option
400 Bad RequestThe server won't process a malformed requestA broken link somewhere with odd characters or query strings in the URL
405 Method Not AllowedThe address exists but won't accept this kind of requestA form handler or API endpoint that something linked to
451 Unavailable For Legal ReasonsAccess is refused because of a legal demandA deliberate legal, age or regional restriction

If the list is mostly 410s on pages you removed on purpose, leave them. Google treats every 4xx except 429 the same way, so a 410 drops out just as a 404 does, even though this line makes it read like a fault. It's the service and product pages on the list that need the method below.

// 03 - the cause

Why would a server block Googlebot but not me?

Because the rule isn't looking at the page. It's looking at the visitor: who it claims to be, where it comes from and how fast it's asking. A crawler looks odd on all three counts, and plenty of fake bots borrow its name.

Here are the patterns I test for on a WordPress stack, and each one leaves a different trail:

A rule aimed at fake crawlers that catches the real one. Someone blocked junk traffic calling itself Googlebot, and the real Googlebot uses the same name.

Rate or reputation limits. A firewall that challenges any IP asking quickly will sooner or later challenge a crawler. If the challenge page carries a 4xx status, that's what Google records.

Country blocking. Google's documentation says Googlebot's default IP addresses appear to be based in the USA, and tells site owners to treat it like any other visitor from that country. So an Alberta business that blocks American traffic to cut spam has blocked Google as well.

Login walls that spread. A 401 usually comes from staging password protection left on the live site, or a membership plugin guarding too many URLs.

If your own browser gets the 403 too, it isn't a bot rule at all. That's the plain 403 forbidden WordPress error, and it's usually a deny rule in the server config or file permissions set too tight. WordPress's own docs put directories at 755 or 750 and files at 644 or 640, and a folder the server can't read throws an error for everyone.

// pro tip

Don't judge the block from your own laptop. You're on a Canadian home connection with a normal browser, which is exactly the visitor these rules are built to let through.

Rather have me do this? One person, whole job.

Book a call on Upwork
// 04 - the method

How I find the rule that's blocking Googlebot

The trail runs from what Google saw to the log line that made the refusal. I don't touch a setting until I've got that line, because guessing at firewall rules leaves holes.

  1. Step 01

    Export the affected URLs

    In the Page indexing report I open the reason and export its examples. I'm looking for the shape of the list before any single URL.

  2. Step 02

    Group them by pattern

    One template, one folder, every URL, or a random scatter. A whole folder points at a path rule. A random scatter points at rate limiting, which depends on when Googlebot asked.

  3. Step 03

    Run the live test

    URL Inspection's live test fetches the page in real time and shows the HTTP response and headers Google got. If it shows the 4xx, the block's still active. If it passes, the rule may be intermittent, so I keep going.

  4. Step 04

    Compare it with a normal request

    I load the same URL in a private window, then request it from my own machine with Googlebot's user agent using curl. If only the fake Googlebot request fails, the rule keys off the name. If both pass while Google's test fails, it keys off IP, country or reputation.

  5. Step 05

    Find when it started

    Crawl Stats, under Settings, breaks Google's requests down by response code. The day the 4xx share jumped usually lines up with a plugin update, a host move or a new CDN setting. Its example URLs are only a sample, so a missing URL proves nothing.

  6. Step 06

    Read the log that made the call

    The security plugin's blocked request log, the host's firewall log and the CDN's firewall events each name the rule that fired. The host's firewall can be ModSecurity, an open source web application firewall for Apache, IIS and Nginx. I filter the logs for the hour Google's live test ran. If nothing fired, I read the site's .htaccess file, where one deny or rewrite line can refuse a whole folder, and on managed hosting I ask the host's support which rule matched.

  7. Step 07

    Change one rule, then retest

    I change only the rule the log named, run the live test again, and click Validate fix once it passes. If the page passes and still sits outside the index, that's a different problem, and that status has its own diagnosis.

// watch out

Don't switch the whole firewall off to test it. It proves what you'd already guessed and leaves the site open meanwhile. The log names the rule without dropping anything.

// 05 - the fix

How do I allow Googlebot without letting fake bots in?

The user agent string is just text in a request header, and anyone can type Googlebot into it. Google publishes its own verification method for sites worried that, in its words, "spammers or other troublemakers" are claiming to be from Google. So the allow rule has to check identity, and there are four ways I do it.

  1. i.

    Reverse DNS, then forward DNS

    Google's manual method: look up the IP's hostname with the host command, check it ends in googlebot.com, google.com or googleusercontent.com, then look that hostname up again and confirm it returns the same IP. A fake bot fails the second half.

  2. ii.

    Google's published IP ranges

    For rules that take IP lists, Google publishes its ranges as JSON files in CIDR format, with common-crawlers.json covering Googlebot. I pull them fresh rather than pasting in a copy that'll go stale.

  3. iii.

    The CDN's verified bot list

    Cloudflare keeps a list of verified bots, search engine crawlers included, confirmed through published IP lists, reverse DNS or signed requests. A rule that exempts that verified group is far safer than one that trusts a name.

  4. iv.

    The plugin's verified crawler option

    If a security plugin can trust verified search crawlers, I switch that on. If it can only allowlist a user agent, I handle the exception at the host or CDN instead.

// watch out

Don't use a 401 or 403 to slow Google down. Google's docs say those codes have no effect on crawl rate and tell you not to use them for it. A 429 or a 5xx is what slows crawling, and even then Google says indexed URLs eventually drop if it lasts.

// 06 - leave these

Which 4xx pages are fine to leave blocked?

Not every line in the report is a fault. A private URL can return a 401 or 403 forever, and Search Console listing it just means Google found the address somewhere. The question I ask of each URL is simple: do you want this page in Google?

4xx URLs I usually leave alone, and what I tidy around them
URL typeLeave it blocked?What I tidy
A password protected staging copyYes, the 401 is doing its jobMake sure it isn't linked from the live site or listed in its sitemap
Admin and login URLsYesNothing, unless they turn up in a sitemap
Members only or customer account pagesYes, if they're meant to be privateKeep them out of the sitemap and internal navigation
Service, product or blog pagesNoFind the rule and let verified Googlebot through

The tidy part matters. A sitemap is you telling Google which pages you want indexed, so a blocked URL in it is a contradiction Google keeps reporting back. Taking those URLs out of the sitemap is part of the WordPress sitemap and robots.txt fixes I do, and for URLs that answer with a 401, the Crawl Stats help suggests either blocking them in robots.txt or deciding they should be open.

// when to hand this over

If Google's being turned away from your service or product pages and you'd rather one person traced the rule, changed it safely and watched the validation through, I take that on remotely. The process page shows each stage.

Book a call on Upwork

Is this your site? Send me the URL.

Book a call on Upwork
// questions - indexing

What else do people ask about this?

How do I fix a 4xx error in Search Console?

Run the URL Inspection live test to see the exact code Googlebot gets, then find what sent it: a security plugin, the host's firewall, a CDN rule, an .htaccess line or a login wall. Change that one rule, retest until the live test passes, and click Validate fix. A deliberate 410 or a private page can stay.

Is Blocked due to other 4xx issue the same as a 404?

No. Search Console gives 404s their own line, Not found (404), and the other 4xx line covers codes without a line of their own, such as a 400 or a 410. Google still treats them all alike: it doesn't use the content.

Should I allowlist the Googlebot user agent in my security plugin?

Not on its own. The user agent is just text anyone can send, so a name based allowlist lets fake bots straight past the firewall. I allow Googlebot by reverse DNS, Google's published IP ranges or a CDN's verified bot list instead.

How long does Validate fix take after I unblock Googlebot?

Google's help says validation typically takes up to about two weeks, and sometimes much longer. It checks a few pages first and ends straight away if the error's still there. A pass means the known errors are gone, not that the pages are indexed, so I won't put a date on it.

// sources - checked

Where do these rules come from?

Platform and Google documentation, opened and read on the day this was written. Everything else is how I work.

  1. Google crawler documentation: how HTTP status codes affect Google's crawlers
  2. Google crawler documentation: verify requests from Google crawlers and fetchers
  3. Search Console Help: Page indexing report
  4. Search Console Help: URL Inspection tool
  5. Search Console Help: Crawl Stats report
  6. Google Search Central: locale-adaptive pages and where Googlebot crawls from
  7. Cloudflare docs: verified bots
  8. WordPress developer docs: file permissions
  9. Search Console API reference: URL Inspection result, page fetch states
  10. RFC 9110: HTTP semantics, client error status codes
  11. RFC 7725: the 451 Unavailable For Legal Reasons status code
  12. Rank Math knowledge base: setting up redirections, including 410 and 451
  13. Apache HTTP Server documentation: .htaccess files
  14. OWASP ModSecurity on GitHub
Muhammad Younus, WordPress technical SEO consultant
// who wrote this

One consultant, writing down his own method

I'm Muhammad Younus, a WordPress technical SEO consultant with 8+ years of experience and 100+ client sites fixed. Top Rated Plus on Upwork with a 100% Job Success Score. Every post here is the way I actually do the job, written in the first person because it's one person doing it, remotely, with no team behind the name.

Nothing in these posts is a client I can't name or a number I can't show. Where a figure comes from a client's Search Console, it's from a published case study, and where a rule comes from Google or a platform, the source is linked at the bottom of the post.

// the service behind this post
Muhammad Younus with his arms folded and a relaxed, confident smile
// next step

Want this done on your own site?

Book a call on Upwork, send the URL and read-only Search Console access, and you'll get a written scope for the search side before any work starts. One person does the whole job, remotely.

Book a call on Upwork