Few errors feel as silly as this one: “Response is not a valid JSON response.” You are saving a page. You expect confetti. Instead, WordPress hands you a robot sneeze. Good news: this error is common, fixable, and usually not as scary as it sounds.
TLDR: This error usually means WordPress expected clean JSON data, but got something else. The cause is often permalinks, site URLs, security plugins, caching, SSL issues, or server rules. Start by saving permalinks, checking your WordPress Address and Site Address, then disabling plugins one by one. If that fails, check SSL, REST API access, and your hosting server logs.
What does the error mean?
JSON is a simple data format. WordPress uses it to send information between the editor and your site. Think of it like a neat little lunchbox.
When you click Update or Publish, WordPress expects that lunchbox to arrive in perfect shape. But sometimes it opens the box and finds soup everywhere. That is when it says, “Response is not a valid JSON response.”
This often happens in the block editor. It may appear when you save a post, upload media, update a page, or edit reusable blocks.

1. Save your permalinks again
This is the classic first move. It is quick. It is easy. It works more often than it should.
- Go to Settings.
- Click Permalinks.
- Do not change anything.
- Click Save Changes.
That is it. WordPress will refresh its rewrite rules. These rules help WordPress understand URLs. If they get messy, the REST API can break. The REST API is what the editor uses to talk to your site.
Now go back to your post. Try saving again. If it works, do a tiny victory dance.
2. Check your site URLs
Your WordPress URLs must match. If one says http and the other says https, trouble may appear.
Go to Settings > General. Look for:
- WordPress Address URL
- Site Address URL
Both should usually be the same. For example:
- https://example.com
- https://example.com
If your site uses SSL, both should use https. Not one http. Not one https. They need to be best friends.
After changing anything, save the settings. Then test the editor again.
3. Make sure SSL is working
SSL is the little lock icon in the browser. It makes your site secure. But if SSL is half working, WordPress can get grumpy.
Look at your browser address bar. Do you see a lock? Great. Click it and check if the connection is secure.
If you see warnings, fix them. Common SSL problems include:
- Expired SSL certificates.
- Mixed content on the page.
- Wrong redirects from http to https.
- A CDN using different SSL settings.
You can also use an online SSL checker. It will tell you if your certificate is valid. If the SSL setup is broken, ask your host to repair it.
4. Disable plugins and test
Plugins are great. Plugins are also tiny chaos machines. A security plugin, caching plugin, firewall plugin, or optimization plugin may block the JSON response.
To test this, do a simple plugin check:
- Go to Plugins.
- Deactivate all plugins.
- Try saving your post again.
- If it works, reactivate plugins one by one.
- Test after each one.
When the error returns, you found the troublemaker. Give it a stern look. Then check its settings, update it, replace it, or contact its support team.
5. Switch themes for a minute
Your theme can also cause bad responses. This is less common, but it happens.
Try switching to a default WordPress theme. Use one like Twenty Twenty Four or another clean default theme. Then test the editor again.
If the error disappears, your theme may be causing a conflict. Update the theme. Check custom code. Look inside the theme functions file if you are comfortable. If not, ask a developer.
Do not panic. You can switch back after testing.
6. Check the REST API
The WordPress editor depends on the REST API. If the REST API is blocked, the editor cannot save properly.
Try opening this URL in your browser:
https://yourwebsite.com/wp-json/
Replace yourwebsite.com with your real domain.
If things are working, you should see a page full of text data. It may look ugly. That is fine. Ugly data can be healthy data.
If you see an error, login page, security block, or 404 page, something is blocking the REST API.
Common blockers include:
- Security plugins.
- Web application firewalls.
- Server rules.
- Bad permalink settings.
- Password protection.
If your host uses a firewall, ask them to whitelist the REST API routes.
7. Clear all caches
Caching helps your site load faster. But old cached data can cause weird editor errors.
Clear every cache you can find:
- Plugin cache.
- Browser cache.
- Server cache.
- CDN cache.
- Object cache, if enabled.
Then refresh the editor. Try saving again.
If you use a CDN, pause it for a short test. Some CDN settings can change script behavior or block requests. That can break the JSON response.
8. Look for server security rules
Sometimes your server thinks WordPress is doing something suspicious. It blocks the request. WordPress then receives a weird response instead of JSON.
This can happen with tools like ModSecurity or other firewall systems. The fix is usually on the hosting side.
Contact your host and say:
“When I save a WordPress post, I get ‘Response is not a valid JSON response.’ Can you check if ModSecurity or another firewall is blocking REST API requests?”
That sentence is magic. It tells support exactly where to look.
9. Check for custom code errors
Custom code can print extra output. Even one tiny warning can ruin a JSON response.
For example, a PHP warning may appear before the JSON data. WordPress expected clean JSON. Instead, it got a warning plus JSON. That is like ordering coffee and getting coffee with a sock in it.
Check these places:
- Your child theme files.
- The functions.php file.
- Custom plugins.
- Code snippet plugins.
Turn on debugging only if you know what you are doing. If errors appear, fix them. If you are not sure, ask a developer or your host.
10. Try the classic editor as a temporary fix
This is not the best long-term fix. But it can help you keep working.
If you urgently need to publish, you can use the Classic Editor plugin. It may avoid the block editor issue. Still, you should fix the real problem later.
Think of it like using a spare tire. Helpful? Yes. Permanent? Nope.
Quick repair checklist
- Save permalinks again.
- Check that site URLs match.
- Confirm SSL works.
- Disable plugins and test.
- Switch to a default theme.
- Test the REST API URL.
- Clear caches.
- Ask your host about firewall blocks.
- Check custom code for errors.
Final thoughts
The “Response is not a valid JSON response” error sounds like a robot wrote it during a bad day. But the cause is usually simple. WordPress asked for clean data. Something sent messy data back.
Start with the easy fixes. Save permalinks. Check URLs. Clear cache. Then move to plugins, themes, SSL, and server rules.
Go step by step. Do not smash buttons. The error can be annoying, but it is very fixable. Soon your editor will save again, and the robot sneeze will be gone.

