Beaver Builder Problems
Beaver Builder After Migration Layout Broken
Last reviewed
Direct answer
A Beaver Builder layout that breaks specifically after a site migration is almost always a URL, serialization, or asset problem introduced during the move — not damage to Beaver Builder itself. The most common causes are a non-serialization-safe search-replace that corrupted saved layout data, missing wp-content/uploads files, a CDN or cache still pointing at the old host, or mixed-content blocking on the new SSL setup. Fix URLs with a serialization-aware tool, confirm uploads copied completely, and check for mixed-content warnings before assuming the layout data is lost.
This is WordPress Repair territory: Beaver Builder stores its row and module structure as serialized data attached to post content, which makes it especially sensitive to how a migration handles domain URL changes. This guide walks through the migration-specific causes — bad URL replacement, missing uploads, CDN/cache pointing at the old host, and mixed content — in the order most likely to explain a layout that worked perfectly before the move and broke immediately after.
Key facts
Verifiable numbers and definitions — each claim links to its source.
- WordPress migration docs warn that site URLs stored in the database must be updated when the domain or path changes. (Moving WordPress)
- WP-CLI search-replace can rewrite serialized database strings safely — critical after moving Beaver Builder layouts between hosts. (WP-CLI search-replace)
- Beaver Builder troubleshooting after upgrades includes clearing builder and CDN caches that often linger after a migration. (Beaver Builder not working after upgrading)
What the error means
Beaver Builder saves each page's layout as serialized PHP data in post content, including any absolute URLs used in image sources, links, or background settings. When a migration tool or a manual SQL find-replace changes the domain without respecting PHP's serialization format — which encodes string lengths inside the data — it corrupts that data, and Beaver Builder can no longer read the layout correctly on load. Separately, even when URLs are replaced correctly, a migration can leave wp-content/uploads incomplete, meaning images and background assets the layout references simply do not exist on the new server, or it can leave DNS, cache, or a CDN still pointing at the old host so you are viewing a stale, pre-migration snapshot rather than the actual current state. Each of these produces a similar-looking "broken layout" symptom but requires a completely different fix.
Common symptoms
- Layout structure looks fundamentally scrambled — rows out of order, modules showing raw shortcode-like text, or settings reverted to defaults
- Images, background images, or icons are missing site-wide, showing broken-image icons instead
- Layout renders correctly when accessed via the temporary/staging URL but breaks on the final domain
- Browser console shows mixed-content warnings blocking scripts or images loaded over http instead of https
- The site intermittently shows the old pre-migration layout, suggesting a cache or CDN is still serving old content
- Editing a page in Beaver Builder shows a fatal error or "invalid layout data" type message on open
- Links inside modules point to the old domain instead of the new one
Most likely causes
- 01 A raw SQL find-and-replace (not a serialization-safe tool) was used to change the domain, corrupting serialized layout data
- 02 wp-content/uploads was not fully copied or synced to the new host, so referenced images and assets are missing
- 03 DNS still resolves to the old host, or a CDN/cache layer is serving a snapshot taken before the migration completed
- 04 SSL was not fully configured on the new host, causing hardcoded http:// URLs in layout data to trigger mixed-content blocking
- 05 File permissions on the new server prevent PHP from reading uploaded media referenced by the layout
- 06 The migration tool skipped or truncated large post content fields containing complex Beaver Builder layouts
- 07 Beaver Builder's own CSS/data cache was carried over from the old environment and never regenerated on the new one
What changed before the problem started
- The site moved to a new host, server, or domain
- URLs were updated via a migration plugin, WP-CLI search-replace, or manual SQL
- DNS was pointed at the new server, or is in the process of propagating
- An SSL certificate was issued or a CDN/proxy was enabled on the new stack
- wp-content/uploads and other files were transferred separately from the database
Troubleshooting steps
- 01
Confirm you are actually viewing the new environment
Check the page source or server response headers to confirm you are hitting the new host and not a cached copy, a CDN edge node, or DNS still resolving to the old server. Many "broken layout after migration" reports turn out to be visitors still seeing the pre-migration site.
- 02
Verify URLs were replaced with a serialization-safe method
If a raw SQL find-and-replace was used on wp_posts, that is the most likely source of layout corruption. Re-run the URL change using WP-CLI's `wp search-replace` (which is serialization-aware) or a trusted migration plugin's built-in tool, working from a fresh pre-replace backup rather than layering another fix on top of corrupted data.
- 03
Confirm wp-content/uploads copied completely
Compare the size and file count of wp-content/uploads between the old and new server. Re-sync via SFTP or rsync if files are missing. A layout that references images which do not exist on the new server will show broken-image placeholders even though the row/module structure itself is intact.
- 04
Clear Beaver Builder's cache and regenerate CSS on the new environment
Go to Beaver Builder → Tools and clear the cache so CSS regenerates fresh on the new server rather than carrying over stale, possibly URL-mismatched cached files from the old host.
- 05
Check for and fix mixed-content warnings
Open the browser console on the migrated site and look for mixed-content blocks. If SSL is fully configured on the new host, run a serialization-safe search-replace to update any remaining http:// references to https:// inside layout data, then clear cache again.
- 06
Test on the temporary/direct server URL before troubleshooting DNS-related symptoms
Access the site via its temporary hostname or an IP/hosts-file override that bypasses DNS and CDN entirely. If the layout looks correct there, the remaining issue is DNS propagation or CDN caching, not the layout data itself.
When to stop troubleshooting
Hand off if layout data was corrupted by a raw SQL replace and no clean pre-migration backup exists, if DNS and CDN symptoms persist well beyond normal propagation windows, if uploads are missing at a scale too large to resync manually, or if the database import itself shows charset/collation problems affecting more than just Beaver Builder content. Provide the pre- and post-migration domain, the tool used for URL replacement, a wp-content/uploads size comparison, and whether the layout renders correctly via the direct/temporary server URL.
Information to collect before requesting help
- 01 Old and new domain, plus the temporary/staging URL used during migration
- 02 Exact tool used to replace URLs (migration plugin, WP-CLI, or manual SQL)
- 03 wp-content/uploads file count and size on old vs. new server
- 04 Whether the layout renders correctly via direct server access bypassing DNS/CDN
- 05 CDN and cache providers in use, and whether they were purged after cutover
- 06 SSL status on the new host and any mixed-content console warnings
- 07 Availability of a pre-migration database backup
- 08 Database charset/collation on source vs. destination
How a professional repairs the problem
A technician first isolates whether the symptom is genuine layout data corruption, missing assets, or stale DNS/CDN delivery by testing the direct server URL and inspecting raw post content for serialization damage. Corrupted data is restored from a pre-migration backup and URLs are then reapplied with a serialization-safe tool; missing uploads are resynced with a verified file-count match; CDN and object caches are fully purged; and mixed-content references are corrected once SSL is confirmed working — with every fix validated against the direct server URL before declaring DNS or CDN fully propagated.
Frequently asked questions
Did the migration destroy my Beaver Builder layouts permanently? +
Why does the layout look fine on the temporary URL but broken on the live domain? +
What is a "serialization-safe" search-replace, and why does it matter? +
Why are my images showing broken-image icons after migration? +
Should I re-run the whole migration if the layout looks broken? +
Can mixed content really make a layout look broken? +
Repair dispatch
Still Need Help Fixing Your Website?
If you are not comfortable editing website files, changing server settings, repairing a database, or troubleshooting a live website, professional help may prevent additional damage or downtime. We will review the problem before accepting the repair.
- You will receive a clear explanation of the likely cause.
- We will tell you if the issue falls outside our repair scope.
- No additional work will be performed without approval.
- A backup should be created whenever access and website condition allow it.
Do not share passwords through an unencrypted contact form — use Password Pusher (self-destructing link). Prefer a dedicated Rescue 404 admin account, not your personal owner login; if you cannot create one yet, we will add ours after repair.