WordPress to Shopify Migration

Migrate Your WordPress Blog to Shopify, Every Permalink Redirected

To migrate a WordPress blog to Shopify, export it from Tools > Export as a WXR (.xml) file holding posts, pages, comments, categories, tags and authors. Shopify has no screen that imports that file, so posts go in through an app or the Blog API. Categories become tags, images are re-uploaded, and every old permalink gets a 301. Running WooCommerce too? That is a store migration as well.

What the WXR File Holds

Updated 22 October 2026 · Bhavesh Barot, Founder

A woman in a green blazer writing in a notebook beside a laptop that shows a timeline of coloured bars
What a WordPress Blog Move Touches
Shopify Partner (registered)
WordPress WXR export
Shopify Blog API
Yoast and Rank Math fields
/wp-content/uploads images
Shopify URL redirects
Google Search Console
Shopify Buy Button
Shopify Partner (registered)
WordPress WXR export
Shopify Blog API
Yoast and Rank Math fields
/wp-content/uploads images
Shopify URL redirects
Google Search Console
Shopify Buy Button
Two people at a wooden desk comparing a layout of grey blocks on one monitor with a coloured layout on the other
About FactoryJet

A WordPress Blog in Four Numbers

WordPress is generous at export and Shopify is strict at import, so the work sits in between. FactoryJet is a registered Shopify Partner that has served 500+ businesses since 2014, and we build both sides: WordPress and Shopify. You see your own posts running on a Shopify demo before you sign.

📄
9
Content types in a WXR file

Posts, pages, custom post types, comments, custom fields, categories, tags, taxonomies and users. Source

🔗
?p=
WordPress default permalink

Plain permalinks are the install default, so older blogs often carry /?p=123 links. Source

🏷️
Tags
Shopify in place of categories

Shopify organizes posts with tags, so the WordPress category tree flattens. Source

↪️
100,000
Shopify redirect limit

Standard plans hold 100,000 redirects; Shopify Plus holds 20,000,000. Source

Blog Migration Problems

Where WordPress Blog Moves Break

The export button works fine. The trouble starts when hundreds of posts, their images and their old URLs have to fit Shopify’s simpler blog.

01

Shopify Has No WXR Import Button

On WordPress:

WordPress hands you one WXR file. Shopify’s migration notes point to apps or the Blog API for blog posts, not an upload screen.

What we do:

We parse the WXR file, clean each post’s HTML and post it through the Blog API with its original date, excerpt and slug.

02

Categories and Authors Do Not Map One to One

On WordPress:

Shopify posts use tags, not a category tree, and an author must be the store owner or a staff account with admin access.

What we do:

Categories become tags or separate blogs, and we agree with you which writers get staff accounts and which posts carry a byline line.

03

Images Still Live on the WordPress Host

On WordPress:

The WXR file references images in /wp-content/uploads by URL. Close the host and every image in every post breaks.

What we do:

We download each image, upload it to Shopify, and rewrite the image links inside every post before it is published.

04

Old Permalinks Come in Five Shapes

On WordPress:

Date-based, ?p= query, category, tag and author URLs all need a target, and Shopify warns that query-string redirects might not work as expected.

What we do:

Every permalink shape gets a row in the 301 map, and ?p= links are handled at the DNS or CDN layer if Shopify’s tool cannot catch them.

Five things to check in WordPress first

  • Check Settings > Permalinks and note which structure you use, plus any category or tag base.
  • Decide whether WooCommerce is part of the move or the blog alone.
  • List every plugin that changes post output: SEO, shortcodes, page builders, related posts.
  • List every writer who needs to appear as an author on Shopify.
  • Note where your email is hosted, since many WordPress hosts also run the mailbox.
// WORDPRESS WXR TO SHOPIFY BLOG

From WXR File to Shopify Articles

Posts and pages from the WXR export into the Blog API, images out of /wp-content/uploads, categories into tags, and a 301 for every permalink shape.

Auto-cycling through architecture lenses every 5s·Click any tab to jump directly
L1

Layer 1: The Modern Storefront (Fast, Flexible & Easy to Edit)

What your customers actually see and use. Loads in under 1 second and lets your marketing team edit banners in minutes without coding.

⚡ Sub-Second Speed1-Click Shop Pay

Global Online Store

Super-fast mobile shopping with instant checkout and multi-currency pricing across the world.

Wholesale & B2B Portal

Wholesale buyers get their custom negotiated prices, volume tiers, and Net 30 invoices on one login.

Retail Stores & POS

One unified inventory and customer account shared between your physical stores and website.

AI Search Optimization

Structured so ChatGPT, Perplexity, and Google AI Overviews can read and cite your product pages.

↓GraphQL Webhook Stream (Queued and Retried Orders)↓
L2

Layer 2: The Smart Event Bus (The Highway Between Systems)

Moves every purchase, stock change and price update between your systems without loading your servers.

Event queueFailed events retried

Durable Safety Queues

If your ERP ever undergoes scheduled maintenance, orders wait safely in queue and sync the second it comes back.

Automatic Data Translator

Converts Shopify orders and products into the exact format your ERP understands, without manual re-keying.

Duplicate Protection

Prevents accidental double charges or double order bookings even during massive Black Friday traffic spikes.

↓Certified REST, OData & SuiteTalk Connectors↓
L3

Layer 3: Your Back-Office Systems (Completely Untouched)

You do not have to replace your ERP, warehouse software, or accounting tools. They stay your single source of truth.

Back-Office Continuity

NetSuite / SAP ERP

General ledger, corporate finance, taxes, and purchase orders balance automatically.

PIM (Product Master)

Akeneo, Pimcore, or Salsify managing 100k+ SKU specs and image galleries.

Warehouse & 3PL (WMS)

Manhattan, Deposco, or ShipBob printing packing slips and tracking numbers live.

Salesforce CRM / Klaviyo

Keep your customer support tickets and marketing automations running without interruption.

Staged

Cutover Rehearsed First

Planned

Cutover Window Agreed With You

1-to-1

301 Redirect Map

Yours

Code and Data Ownership

Direct Founder Discovery Call

Reviewing Your WordPress Contract or Replatforming?

Talk directly with founder Bhavesh Barot (no junior salespeople). We review your custom cartridges, ERP synchronization requirements, and deliver a transparent fixed-price roadmap before any commitment.

✓ Engineer-Led · Zero Sales Pressure
From WordPress.org and Shopify Docs

WordPress Content Next to Its Shopify Home

Each row cites the WordPress.org or Shopify page we read on 22 October 2026. Where a row says “we”, it describes our method, not a vendor rule.

DataWhat WordPress exportsWhere it goes in ShopifySource (checked 22 Oct 2026)
Export fileOne WXR (.xml) file from Tools > Export, filtered by category, author, date range or status.No admin import screen. Blogs move by migration app or Blog API.WordPress.org: Tools Export screen; Shopify Help: Migration considerations
PostsPosts, custom post types and custom fields (where SEO plugins keep titles).Articles at /blogs/{blog-name}/{handle}, each with a search engine listing.WordPress.org: Tools Export screen; Shopify Dev: blog object
Categories and tagsCategories, tags and custom taxonomies.Tags organize posts into categories or subjects; extra blogs can be created.WordPress.org: Tools Export screen; Shopify Help: Working with blog posts
AuthorsUsers are included in the export.Author must be the store owner or a staff member with admin access.WordPress.org: Tools Export screen; Shopify Help: Working with blog posts
PagesPages are included in the export.Single pages such as shipping or refund policies can usually be pasted in.Shopify Help: Migration considerations
PermalinksPlain /?p=N is the install default; Day and name, Month and name, Numeric, Post name or Custom. Category and tag bases cannot be removed.Up to 100,000 redirects (20,000,000 on Plus). Query-string URLs might not redirect as expected.WordPress.org: Customize permalinks; Shopify Help: URL redirects
MembersSite users, if any are shoppers or subscribers.Customer CSV import. Passwords cannot be migrated; customers get an invite.Shopify Help: Import customers
Keep WordPressYour WordPress site stays as it is.Buy Button adds Shopify products to an external site; included in all plans.Shopify Help: Buy Button
Monthly platform feeWhatever you pay your host and plugin vendors today.Basic $39/mo monthly or $29/mo yearly; Grow $105 or $89; Advanced $399 or $359 (USD).Shopify: Pricing

WordPress permalink shapes and where each one points

  • /2024/05/28/post-name/ or /2024/05/post-name/ to /blogs/news/post-name. Day and name, or Month and name, permalinks. The slug stays; the dates drop.
  • /?p=123 to /blogs/news/{handle}. The WordPress default. Shopify warns query-string redirects might not work as expected, so we test these and add a DNS or CDN rule if needed.
  • /category/{slug}/ and /tag/{slug}/ to The matching Shopify blog or tag view. Category and tag bases are WordPress defaults, editable but never removable.
  • /author/{name}/ to /blogs/news or the writer’s best post. Shopify has no author archive pages.
  • /about/, /contact/ and other pages to /pages/{handle}. Pages move as Shopify pages with their copy and images.
  • /wp-content/uploads/... images to Shopify-hosted files. We redirect image URLs that have backlinks or image search traffic.

Selling through WooCommerce as well? Products and orders follow the WooCommerce to Shopify plan. Prefer to keep the blog on WordPress? Our WordPress and Shopify integration service connects the two instead.

Blog Migration Steps

WordPress Blog to Shopify in 10 Steps

Search Console data comes first, because it decides which posts deserve the move. Images are re-hosted before a single article is published, and the redirect map is tested before DNS changes.

  1. 🧭
    01

    Decide: blog only, or WooCommerce too?

    A WooCommerce store adds product, customer and order files, covered by our WooCommerce guide. A content-only site moves posts, pages and media.

  2. 📊
    02

    Pull 12 months of Search Console data

    We rank every post by clicks, so you can choose which posts move and which redirect to a stronger post.

  3. 📦
    03

    Export the WXR file from Tools > Export

    All content, or Posts filtered by category, author, date range or status. One .xml file comes back.

  4. 🖼️
    04

    Download every image in /wp-content/uploads

    Each referenced image is fetched, uploaded to Shopify and its new address written back into the post HTML.

  5. 🧹
    05

    Convert shortcodes and blocks to clean HTML

    Shortcodes that only work with a plugin are rewritten. Page builder layouts are listed for a theme rebuild.

  6. 🏷️
    06

    Map categories, tags and authors

    Categories become tags or separate blogs. Authors map to staff accounts or a byline line, agreed with you in writing.

  7. 📝
    07

    Post articles through the Blog API

    Each article keeps its publish date, excerpt, slug and the SEO title and description from Yoast or Rank Math.

  8. 💻
    08

    Rebuild pages and the blog design

    Static pages move as Shopify pages; page builder layouts become theme sections. You review a working demo before sign-off.

  9. 🔗
    09

    Write the 301 map for every permalink shape

    Posts, date archives, category, tag and author archives, pages and ?p= links each get a target, one row per old URL.

  10. 🚀
    10

    Freeze, re-sync, switch DNS

    Publishing pauses briefly, new posts are imported, DNS points to Shopify, then redirects and email are tested.

Vendor Due Diligence

Picking a Partner for a WordPress Blog Move

Blog moves look cheap on paper. Check these four before you compare prices:

Evaluation Factor
FactoryJet
Common Shortcut
Getting posts in
WXR parsed by script and posted through the Blog API with original dates, excerpts, slugs and SEO fields.
Posts pasted in one by one, dates reset to launch day, SEO titles lost.
Images
Every /wp-content/uploads image re-hosted on Shopify and rewritten inside each post.
Images left loading from the old host until it is cancelled, then broken.
Permalinks
Every shape mapped: dates, ?p=, category, tag, author and page URLs, each a single-hop 301.
Posts mapped, archives and ?p= links ignored.
Price and accountability
Fixed price per phase, a working demo on your own posts before you sign, defects fixed inside the build price.
Hourly billing that grows with post count.

Questions for any WordPress migration quote

  • How do you get the WXR file into Shopify when there is no import screen?
  • Will images be re-hosted on Shopify, or still load from my WordPress host?
  • How will my categories, tags and authors map?
  • Do my Yoast or Rank Math titles and descriptions carry over?
  • What is your plan for old ?p= links and date-based permalinks?
  • Can I see a working demo with my own posts before I sign?

Related pages

Interactive Speed & Revenue Modeling

Enterprise Store E-Commerce Speed & Latency ROI Calculator

Model how much annual revenue your store loses to mobile page latency, and calculate the exact return on migrating to sub-second architecture:

$125,000
$10,000/mo$500,000/mo$1,000,000+/mo
1.8%
0.5% (Sub-par)1.8% (UK/US Average)5.0% (Top Tier)
3.8s (Fails CWV)
1.2s3.8s (Typical Store)6.0s (Severe Latency)
Annual Revenue Lost to Latency
+$382,500/ year

Based on sub-second 0.8s mobile LCP optimization standards.

Monthly Recovery+$31,875/mo
Conversion Lift+25.5% Lift
Target Mobile Conversion:2.26%
Target Load Speed (LCP):0.80s (Sub-Second)

WORDPRESS BLOG MIGRATION

WordPress to Shopify Blog Migration FAQ

What editors and owners ask before moving a WordPress blog or site to Shopify:

Planning the WordPress Move

How do I migrate my blog from WordPress to Shopify?

Export the blog in WordPress under Tools > Export, which downloads a WXR (.xml) file of posts, pages, comments, categories, tags and authors. Shopify has no button that reads that file, so posts go in through a migration app or Shopify’s Blog API. Turn categories into tags, re-upload images from /wp-content/uploads, set each article’s SEO title, then 301 every old permalink to its new Shopify URL.

Can you transfer a whole WordPress website to Shopify?

The content can move; the WordPress machinery cannot. Posts and pages travel in the WXR export, and Shopify’s notes say single pages such as shipping or refund policies can usually be pasted in by hand. Your theme, plugins, forms and page builder layouts do not run on Shopify, so they are rebuilt as Shopify theme sections and apps. Every URL then gets a 301.

My WordPress site runs WooCommerce. Is this the right guide?

Only for the blog half. If you sell through WooCommerce, the products, variations, customers and orders are a store migration with their own export files and limits, covered on our WooCommerce to Shopify page. This page is for WordPress sites that are mostly content: a blog, a brochure site, or a blog sitting next to a store that already runs on Shopify.

Can I keep WordPress for the blog and use Shopify for the store?

Yes, and for a large blog it is often the better call. One route is Shopify’s Buy Button, which adds products to an external website or blog post and is included in all Shopify subscription plans. The other keeps WordPress for content and Shopify for the store, linked by menus and shared design. The cost is two systems to update. See our WordPress and Shopify integration service for that setup.

Can you run a proper blog on Shopify?

Yes. Shopify has a built-in blog: you write posts, add excerpts for the blog landing page, organize posts with tags and edit each post’s search engine listing. You can also create more than one blog, for example a journal and a recipes section. It is simpler than WordPress, with no category tree and no plugin library, which suits stores whose blog supports the products.

What do I give up by moving my blog from WordPress to Shopify?

Mostly flexibility. Shopify posts use tags instead of a category tree. A post author must be the store owner or a staff account with admin access, which matters for guest writers. Article URLs always sit under /blogs/{blog-name}/, so no WordPress permalink survives unchanged. And plugins such as SEO, related-post or table-of-contents tools need a Shopify app or theme code instead.

Exporting the WordPress Blog

How do I export my WordPress blog?

In the WordPress dashboard, open Tools > Export. Choose All content, or choose Posts to filter by category, author, date range or status such as Published. Click Download Export File and WordPress saves a WXR file, short for WordPress eXtended RSS, to your computer. That one file is the starting point for the Shopify import.

What is inside a WordPress WXR export file?

WordPress lists nine kinds of content: posts, pages, custom post types, comments, custom fields, categories, tags, custom taxonomies and users. Image files are not in that list. The file points to your media by URL, so we download each image from /wp-content/uploads and upload it to Shopify before any article is posted. Otherwise posts keep loading images from the old WordPress host.

Does Shopify import WordPress XML files directly?

Not from the Shopify admin. Shopify’s migration notes list migration apps and the Blog API as the ways to bring blog posts across. We parse the WXR file with our own script, clean each post’s HTML and send it to the Blog API, which lets us keep the original publish date, excerpt and slug for every article.

Can I move only some of my WordPress posts?

Yes. The WordPress Posts export can be filtered by category, author, date range and status. Before exporting we pull 12 months of Search Console data so you can see which posts earn clicks. Thin or out-of-date posts can stay behind, and their URLs redirect to the closest post that does move, so no old link ends on a 404.

Categories, Authors & Images

What happens to WordPress categories and tags on Shopify?

They merge into Shopify tags. Shopify’s help says you can use tags to organize posts into categories or by subject, so each WordPress category becomes a tag and nested categories flatten. If your blog has a few large, distinct sections, those can become separate Shopify blogs instead, each with its own URL. We agree the mapping with you before import.

What happens to post authors when the blog moves?

Shopify only lets you pick the store owner or a staff member with admin access as a post’s author. For a blog with guest writers, that means either giving some writers staff accounts or keeping one author and adding a byline line inside each post. Author archive pages in WordPress, such as /author/jane/, are redirected to the blog or to that writer’s best post.

Will my Yoast or Rank Math SEO titles carry over?

Yes, with mapping. SEO plugins store titles and meta descriptions as custom fields on each post, and custom fields are part of the WXR export. We read those fields and write them into each Shopify article’s search engine listing. Where a post had no custom title, we keep the post title rather than inventing one.

Will shortcodes, Gutenberg blocks and page builder layouts survive?

Not as they are. Shortcodes such as [gallery] only render while their plugin runs, so in the export they are plain text. We convert them to clean HTML before import. Gutenberg blocks mostly come across as HTML. Pages built in Elementor or Divi depend on those plugins to render, so they are rebuilt as Shopify theme sections.

What happens to blog comments?

Comments are in the WXR file, so nothing is lost at export. Whether they appear on Shopify is your choice. Many owners leave old comments behind and start fresh; others keep the useful ones as a short quoted section at the end of a post. We agree which option you want before import, since it changes how each post is built.

Users, Domain & Launch

Do WordPress users become Shopify customers?

Not automatically. WordPress users in the WXR file are mainly authors and site accounts. If your site has members or subscribers who should become Shopify customers, we export them separately and import them by customer CSV. Shopify says customer passwords cannot be migrated that way, so each person gets an invite to set a new password.

Do I have to move my domain off my WordPress host?

No. Most domains stay where they are registered, and we change the DNS records so the domain points to Shopify. Before switching we list your email (MX) records, because many WordPress hosts also run the mailbox, and we confirm mail still arrives after the change. Cancel the old hosting only after launch checks pass.

How do you keep the blog live while it moves?

WordPress stays live until launch. We import a first full export into Shopify, review it with you, then freeze publishing for a short window and import anything posted since. DNS switches, we test redirects and pages, and the old host stays paid for until those checks pass, so going back is a DNS change.

Cost & Timeline

How much does a WordPress to Shopify migration cost?

It depends on post count, how many pages use a page builder, how categories and authors map, and whether you have old ?p= links to handle outside Shopify. A WooCommerce store adds product and order work. FactoryJet quotes a fixed price in writing after a short scoping call, with defects fixed inside the build price for a cover period agreed up front.

How long does a WordPress to Shopify migration take?

FactoryJet migrations run 5 to 8 weeks from signed scope to launch, and a custom-theme store without migration takes 3 to 5 weeks. A blog-only move into a store you already run on Shopify is scoped on its own and quoted in writing. Across 500+ businesses since 2014, 97% of our projects have shipped on time.

BB
Senior Technical Leadership18+ Years Engineering Experience

Bhavesh Barot

Founder & Chief Technical Architect at FactoryJet · Enterprise Systems & Frontend Specialist

Architect of high-performance Next.js web applications, headless commerce systems, and local search infrastructure for growing brands. Every project is planned, reviewed, and deployed directly under senior technical supervision with zero junior agency handoffs.

Fixed Price Per Phase

Send Us Your WordPress Site

We read your permalink setup, count posts, pages and images, list the plugins that shape your content, and send a written fixed price with the redirect plan attached.

Free quote
Founder replies in 24h