Skip to content

Reason guide · blocked-by-config

WordPress blocks requests to your own site

Why Edge Doctor for Cloudflare® reports that WordPress itself refused the requests from your site to itself, and which wp-config.php setting decides it.

Last reviewed 2026-10-30Plugin version 1.0.1

What this means

The plugin sentence: WordPress itself refused the requests from your site to itself, so none was sent. WP_HTTP_BLOCK_EXTERNAL is on, and your own address is not let through.

Before any request leaves, WordPress decides whether it is allowed (WP_Http::block_request()). When it refuses, nothing is sent, so the plugin knows the cause is a setting on this site and says so instead of reporting a network failure. The TLS connection of checks A2 and A5 is not opened either.

Like every request Edge Doctor sends, these go only to the hosts of your Site Address and WordPress Address (home_url() and site_url()). An address WordPress gives on another host, such as a single sign on page, is never requested.

Checks that report it

These checks can report it:

Symptoms you may notice

  • Several groups say Could not check, and this reason is named instead of a network failure.
  • Other plugins that call your own site or outside services also fail, because WordPress refuses their requests the same way.

Why it happens

Without WP_HTTP_BLOCK_EXTERNAL WordPress refuses nothing. With it, every host is refused except localhost and the host of the WordPress Address (siteurl), unless a filter on block_local_requests returns true; other hosts pass only when listed in WP_ACCESSIBLE_HOSTS. So the two usual causes are a filter that blocks local requests, and a Site Address (home) on a different host than the WordPress Address, for example www and the bare domain.

Confirm it by hand

Look in wp-config.php for these constants:

grep -nE "WP_HTTP_BLOCK_EXTERNAL|WP_ACCESSIBLE_HOSTS" wp-config.php
wp option get home
wp option get siteurl

If the hosts of home and siteurl differ, the Site Address is the one refused.

How to fix it

In WordPress (wp-config.php), one of these:

  • add the host of your Site Address to WP_ACCESSIBLE_HOSTS, separated by commas from the hosts already there;
  • remove the code that makes block_local_requests return true;
  • or remove WP_HTTP_BLOCK_EXTERNAL if nothing on the site needs it.
define( 'WP_ACCESSIBLE_HOSTS', 'www.example.com' );

In Cloudflare: nothing to change; the requests never left the server.

Limitations

The plugin reads the decision WordPress makes, so the reason is certain. It cannot tell which plugin or file added a filter.

Sources

Run these checks on your own site with Edge Doctor for Cloudflare®, free on WordPress.org.

Edge Doctor for Cloudflare® is not affiliated with or endorsed by Cloudflare, Inc. Cloudflare is a registered trademark of Cloudflare, Inc.