Skip to content

$99 lifetime on AppSumo · Limited time

Get deal
wpgraft
ElementorElementorAny Elementor page, v3 or v4
ShopifyShopifySections and blocks in your theme editor

How to move a page from Elementor to Shopify

Move a page from Elementor to Shopify as an editable theme section, not a screenshot or an embed. What comes across, and what does not.

wpgraft never reads Elementor’s data. There is no exporter and no importer anywhere in this. It reads the page as your browser rendered it: the real elements and the real computed styles on each one, at every width you ask for. It then builds that as a Shopify section made of theme blocks, with every style in one of the blocks’ own settings. Nothing that arrives depends on Elementor still being there.

A WordPress site moving its shop to Shopify usually leaves its best pages behind, because an Elementor page has no way into a Shopify theme. wpgraft copies what Elementor rendered and writes it into your theme as a Shopify section of blocks, with every style in a setting. The Elementor site stays live until the store is ready.

Before you start

What to have ready

  • 01A Shopify store with a theme, and an admin login that may edit it: the store owner, or a staff account with the Themes permission.
  • 02No Shopify app. Nothing is installed from the Shopify App Store: the extension writes the copy from the admin tab you are signed in to.Get the extension
  • 03In the extension’s Copy into menu, pick Shopify, listed under Stores.Get the extension
Phase 1 · Set up
  1. 01

    Install the wpgraft extension in Chrome

    wpgraft is a Chrome extension. Get it from wpgraft.com/releases. Install it, click the icon, sign in. Copying needs an account with a paid plan, which you can choose from wpgraft.com/#pricing. On your very first copy it asks you to confirm you have the right to reuse what you are copying, once, and does not ask again.

    Get the Chrome extensionwpgraft.com/releases → Get the Extension
  2. 02

    No app: Shopify needs nothing installed

    There is no Shopify app to install and nothing to subscribe to. The extension writes the copy into your theme from the Shopify admin you are signed in to in Chrome, as you.

Phase 2 · Copy, in Elementor
  1. 03

    Open the Elementor page you want

    Not the Elementor editor. The page as a visitor sees it. The editor renders the page inside its own frame, and wpgraft copies the tab you are on.

    Open the page on the front end
  2. 04

    Choose Shopify in the extension

    Click the wpgraft icon on the source tab and pick your destination under Copy into. There is one Shopify entry, labelled Shopify. Switch Also copy tablet & phone on unless you only want the desktop layout: it is off until you turn it on, and it captures three viewports instead of one, so the copy arrives responsive.

  3. 05

    Point at what you want and copy it

    Select element starts a picker: hover to highlight, press ↑ to widen the selection to the parent and ↓ to narrow it again, click to confirm, Esc to cancel. Whole page takes the entire document in one pass. wpgraft scrolls the page for you first so lazy images and scroll-triggered effects have fired, then waits for the fonts and images to finish before it reads anything.

    click copies · ↑ widen · ↓ narrow · Esc cancels
Phase 3 · Insert, in Shopify
  1. 06

    Open your Shopify admin in Chrome

    Sign in at admin.shopify.com. For a section, open the theme editor (Online Store → Themes → Customize) on the page it belongs on, the home page or one of your pages: the section is added after the sections that page already has. For a whole page, any admin page will do, because it becomes a new page of its own.

    Open your Shopify admin in Chrome
  2. 07

    Add it in Shopify

    When the copy is ready, the box wpgraft shows on the page you copied from has an Add to Shopify now button once wpgraft is allowed on admin.shopify.com. Otherwise click the wpgraft icon and press Add in Shopify on the copy, and allow it when Chrome asks. The extension works in your admin tab with your own session, making the same requests the admin itself makes. The first time, it adds the wpgraft section and its blocks to the theme. It then has Shopify check the copy before anything else is created, uploads the images to your store’s Files, and writes the copy into the theme open in the theme editor, or your live theme when no editor is open: a section goes onto the page open in the editor, and a whole page, or a section with no editor open, becomes a new hidden page with a template of its own. The admin tab then opens the theme editor on it.

    Add to Shopify now · or the wpgraft icon → Add in Shopify
  3. 08

    Review it in the theme editor

    Look it over in the theme editor. A new page is created hidden, so shoppers do not see it until you make it visible under Online Store → Pages. A section added to the page open in the editor is already in that page’s template. Press Save in the theme editor after your own changes, as for any edit there.

Phase 4 · Edit
  1. 09

    Edit it like you built it

    This is where the product earns its keep. Click any block in the theme editor and its settings open with the copy’s real values in them. Change the heading, pick a different image from your Files, change the padding at desktop, tablet or phone width.

The result

What lands in Shopify

A Shopify section built from theme blocks

The copy is one wpgraft section, and every box, text, image and icon inside it is a theme block you can select in the theme editor’s sidebar, nested the way the page was.

Every style is a setting

A block’s CSS properties are its own settings, so its padding, width, font and colours are fields you change in the sidebar, with hover fields beside them, and tablet and phone variants for the properties that usually change with the screen. A declaration with no field of its own goes into the block’s More CSS box rather than being dropped.

Images in your Files

The images are uploaded to your store’s Files and the blocks point at Shopify’s copies. An image Shopify could not fetch keeps its original address.

Kept apart from your theme’s styles

The section resets what it would inherit and sets every element inside it back to the browser’s defaults before its own styles apply, so your theme’s heading and button styles do not restyle the copy, and the copy does not restyle your theme.

After the insert: Look it over in the theme editor. A new page is created hidden, so shoppers do not see it until you make it visible under Online Store → Pages. A section added to the page open in the editor is already in that page’s template. Press Save in the theme editor after your own changes, as for any edit there.

The source side

Copying out of Elementor

Not the Elementor editor. The page as a visitor sees it. The editor renders the page inside its own frame, and wpgraft copies the tab you are on.

  • Elementor 3 and Elementor 4 pages copy identically. wpgraft never looks at which one built the page, only at what the browser drew.
  • Elementor wraps almost everything in .elementor-section / .elementor-container / .elementor-widget layers. wpgraft removes wrappers whose removal provably changes nothing. It re-measures the page after each removal and puts back anything that moved, so you do not inherit Elementor’s div stack in the destination.
  • Elementor’s Motion Effects and entrance animations start at zero opacity. wpgraft scrolls the page first so they fire, but if a section is still animating when you click, copy it again once it has settled.
  • Global colours and global fonts are Elementor site settings, not properties of the element. They arrive as the actual resolved values, not as a link back to a kit you are leaving behind, which is what you want when the destination has no such kit.
  • A Loop Grid, a posts widget or anything else driven by a query copies as the posts that were on screen. It arrives as a design, not as a live query.
Honest limits

What does not carry over

A guide that only lists what works will waste your afternoon. These are the things that surprise people, set out before you start rather than discovered afterwards.

  • What is on screen is what is copied. A closed accordion is copied closed; an inactive tab is copied inactive; a carousel is copied on whichever slide was showing. Put the page into the state you want before you pick.
  • Behaviour does not travel; appearance does. A slider arrives as its markup and its styling, not as a working slider; a form arrives as a form that has had its submit target deliberately removed, so your copy can never post to Elementor’s endpoint. No store function comes with a copy either: a product card is the design of that product, not a product Shopify keeps up to date.
  • Anything driven by a query arrives as a design. A post grid or a product list copies as the items that were on the page at that moment, not as a collection that keeps filling.
  • Links that pointed at code are disabled. A javascript: link in the source page is emptied during the capture, before anything reaches Shopify. It is the one thing wpgraft will not carry across for you.
  • Only the page in the tab is copied; never what is inside a frame. An <iframe> is kept as the embed it is, inside an HTML block, pointing at the same address. wpgraft does not descend into it, which is also why a builder’s own editor canvas and an AI chat’s artifact preview have to be opened on their own URL before you can copy them.
  • A section is written into the theme open in the editor straight away. If that theme is your live one, a section added to the home page or a published page is live as soon as the insert finishes. Duplicate the theme first if you want to review before shoppers see it.
  • At most 512 KB on one page. That is Shopify’s limit, and a copy bigger than it is refused, with a message, before anything is written. Copy a long page one section at a time.
  • Very deep or very large copies are partly HTML. Shopify nests blocks eight levels deep at most and allows 1,250 blocks on a page. Where a copy goes deeper, or has more, the innermost parts become HTML blocks: they look the same, but you edit them as HTML rather than as fields.
  • 25 sections per page. A section copy is added to the page open in the editor only while that page has room for it; when it would pass Shopify’s 25-section limit, it arrives as a new hidden page instead.
  • Fonts travel by name. The section loads each font from Google Fonts: the family the page used when Google has it, the closest Google family when it does not. No text font file is uploaded to your theme; icon fonts are, as theme assets. A font your theme already declares under the same name can take over from the copy’s.
  • A whole-page copy sits inside your theme’s own header and footer, so a page that carried its own header shows both until you remove one.
  • Each insert uploads its images again. Add the same copy twice and your Files hold two sets.
Questions

Elementor to Shopify: FAQ

Do I have to keep Elementor installed after copying out of it?

Not for the copy’s sake. What lands in the destination is built from that builder’s own elements and carries no dependency on Elementor. Your original Elementor pages still need Elementor, of course, since deactivating it leaves those pages as raw shortcodes.

Do I need a Shopify app?

No. Nothing is installed from the Shopify App Store and there is nothing to subscribe to. The extension writes the copy from the Shopify admin you are signed in to in Chrome, as you, with the same requests the admin itself makes.

Which theme does the copy go into?

The one open in the theme editor. With no theme editor open, your live theme, where it arrives as a new page that is created hidden, so shoppers do not see it until you make it visible. To try a copy without touching the live theme, duplicate the theme and open the duplicate in the theme editor first.

Add in Shopify says the copy is too big. Why?

Shopify holds at most 512 KB of content on one page, and a long page with many images and styles can need more. It is a Shopify limit, not a fault in the copy. Copy the page a section at a time with Select element, and add each section to the same page in the theme editor.

My staff account cannot add the copy. What is missing?

Adding a copy changes the theme, so the account needs the Themes permission. Sign in as the store owner, or ask the owner to give you that permission under Settings → Users.

Does moving from Elementor to Shopify change anything on the Elementor side?

No. Nothing is exported, moved or deleted. wpgraft reads the rendered Elementor page the same way any browser does and writes a new copy into Shopify. Your Elementor site keeps running exactly as it did, which is what lets you rebuild one section at a time and switch over when you are ready.

Will the Shopify copy still need Elementor installed?

No. What lands is a wpgraft section in your own theme, with the images uploaded to your store’s Files. There is no embed and no stylesheet loaded from Elementor; the one exception is an image Shopify could not fetch, which keeps its original address.

Is the result editable, or is it a locked block?

Editable. Every box, text and image is a theme block with its own settings in the theme editor’s sidebar, and every CSS property of a block is one of those settings. A part that goes deeper than Shopify allows becomes an HTML block, which you edit as HTML. Before release, copies were added to a real store from its admin, and the theme editor rendered them with every block opening on its own fields.

Does it copy the mobile and tablet layouts too?

Yes, once you switch Also copy tablet & phone on. It is off by default, and with it off you get the desktop layout only, slightly faster. With it on, wpgraft measures the page three times: at your window’s own width, then at 768px, then at 375px. The tablet and phone values go into each block’s own fields: a block has Use different styles ≤991px and ≤767px switches, with tablet and phone fields for the 35 properties that change between breakpoints, such as display, width, padding, font size and text alignment, and a More CSS box per breakpoint for anything else. One honest caveat about the measurement: the Web Store build produces the narrow viewports inside the page rather than by resizing the window. It re-evaluates every media query at the target width, pins the layout width, resolves vw units and clamps position: fixed boxes to it, and the result is measured at 100% of the property values a real 768px and 375px window produces on getbootstrap.com and on a stock WordPress theme. What it cannot do is re-run the source site’s own JavaScript for the new width, so a layout a script computes on resize is copied as the desktop script left it, and the capture says so in a warning.

What does this cost?

Every plan is paid; there is no free tier and no trial. Pro is $20 a month or $180 a year, and Lifetime is $299 once. Each one includes every destination, whole-page copies as well as sections and elements, and unlimited copies at full fidelity, with nothing watermarked or downgraded. If it does not work for what you build, ask within 7 days of the charge and 90% of the plan price comes back.

Is copying a page from Elementor legal?

That depends on whose page it is and what you copy. Your own site, your own client’s site, a template you have licensed, or your own design on a platform you are leaving. None of that is in question. Somebody else’s design is a decision you are making, and wpgraft asks you to confirm you have the right to make it before your first copy. Text, images, fonts and icons all carry their own licences, and they travel with the copy.

Read more

Try a single section first.

Every destination unlocked, full fidelity, on every plan. Point at one Elementor section, put it in Shopify, and judge the result inside the refund window.