WordPress Updating Failed Publishing Failed Error
What Is This Error?
When you click “Publish” or “Update” in the WordPress block editor and nothing happens except a red badge that reads “Updating failed” or “Publishing failed,” you’re dealing with a broken communication line between the editor and your server. The block editor (Gutenberg) doesn’t save content the old-fashioned way — it uses the WordPress REST API to send save requests in the background. When that channel gets interrupted, the editor just shrugs and throws this error.
This isn’t a content loss situation — WordPress autosaves drafts regularly — but it does mean your latest changes aren’t going live. The problem almost always lives in one of three places: something is blocking your REST API, your site URLs are mismatched, or a plugin is stepping on the save process.
The reassuring part? None of the fixes require you to touch code in most cases. You’ll work through Settings pages and the plugin screen, and one of these steps will clear it up.
Get free WordPress & AI tips
Join 500+ readers. No spam, unsubscribe anytime.
Why Does This Happen?
- REST API is being blocked: A security plugin, server-side WAF (Web Application Firewall), or your host’s mod_security rules is flagging REST API requests as suspicious and rejecting them before WordPress can process the save.
- WordPress URL mismatch: If your WordPress Address and Site Address in Settings → General differ — one uses “www” and the other doesn’t, or one is HTTP while the other is HTTPS — REST API authentication breaks and save requests fail silently.
- Plugin conflict: A third-party plugin hooks into the editor’s save flow and throws an unhandled error, causing the request to never complete.
- Broken or missing .htaccess rules: WordPress routes REST API requests through .htaccess rewrite rules. A corrupted or incomplete .htaccess file means those requests never reach their destination.
- SSL misconfiguration: If your site URL is set to HTTPS but your server doesn’t have a valid SSL certificate active, every REST API call over HTTPS will fail with a certificate error the editor can’t recover from.
How to Fix It — Step by Step
- Test your REST API directly. Open a new browser tab and visit
https://yoursite.com/wp-json/. Replace the domain with your own. If you see a large block of text starting with{"name":, your REST API is reachable. If you get a 403 Forbidden, 404, or a blank page, the API is blocked and that’s your starting point.You should see: A JSON response with your site name and other metadata — not an error page.
- Deactivate all plugins at once. Go to Plugins → Installed Plugins, check the box at the top to select all, then choose “Deactivate” from the Bulk Actions dropdown and click Apply. Now try publishing a test post.
You should see: The post publishes successfully, confirming a plugin is the culprit.
- Re-activate plugins one at a time. Once you confirm a plugin is the issue, re-activate them individually, testing after each one, until the error returns. The last plugin you activated before the error came back is the conflict.
You should see: Publishing works after each re-activation until the bad plugin is turned back on.
- Verify your WordPress URLs match. Go to Settings → General. Check that “WordPress Address (URL)” and “Site Address (URL)” are character-for-character identical — same protocol, same www preference. Fix any differences and save.
You should see: Both fields showing the exact same URL before you save.
- Regenerate your .htaccess file. Go to Settings → Permalinks. Don’t change anything — just click “Save Changes.” WordPress will rewrite the .htaccess file with clean, correct rewrite rules.
You should see: A success message at the top of the Permalinks page, and the error gone when you try to publish.
- Disable REST API blocking in your security plugin. If you use Wordfence, iThemes Security, All-In-One Security, or similar, look inside the plugin’s settings for any option labeled “Disable REST API,” “Block REST API for non-logged-in users,” or “REST API access.” Turn it off or set it to allow logged-in users, then test again.
You should see: Publishing succeeds as soon as REST API access is permitted for authenticated users.
- Ask your host about mod_security. If none of the above works, contact your hosting support and ask specifically: “Are any mod_security or WAF rules blocking requests to /wp-json/ on my account?” Give them the exact path. Ask them to whitelist it or disable the blocking rule.
You should see: Your host confirms a rule was triggering and has been adjusted — publishing should then work immediately.
- Bump your PHP memory limit as a last step. Open your
wp-config.phpfile via File Manager or FTP and add this line just above the comment that says “That’s all, stop editing!”:define('WP_MEMORY_LIMIT', '256M');You should see: If a memory exhaustion was causing the REST API request to die mid-process, publishing now completes without error.
Common Mistakes When Fixing This
- Clearing the cache and calling it done: Caching has no connection to REST API failures. Flushing your cache might briefly hide the symptom, but the error will return on the next save. Identify and fix the root cause first — then clear cache as a cleanup step.
- Only deactivating the most recently installed plugin: The conflict isn’t always the newest plugin — it can be two older plugins that recently became incompatible after an update. Always deactivate all plugins at once and test before narrowing it down one by one.
- Setting HTTPS in the URL without a real SSL certificate: If you change your Site Address to
https://in Settings but your server doesn’t have SSL active, every REST API call will silently fail due to certificate errors. Confirm SSL is working athttps://yoursite.combefore switching your URLs. - Editing wp-config.php URLs without checking Settings: If you define
WP_HOMEandWP_SITEURLin wp-config.php, they override Settings → General entirely. Make sure those constants match your actual live URL — including correct protocol and www preference — or the mismatch persists regardless of what the Settings page shows.
Frequently Asked Questions
Does this error affect the Classic Editor too?
No — “Updating failed” and “Publishing failed” are block editor (Gutenberg) specific messages because Gutenberg relies on the REST API to save content. The Classic Editor uses a traditional form POST method that bypasses the REST API entirely. If you install the Classic Editor plugin, the error disappears — but that’s a workaround, not a fix. The underlying REST API problem will affect other parts of your site that depend on it.
Could my theme be causing this?
It’s uncommon but possible. Some themes — particularly older or poorly coded ones — enqueue scripts that interfere with the block editor’s network requests. To rule this out, temporarily switch to a default WordPress theme like Twenty Twenty-Four from Appearance → Themes and try publishing. If it works, the theme is contributing to the conflict.
Did I lose my content when this error appeared?
Almost certainly not. WordPress autosaves your work every 60 seconds as a draft revision. Go to Posts → All Posts (or Pages → All Pages), find the item you were editing, and open it. Check the Revisions panel on the right — your most recent autosaved content should be there. You may just need to manually restore the latest revision.
My host says nothing is blocked on their end — what do I try next?
Ask your host specifically to search for mod_security rule IDs that triggered on requests to /wp-json/wp/v2/posts or /wp-json/wp/v2/pages in your server logs. A general “nothing is blocked” response often misses WAF-level rules that don’t appear in standard access logs. If they still find nothing, try switching to the default theme, deactivating all plugins, and testing from a different browser and network to rule out local caching or browser extension interference.
