Connection blocked
Test connection says your site is not reachable, but everything is set up correctly. Something in front of your site is answering before we get there. Here is how to let us through.
If Settings → Publishing shows Not reachable and the message says something is blocking Zivooo, your plugin is almost certainly fine. Bot protection, a firewall, or a security plugin is intercepting our request before your site ever sees it, and answering on its behalf.
This is not unusual. Everything that talks to a site remotely runs into it: the WordPress mobile app, Jetpack, Zapier, and scheduled background tasks all break the same way. The fix is to let requests to one path through.
Zivooo only ever needs one path: /wp-json/zivooo/ on your site. You never need to open up the rest of your site, or turn off security generally.
Cloudflare
The usual cause is Bot Fight Mode, which treats any request that is not a person in a browser as a bot. What you do about it depends on your Cloudflare plan, because the free and paid versions behave differently.
Free plan. Bot Fight Mode cannot be bypassed. Cloudflare does not run it through the same engine as its firewall rules, so a rule that allows our path has no effect on it. Your only options are to turn it off or move to a paid plan.
- 1Sign in to Cloudflare and select your domain.
- 2Go to Security → Settings, then filter by Bot traffic.
- 3Turn off Bot Fight Mode.
- 4Back in Zivooo, go to Settings → Publishing and click Test connection.
Pro plan or higher. You get Super Bot Fight Mode, which does support exceptions, so you can leave your protection on and allow only our path.
- 1Sign in to Cloudflare and select your domain.
- 2Go to Security → WAF → Custom rules and click Create rule.
- 3Name it something you will recognise later, such as Allow Zivooo.
- 4Set the field to URI Path, the operator to starts with, and the value to /wp-json/zivooo/
- 5Choose the Skip action, then tick Super Bot Fight Mode. Ticking managed rules and rate limiting as well saves you a second visit.
- 6Deploy the rule, then click Test connection in Zivooo.
If your Cloudflare menu does not match these names, the dashboard has been reorganised since this was written. Search the dashboard for Bot Fight Mode and the setting will be the same one.
Wordfence
Wordfence does not block us by default, so this is normally a false positive from its firewall rather than a setting you chose. The reliable way to clear it is to let Wordfence watch a real request and then approve it.
- 1In WordPress, go to Wordfence → Firewall and put the firewall into Learning Mode.
- 2In Zivooo, go to Settings → Publishing and click Test connection.
- 3Back in Wordfence, open Tools → Live Traffic and find the blocked request to /wp-json/zivooo/
- 4Allow that request, then return the firewall to Enabled and Protecting.
Also worth checking, under Wordfence → All Options, is whether anything that disables the WordPress REST API for logged-out visitors has been switched on. Our requests are signed rather than logged in, so a setting like that stops them.
Sucuri
- 1Open your Sucuri firewall dashboard and select your site.
- 2Go to Access Control and allowlist the path /wp-json/zivooo/
- 3Click Test connection in Zivooo.
Your host's firewall
Many shared hosts run ModSecurity, a firewall that inspects the contents of a request rather than just its address. Articles are large blocks of HTML, so they trip rules that a small test request slips past. That produces the confusing case where Test connection passes and publishing still fails.
You cannot usually change these rules yourself. Ask your host's support team to look at the ModSecurity log for POST requests to /wp-json/zivooo/ and to disable the specific rule ID that is firing, for your domain only. Naming the rule ID matters: hosts are reluctant to turn ModSecurity off wholesale, and they should be.
Free hosting
Some free hosts, InfinityFree among them, require every visitor to run JavaScript and store a cookie before they see the site. No integration can do that, and on a free plan the check is mandatory with no way to allow anyone through. Publishing to a site like this is not possible until it moves to hosting that permits it.
Still stuck?
Email us at muntasir@zivooo.com with your site address and we will tell you what answered us, which is usually enough for your host or developer to fix it in one go.
Common questions
Does this mean my connection key is wrong?
No. A blocked request never reaches the plugin, so the key is never checked. If the key were the problem you would see a different message naming it.
Is it safe to allow this path?
Yes. Every request Zivooo sends to /wp-json/zivooo/ is signed with your connection key, and the plugin rejects anything that is not. Allowing the path through your firewall does not allow anyone else in.
Test connection passes but articles still fail to publish. Why?
Almost always a content-inspecting firewall like ModSecurity. The test sends a few bytes and articles send several pages of HTML, so a rule can let one through and stop the other. See the section on your host's firewall above.
Do I have to turn my security off?
No. Every fix here allows one path, or in Cloudflare's free plan turns off one specific feature. Nothing on this page asks you to disable protection generally.