WordPress

Elementor to Custom Theme: Migrate Without Losing Rankings

Moving a business site off Elementor to a custom block theme: extracting content, preserving URLs and metadata, the redirect map and the launch checklist.

5 min read
WordPressElementorSEO
858 words5 min read

Why sites leave Elementor

Not because it is bad software. Because after a few years a page-builder site is slow, every page is a bespoke layout nobody can change without breaking it, the content is trapped in builder markup, and the client is paying for a stack of add-ons to do things a theme should do natively. The decision to leave is usually made at redesign time, and the risk everyone worries about is the same: will we lose our Google rankings?

You will not, if the migration treats rankings as a deliverable. Here is the method.

Step 1: inventory what you have

Before designing anything, list every URL on the live site. Export from the sitemap, from Search Console's Pages report, and from a crawl. Three lists, merged. This is the set of addresses that must either exist on the new site or redirect to one that does.

For each URL, record: the title tag, the meta description, the H1, the canonical, and roughly what ranks for it (Search Console's Performance report by page). This is what you are preserving.

Also inventory the content itself: which pages are real content, which are builder-generated variations, and what structured data (services, staff, prices) is buried in builder widgets and needs to become proper post types.

Step 2: extract the content

Elementor stores page content as JSON in post meta (_elementor_data), with a rendered HTML copy in post_content that is often stale. Neither is clean.

For prose pages, the practical method is to render each page on staging, extract the text and images from the rendered HTML, and re-enter it into the new content model. For a fifty-page business site this is a day's careful work and it is the moment to fix the copy anyway.

For structured content, staff, services, prices, do not copy the builder widgets. Create the proper post types in the new site and enter the data once, correctly. It is more work than it sounds and less than redoing it after launch.

Images: download the originals from the media library, not the resized versions the builder served, and re-upload with the new site's optimisation on.

Step 3: build with the same URLs

The single largest ranking risk is changing URLs. The new site should keep every URL that currently ranks, exactly, including trailing slash behaviour. If the structure is being improved, the old URL redirects to the new one with a permanent redirect, and the redirect map is written before launch, not discovered from 404 reports afterwards.

Keep the title tags and meta descriptions from the inventory unless you are deliberately improving them, and if you are, do it page by page with the current rankings in view.

Step 4: match the on-page signals

For each page, before launch, compare old and new:

  • Same H1, or an intentional improvement.
  • Same or better body content; nothing lost.
  • Internal links pointing at the same targets.
  • Images with alt text preserved.
  • Structured data equal or better (the new site should emit proper schema where the builder emitted none).
  • Canonical pointing at itself.

A side-by-side spreadsheet of old versus new for every URL is tedious and is the thing that prevents the post-launch traffic drop.

Step 5: the launch checklist

  1. Redirect map loaded and tested on staging: every old URL either resolves or redirects once, to the right place.
  2. robots.txt on the new site does not block anything the old one allowed.
  3. Sitemap generated and submitted to Search Console after launch.
  4. Analytics and tag manager installed and verified before go-live.
  5. Forms and booking tested end to end, including emails.
  6. Search Console URL inspection on the ten most valuable pages the day after launch: indexed, canonical correct, no errors.
  7. Watch the Pages report daily for a week for unexpected 404s; add redirects as they appear.

What actually happens to rankings

With URLs preserved and content matched, rankings typically hold, with a small wobble in the first two weeks as Google recrawls, and then often improve, because the new site is faster and cleaner. Where URLs changed with correct redirects, the transfer takes weeks to fully settle. Where the migration was done without an inventory or a redirect map, traffic drops and takes months to recover, which is the story everyone has heard and the reason for the fear.

Removing Elementor

Once the new theme is live and stable, Elementor and its add-ons are deactivated and removed. Check that nothing else depended on them: some forms and pop-ups were builder widgets and need replacing before removal. The database cleanup afterwards, removing builder meta and CSS files, is worth doing; it is often tens of megabytes.

Where this fits

An Elementor-to-custom migration is a redesign project with an SEO deliverable attached, and it is priced as one. It is also the moment to fix the content model so the next redesign is a template swap rather than another migration. Both are part of how we scope WordPress development, and the inventory in step one is what makes the quote fixed.

All writingHire me for this