CMS Migration Guide: From WordPress, Shopify, Wix to Next.js with Zero SEO Loss

Comprehensive step-by-step export guides for WordPress XML, Shopify CSV, Wix, and Squarespace. Migrate content to Next.js while preserving rankings, traffic, and performance.

The NextJS Content Migration Workflow

MigrateCMS serves as a universal converter, transforming proprietary exports (XML, CSV) from legacy CMS into clean MDX files optimized for Next.js. This process minimizes SEO disruptions by maintaining slugs, metadata, and links.

1. Export
Download XML or CSV from your old CMS.
2. Convert
Upload to our tool to parse and clean data.
3. Deploy
Drop the generated files into your Next.js app.

Workflow Details

StepDescriptionTools/ConsiderationsPotential SEO Impact
ExportDownload raw data from CMS dashboard.Official plugins/apps (e.g., Matrixify for Shopify).Preserve original slugs to avoid 404 errors.
ConvertParse into MDX format.Custom tool handling HTML to Markdown conversion.Retain meta tags for descriptions and keywords.
DeployIntegrate into Next.js app.Use ISR for dynamic updates.Faster load times improve Core Web Vitals.

WordPress Migration

How to Export XML

WordPress exports via XML (WXR format) include posts, pages, comments, categories, and tags, but not themes or plugins.

  1. Log into WordPress Admin Dashboard.
  2. Go to Tools > Export.
  3. Select "All Content" or filter by posts/pages/authors/dates for large sites to prevent failures.
  4. Download the .xml file; if large, expect a zipped set of XML files via email.
  5. Prepare site: Set to public, delete spam/drafts, deactivate unused plugins for smoother export.
Note on Images: The XML file contains links to images hosted on your WordPress site. Our tool preserves these URLs so your images keep working. Do not delete your WordPress site until you have migrated the media assets to your new host. Use plugins like Regenerate Thumbnails post-import if needed.

Common Issues

IssueCauseSolutionSEO Relevance
Missing DataIncomplete export filters.Export in batches; verify counts.Prevents content gaps that could drop rankings.
Broken Links/ImagesURL changes.Implement 301 redirects in next.config.js.Maintains link equity.
Database ErrorsConfig mismatches.Update wp-config.php credentials.Ensures smooth data fetch for headless setup.

Next.js Integration Example

export async function getStaticPaths() {
  const posts = await fetchWordPressPosts(); // Fetch from WP API
  const paths = posts.map(post => ({ params: { slug: post.slug } }));
  return { paths, fallback: 'blocking' };
}

export async function getStaticProps({ params }) {
  const post = await fetchWordPressPost(params.slug);
  return { props: { post }, revalidate: 60 }; // ISR for updates
}

Shopify Migration

How to Export CSV

Shopify lacks native full-blog exports, so use apps like Mixtable or Matrixify for CSV. For products, native CSV is available.

For Products

  1. Navigate to Products in admin.
  2. Click Export > All Products > CSV for Excel.
  3. Include columns like Title, Body HTML, Handle for SEO slugs.

For Blog Posts (Using Mixtable)

  1. Install Mixtable app.
  2. Create workbook from Blogs template.
  3. Sync data, add columns (e.g., Content, Tags).
  4. Export to CSV/XLSX.

Pitfalls: App limits (e.g., 100 posts); use bulk tools. Preserve handles for URL continuity to avoid SEO loss.

Export Formats Comparison

PlatformFormatKey ColumnsLimitations
Shopify ProductsCSVTitle, Handle, Body HTML, ImagesNative, no blogs included.
Shopify BlogsCSV (via app)Title, Content, Author, TagsRequires third-party; sync manually for updates.
WordPressXMLTitle, PubDate, Content, CategoriesIncludes media links but not files.

Wix & Squarespace

Squarespace

Squarespace uses the WordPress export format natively.

  1. Go to Settings > Advanced > Import/Export.
  2. Click Export.
  3. Select the WordPress icon (yes, really).
  4. Download the XML file and upload it to our tool as "Squarespace".

Enhancements: Add manual media downloads; use tools for full backups.

Wix

Wix allows CSV exports for blog data.

  1. Go to your dashboard and select Blog.
  2. Click the More Actions (three dots) menu.
  3. Select Download Posts.
  4. Upload the CSV to our tool as "Wix".

Enhancements: Add manual media downloads; use tools for full backups.

Adobe AEM Migration

Exporting and migrating content from Adobe Experience Manager (AEM) leverages its Java Content Repository (JCR) for data integrity. AEM stores pages, assets, configurations, and fragments hierarchically.

Export Methods Comparison

MethodDescriptionBest ForFormatLimitations
Package ManagerBundles repository content into ZIP files using filters.Full-site or selective exports.Vault ZIP.No historical versions; requires admin access.
Page ExporterExports pages as static HTML with embedded assets.Static site generation.HTML bundle.Limited to pages.
Assets HTTP APIProgrammatic download of assets.Bulk media exports.Files or JSON.API authentication needed.

Step-by-Step Package Manager Export

  1. Log in to AEM as admin and navigate to Package Manager (/crx/packmgr/).
  2. Create package with name, version, group.
  3. Add filters (e.g., /content/my-site).
  4. Build and download ZIP.

For migration phases: Prepare (audit content), extract, transform (map to Next.js schema), import, test. Use APIs for automation.

Integration Guide

Once you have your ZIP file, structure your Next.js project for optimal performance and SEO.

Recommended Folder Structure

my-nextjs-app/

├── app/

├── public/

└── images/ // (Optional) For downloaded assets

└── content/

└── posts/ // Extract your MDX files here

├── my-first-post.mdx

└── hello-world.mdx

next.config.js for Redirects

module.exports = {
  async redirects() {
    return [
      { source: '/old-wp-post/:slug', destination: '/posts/:slug', permanent: true },
    ];
  },
};

Frontmatter Reference

Our tool generates standardized YAML frontmatter:

---
title: "Your Article Title"
date: "2024-03-20T10:00:00.000Z"
slug: "your-article-slug"
categories: ["Tech", "News"]
tags: ["Next.js", "React"]
platform: "wordpress"
seo: { description: "Optimized meta description for search engines", keywords: ["migration guide"] }
---

Common Migration Challenges and Solutions

Migrations can introduce issues like performance dips or SEO hits, but proactive steps mitigate them.

ChallengeDescriptionSolutionPrevention Tip
Performance IssuesSlow loads post-migration.Optimize with Next.js Image and caching.Use SSG/ISR from start.
Incompatible ThemesDesign mismatches.Rebuild with React components.Prototype early.
SEO LossBroken redirects.Map old URLs to new.Test with Google Search Console.

Ready to Migrate Your Content?

Ensure zero SEO loss by following these guides. For more tips, check Next.js SEO Docs.

Go to Migration Tool