Fixing the Loopback Request Error
Fixing the Loopback Request Error
If WordPress is warning you about a “loopback request” failure in Site Health, scheduled tasks like automatic updates and WP-Cron (WordPress’s built-in task scheduler) may stop working silently. Fixing this restores your site’s ability to run background jobs and pass its own health checks — and it’s often a one-step fix once you know the cause.
What Is a Loopback Request?
A loopback request is when WordPress sends an HTTP request (a web request) to itself — essentially knocking on its own front door to confirm everything is working. WordPress uses loopback requests to:
- Verify the site can communicate with itself (Site Health check)
- Run scheduled tasks (WP-Cron, WordPress’s built-in job scheduler)
- Process background updates
When this request fails, WordPress reports a critical issue in the Site Health screen.
Common Causes
The table below covers the most frequent reasons a loopback request fails. The DNS-related causes are the most common on cloud servers like those managed by FlyWP.
| Cause | Description |
|---|---|
| DNS not resolving on the server | The domain resolves correctly from outside, but the server itself cannot resolve it back to its own IP |
| Firewall blocking | Server firewall rules are blocking outbound or loopback HTTP connections |
| Cloudflare “Under Attack” mode | Cloudflare’s JavaScript challenge page blocks the automated request because WordPress cannot solve it |
| Incorrect server IP | DNS points to a different IP than the server hosting the site |
How to Fix It
Work through these steps in order — most users find the issue in steps 1 or 2.
1. Check DNS resolution from the server
Connect to your server via SSH (a secure command-line connection) using the FlyWP terminal, and run:
curl -sI https://yourdomain.comIf the request fails or returns a response from the wrong server, your server cannot reach itself through the domain name.
2. Add a hosts file entry
If DNS is not resolving correctly on the server, add a local hosts file entry. The hosts file is a plain-text file your server checks before asking the internet for a domain’s IP address — it lets you hardcode a domain to a specific IP.
echo "YOUR_SERVER_IP yourdomain.com" >> /etc/hostsThis forces the server to route requests for your domain directly to itself, bypassing any DNS lookup that might be returning the wrong result.
3. Check firewall rules
Navigate to Server > Firewall in FlyWP and confirm that outbound HTTP/HTTPS connections are not blocked. Your server needs to be able to reach itself on ports 80 (HTTP) and 443 (HTTPS, the encrypted web protocol).
4. Disable Cloudflare “Under Attack” mode
If your domain is proxied through Cloudflare (a popular CDN and security service that sits between visitors and your server) and “Under Attack” mode is active, Cloudflare presents a JavaScript challenge that WordPress cannot solve. Switch to a standard security level in the Cloudflare dashboard to allow automated requests through.
5. Wait for DNS propagation
If you recently changed your DNS records, those changes can take up to 48 hours to spread across the internet (a process called DNS propagation). The loopback request may resolve on its own once propagation completes.