Case Study

How a Bluehost Firewall Blocked Googlebot From a Client Site

The Search Console clues, server-side diagnosis, safe fix, and early recovery

Googlebot crawler stopped by a glowing 403 firewall in front of a web server

A Bluehost firewall returned 403 errors to Googlebot while the site still worked for visitors. See the evidence, diagnosis, narrow fix, and early recovery.

10 min read|July 25, 2026
Technical SEOGooglebotBluehost

Introduction

One of the websites we manage was heading towards its best month in Google Search. Then, within a week, daily clicks fell from roughly 45 to two.

The website was still online. Its pages loaded normally for visitors, and there had been no obvious collapse in its sitewide average position. The problem was happening somewhere most visitors would never see it: the server was returning a 403 response to Googlebot.

This is how we found the block, what Bluehost discovered in its firewall logs, and how to check your own site without jumping to the wrong conclusion.

The site had been growing steadily

Freshly Folded is a laundry pickup and delivery company serving the San Diego area. During the spring and early summer of 2026, its organic search traffic was climbing consistently.

Google Search Console recorded a new rolling 28-day click milestone almost every week:

  • 500 clicks on June 5
  • 600 clicks on June 14
  • 700 clicks on June 22
  • 800 clicks on July 1
  • 900 clicks on July 10

At that rate, reaching 1,000 clicks looked realistic. Instead, the trend reversed. Daily clicks fell from the mid-40s to about two by July 18, and the rolling 28-day total had dropped to 767 by July 24.

Because that total covers the previous 28 days, it does not fall all at once. Each strong day that leaves the reporting window is replaced by a much weaker one. That is why a site can continue losing ground in the rolling total even after the underlying problem has been fixed.

Freshly Folded Google Search Console chart showing clicks and impressions collapsing in mid-July while average position remained near 11

By July 18, Freshly Folded's clicks and impressions had fallen close to zero while its 28-day average position was still 11.1.

Average position gave us a clue, not an answer

When search traffic falls sharply, it is natural to suspect a Google update, a manual action, or a major ranking loss. We checked those possibilities, but one detail did not fit that explanation.

The site's average position was 10.9 on July 22 and 11.0 on July 24. That small change did not look like a sitewide ranking collapse, even though clicks and impressions had fallen heavily.

Average position needs to be handled carefully. It is an aggregate based on the queries and pages that still receive impressions. If some pages disappear from search entirely, the remaining pages can keep the average looking stable. A steady average position therefore does not prove that rankings are unchanged.

In this case, it was simply a useful clue. The combination of collapsing impressions, collapsing clicks, and a broadly stable average position made us look beyond rankings and investigate whether Google could still access the pages.

Google recommends examining clicks, impressions, affected pages, affected queries, seasonality, technical issues, and ranking changes together when debugging a Search traffic drop.

URL Inspection exposed the real problem

We inspected several important pages in Google Search Console. Affected URLs returned the same message:

Page is not indexed: Blocked due to access forbidden (403)

The report also showed that Google's most recent attempt to fetch the page had failed.

A 403 response means the server understood the request but refused to serve the requested resource. Google's documentation is clear about the consequence: content returned with a 4xx status is not used, and URLs that continue returning a 4xx response can be removed from the index over time. You can read Google's explanation of how HTTP status codes affect crawling and indexing.

The site's Page indexing report also showed more than 200 non-indexed URLs across several categories. In this incident, those categories were misleading: our investigation found that the URLs had been affected by the same 403 error even when Search Console categorized them differently. The decisive evidence was the 403 result on affected pages, followed by confirmation in the host's firewall logs.

One detail matters here: the standard URL Inspection result reflects Google's recorded information from its last crawl. After making a change, use Test Live URL to check whether Google can access the page now.

Google Search Console Page indexing report listing Freshly Folded pages blocked due to access forbidden with a 403 response

The Page indexing report listed three URLs under “Blocked due to access forbidden (403)” alongside other excluded-page categories, which were also categorized wrongly, as they were all affected by the same 403 error.

Google Search Console URL Inspection report showing a Freshly Folded location page blocked with a 403 response during a Googlebot smartphone crawl

URL Inspection showed that Googlebot's July 14 crawl of a Freshly Folded location page failed with a 403 response.

What Bluehost found

Freshly Folded is hosted by Bluehost. We gave its support team affected URLs, the dates of the failed crawls, and screenshots from Search Console. According to Bluehost support, a web application firewall rule had produced a false positive.

Bluehost support identified rule 900934 as the source of the block. The affected URLs covered a broad mix of page types and were predominantly non-location pages, so it would be inaccurate to attribute the incident to location pages or long neighborhood lists. What the server-side evidence established was that the rule was returning 403 responses to legitimate Googlebot requests across the site.

Web application firewalls are designed to stop malicious requests before they reach a website. ModSecurity, for example, is a widely used open-source web application firewall engine. Like any rules-based security layer, a WAF can occasionally block legitimate traffic.

This does not mean every Googlebot 403 is a Bluehost or ModSecurity problem. A 403 can also come from:

  • CDN or bot-management rules
  • a WordPress security plugin
  • IP or country restrictions
  • password protection
  • file and directory permissions
  • .htaccess or server configuration
  • rate limiting or an automated abuse rule

The 403 tells you that access was refused. The relevant firewall, CDN, application, and server logs tell you why.

Why the problem was easy to miss

The affected pages continued to work in an ordinary browser. There was no broken layout, outage page, or customer-facing error. The block was conditional, so a normal visit did not reproduce what Googlebot encountered.

That is why checking the website manually was not enough. Search Console showed the failed crawl, while Bluehost's logs identified the rule responsible for it.

The timing also made the decline look, at first glance, like an SEO or algorithm problem. It began just after the site reached a new search milestone. Without the 403 evidence, it would have been easy to spend days rewriting content or changing pages that were not the source of the problem.

How to check whether Googlebot is being blocked

1. Confirm the pattern in Search Console

Open Performance and compare clicks, impressions, CTR, and average position over the same period. Then review the Pages, Queries, Countries, and Devices tabs to see whether the decline is sitewide or limited to part of the site.

Falling clicks with steady average position is not a diagnosis. Treat it as a reason to investigate access, indexing, demand, and reporting issues alongside ranking changes.

2. Inspect a representative group of URLs

Do not test only the homepage. Inspect:

  • a high-traffic service or product page
  • a location or category page
  • a recent article
  • a page that still receives traffic
  • a page that lost traffic

If Search Console reports a failed fetch or “Blocked due to access forbidden (403),” record the affected URL and the last crawl time.

3. Run a live test

Use Test Live URL in Search Console. This distinguishes a historical crawl failure from a block that is still active.

A normal browser test or a command-line request can help with initial troubleshooting, but neither perfectly reproduces Google's crawl. A request that merely uses “Googlebot” as its user agent can be spoofed, and some firewalls make decisions based on IP address, behavior, or several signals together.

4. Check the Page indexing report

Look for a rise in:

  • Blocked due to access forbidden (403)
  • Server error (5xx)
  • Crawled – currently not indexed
  • Discovered – currently not indexed

Match the “first detected” or crawl dates against the date impressions began falling. Remember that the last two categories do not, by themselves, prove a firewall problem.

5. Ask for the logs

Give your host or developer:

  • two or three affected URLs
  • the failed crawl timestamps shown in Search Console
  • screenshots of the 403 result
  • the approximate date the traffic decline began

Ask them to check the WAF, CDN, security plugin, web server, and origin logs. Request the exact rule ID, the request IP, the user agent, and the reason the request was denied.

Before permanently allowing a crawler, verify that the requests are genuinely from Google. Google documents both DNS verification and its published IP ranges in its guide to verifying requests from Google crawlers.

How to fix the block safely

1. Preserve the evidence

Save the affected URLs, timestamps, rule ID, screenshots, and relevant log entries before changing anything. This makes it easier to confirm that the same issue has been resolved and to diagnose it if it returns.

2. Apply the narrowest effective exception

Ask the host to exclude the confirmed false positive for the affected domain, path, parameter, or verified Google crawler traffic, depending on what the logs show.

Do not disable the entire firewall unless there is no safer temporary option. Do not blindly allow every request with “Googlebot” in its user agent, because anyone can send that label. The goal is to stop the false positive while keeping the site's other protections in place.

In this case, Bluehost excluded the rule that its logs had identified as the source of the block.

3. Verify the response after the change

Run Test Live URL again on several affected pages. Confirm that the live test succeeds and that the page can be fetched. Test different page types rather than assuming that a fix for one URL covers the whole site.

4. Ask Google to recrawl important pages

Use Request Indexing for a small number of priority URLs. If the Page indexing report provides a Validate Fix option for the affected issue, start validation after confirming that representative pages pass the live test.

For a larger set of pages, make sure the XML sitemap is current, contains the canonical URLs you want indexed, and is accessible to Google. Submitting a sitemap is a discovery signal, not a guarantee of immediate crawling or indexing. Google says recrawling can take from a few days to a few weeks, and repeated indexing requests do not make the process faster.

5. Monitor recovery rather than assuming it

Watch:

  • successful live URL tests
  • crawl activity and server responses
  • 403 counts in the Page indexing report
  • indexed page totals
  • impressions and clicks by page

One strong day is encouraging, but it is not enough to declare a complete recovery.

What happened after the fix

After Bluehost excluded the identified rule, the affected pages passed the access checks we repeated. Search performance also showed an early improvement.

On July 21, the site recorded 25 clicks and more than 1,500 impressions after both metrics had fallen close to zero. That rebound was a good sign, but we treated it as the beginning of recovery rather than proof that every page had returned.

The rolling 28-day click total was still down to 767 on July 24. That was expected. The weak days were still inside the reporting window, and Google still had pages to recrawl and reassess.

The practical lesson is simple: when search traffic drops sharply, do not assume the answer is content or rankings. Check whether Google can fetch the pages before changing the pages themselves. A website can look completely healthy to customers while a firewall is returning a very different response to a crawler.

Freshly Folded Google Search Console chart showing clicks and impressions beginning to recover after a severe decline

Search performance began to rebound on July 21, but the rolling 28-day total still reflected the earlier loss.

Frequently asked questions

Does a stable average position rule out a ranking problem?

No. Average position is an aggregate based on impressions that still occurred. It can remain stable even when some pages or queries lose visibility completely. Use it as one diagnostic clue alongside page-level impressions, queries, indexing reports, crawl results, and server logs.

Does a 403 in Search Console always mean the host's firewall is responsible?

No. It means the server or an intermediate security layer refused Google's request. The source may be a WAF, CDN, security plugin, access rule, file permission, or server configuration. Logs are needed to identify the cause.

Why can the page work for me but fail for Googlebot?

Security systems can treat requests differently based on IP address, user agent, location, request rate, cookies, headers, or behavior. Your browser may receive a normal 200 response while Googlebot receives a 403.

Should I whitelist Googlebot?

Only after confirming that the requests really come from Google. Prefer a narrow, rule-specific exception over disabling the firewall or trusting any request that claims to be Googlebot.

How long does recovery take after a 403 is fixed?

There is no fixed timetable. Important pages may be recrawled within days, while broader recovery can take several weeks or longer. The pace depends on crawl demand, the number of affected URLs, how long the block lasted, site quality, internal linking, and whether the pages remain eligible for indexing.

References and source notes

Next step

If search visibility has fallen and the cause is not obvious, explore our ongoing growth and SEO services, read the earlier Freshly Folded SEO case study, or contact Luminous Digital Visions.

Need help putting this into production?

We connect strategy to implementation across AI systems, software engineering, automation, and digital growth.

Discuss your project