Account & Billing
Troubleshooting
Fixes for Cloudflare/WAF blocks, WordPress REST errors and webhook issues.
When publishing or webhook delivery fails: a red alert with the fix appears on the Articles page, the org owner gets a "Publishing to {domain} needs attention" email, and Settings flags Integrations with a "Failing" badge.

Cloudflare or WAF blocking publishing
Cloudflare (or another firewall) can classify Grandranker's requests as bot traffic and block them (403/503) — "Cloudflare is blocking publishing" or "Cloudflare blocked the request" on webhooks.
Fix
- Cloudflare → Security → WAF → Tools → IP Access Rules.
- Add
65.21.252.91with action Allow. - Or create a WAF custom rule that skips security checks for your webhook or
/wp-json/path. - Retry: Retry publish on the article alert, or Send Test on Webhooks.
Other WAFs (Sucuri, Wordfence, AWS WAF): same fix — whitelist 65.21.252.91.
WordPress REST API errors
WordPress publishing goes through /wp-json/. Use Test connection on the WordPress integration to diagnose.
"Invalid credentials" / HTTP 401
- Use the WordPress user_login (Users → All Users, "Username" column) — not email or display name.
- If your host strips the Authorization header, add to
.htaccessand regenerate the Application Password:
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
"WordPress REST API is not reachable"
A security plugin or host firewall is blocking /wp-json/. Whitelist the path and IP 65.21.252.91, confirm https://yoursite.com/wp-json/ loads in a browser.
"Access forbidden" / HTTP 403
Connect with an Administrator account.
"WordPress REST API not found" / HTTP 404
Wrong site URL, or a plugin disabled the REST API. Verify the URL and re-enable it.
"Not allowed to create posts as this user"
Your site rejects Application Password logins. Install the Grandranker WordPress plugin instead — it publishes without them, and queues articles for pull delivery if your site blocks inbound requests. See WordPress.
WordPress.com-hosted sites can't use Application Passwords — connect via the WordPress.com integration instead. Jetpack errors mean Jetpack needs reconnecting.
Webhook delivery failures
A delivery succeeds only on a 2xx response. Failures retry up to 3 times; after 5 consecutive failures the webhook auto-disables. Delivery History shows each attempt. Send Test diagnoses live:
- Domain not found: check the URL for typos; must be publicly accessible.
- Connection refused: server running, port correct (include non-standard ports), inbound allowed.
- Request timed out: must respond within 30 seconds and be reachable from the public internet.
- SSL/TLS error: renew expired certs, include the full chain. Self-signed certs can disable SSL verification on the webhook.
- Authentication error (401/403): accept
Authorization: Bearer <token>— copy it via View Access Token. - Endpoint not found (404): route path must match exactly, including trailing slashes.
- Method not allowed (405): endpoint must accept POST.
- Server error (5xx): check server logs, confirm the endpoint parses the JSON payload.
Retry from Delivery History once fixed, and flip Status back on if auto-disabled. Full setup: Webhooks.
Publishing that keeps failing is paused rather than retried forever. After fixing the cause, use Retry publish on the article alert.
Still stuck? [email protected]