How to diagnose, repair, and monitor your Google Search Console health — step by step.
Scheduled posts silently skip, backups stop running, sitemaps go stale and sync plugins freeze half-finished — and Search Console never says why. On shared hosting the reason is often the simplest one: your firewall is blocking requests to wp-cron.php because they look like bots.
Test it the way WordPress does: curl -A "WordPress/" -I https://yoursite.com/wp-cron.php?doing_wp_cron. A 200 means the request is allowed; a 403 means your firewall's crawler rules are eating it. Because wp-cron requests carry no cookies and a generic user agent, they are first in line for crawler blocks. The fix is to normalize the user-agent for wp-cron traffic before the firewall reads it.
The cron reachability check probes wp-cron exactly as WordPress would and flags a block as critical. The PRO repair deploys the mu-plugin, and the plugin self-test runs on every scan so a future firewall change on your host shows up as a finding instead of a silent failure.
No — but if your real server cron hits wp-cron.php over HTTP, the same block can still apply, so test it the same way and watch for 403.
Low-traffic sites rely on wp-cron for sitemap regeneration. A blocked wp-cron plus no visitors equals no rebuild. This is one of the quiet causes of the discovered-not-indexed state.
Any WAF in front of WordPress can do it, but shared hosting plans ship aggressive crawler defaults, so the class is most common there.