Technical

WordPress Changes Not Saving: Updates Vanish After Publish (2026)

By Daniel Reyes•October 31, 2026•3 min read

Disclosure: some links on this page are affiliate links. We may earn a commission at no extra cost to you. How we test and rate hosts.

Our top pick for most WordPress sites
Bluehost: free domain, free SSL, 24/7 support, 30-day money-back guarantee.
Check Bluehost Deal →

Two different bugs produce the same symptom: your edit vanishes. Either WordPress never saved it (a real failure), or it saved and you're looking at a cached version (a display failure). Diagnose which one you have before fixing anything - the tests take 30 seconds.

Test First: Did It Actually Save?

Update the post, then open it in an incognito window or append ?v=123 to the URL. If the change appears: the save worked and you're fighting cache - skip to the cache section below. If the change is gone even uncached: the save genuinely failed.

Real Failure Cause 1: REST API Blocked

Gutenberg saves via /wp-json/wp/v2/posts. Security plugins, .htaccess rules, and CDNs that block wp-json kill saves while the UI claims success. Open DevTools → Network, click Update, watch for a 401/403 on wp-json. The invalid JSON guide covers REST API blocks in depth.

Real Failure Cause 2: mod_security

Saving content containing code, multiple URLs, or certain HTML triggers Apache mod_security and the POST dies at 403/406 - invisibly to the editor. Check your host error log for mod_security hits. Fix: ask the host to whitelist the rule, or save the content in smaller chunks to find the triggering element.

Real Failure Cause 3: Plugin/Permissions

A post-lock plugin, a revision plugin, a workflow plugin that requires "review" before publish, or a capability plugin that removed your edit_published_posts right - all produce silent save drops. Test by disabling the workflow/security plugins, and check your user role hasn't been demoted (see the access-denied guide for capability debugging).

Display Failure: The Cache Layer Cake

If it saved but doesn't show, purge in this order - each layer can serve stale content independently:

  • Browser: hard refresh (Ctrl+F5) or incognito
  • Page cache plugin: purge all caches (WP Rocket, LiteSpeed, W3TC)
  • Host cache: server-side cache in your hosting panel - many hosts cache aggressively and it's the most-forgotten layer
  • CDN: Cloudflare "Purge Everything" if enabled

If the fix is "purge cache after every edit," your cache plugin isn't auto-purging on save - enable post-update purge in its settings.

Page Builder Variant

Elementor/Divi saves go through their own AJAX, not the WP save. If the builder hangs on "Updating," the failure is admin-ajax.php - see the admin-ajax 400 guide for that diagnosis path.

Keep Reading

Find Your Perfect Hosting Plan

What are you building?

Tell us about your project so we can match the perfect hosting plan.

Question 1 of 425% complete
Interactive Tool

Hosting Cost Calculator

See exactly how much you'll spend on hosting over time. Compare Bluehost vs popular alternatives and discover your potential savings.

Used to calculate transaction fees (Shopify charges 2% on sales)

Shopify Basic (3yr)
$1,044
Bluehost (3yr)
$444
You Save
$600
58% less than Shopify Basic

Frequently Asked Questions

Why does WordPress show 'Updated' but the change is gone?

Two different problems look identical: the save itself failed silently (permission, plugin conflict, REST API blocked) OR the save worked but you're viewing a cached version. Test by checking the page in an incognito window or adding ?nocache=123 to the URL - if the change shows there, it saved fine and you're fighting cache, not WordPress.

What's the #1 cause of real save failures?

The REST API being blocked. Gutenberg and most page builders save via REST calls - if a security plugin, .htaccess rule, or firewall blocks /wp-json/, the editor reports success but nothing persisted. Check for 401/403 on wp-json requests in DevTools Network tab.

Can mod_security block saves?

Yes - aggressively. Saving content that contains code snippets, URLs, or HTML can trip mod_security rules, and the request dies with a 403 or 406 while the UI looks fine. Check your host's error log for mod_security hits on POST to wp-json or post.php.

Why would the Customizer save but not show?

The Customizer writes changes to a different store and requires 'customize' capability - a role problem saves nothing. If it 'saves' but reverts, the theme's stylesheet or a child-theme override may be forcing values. Also check for a second user editing simultaneously - autosave/lock conflicts drop edits.

Do page builders have their own save system?

Yes - Elementor, Divi, WPBakery save through their own AJAX, not the WP save path. A failed builder save usually shows as the editor hanging on 'Updating' rather than a clean success. The admin-ajax guide covers that failure mode - it's a different endpoint with the same diagnosis.

Ready to launch?

Get Bluehost from $3.99/month with a free domain, free SSL, and 30-day money-back guarantee.

Start for $3.99 →

Related Articles