Skip to main content

Migrating WordPress Posts

Migrate posts including all metadata, SEO data, images, and author information using WP All Export (Free) and WP All Import (Pro).

TLDR
  1. Check for page builder usage - disable and compare layouts first
  2. Export all post data including custom fields, SEO, and media using WP All Export
  3. Import with WP All Import Pro - test ONE post first, verify everything
  4. Import remaining posts after validation
  5. Bill separately if page builder removal requires manual layout fixes

Pre-Migration: Page Builder Check

Before exporting, determine if posts use a page builder (Elementor, WPBakery, Divi, etc.):

  1. Disable the page builder plugin on the source site (create a staging site to test if required)
  2. Compare post layouts - view posts with builder disabled vs enabled
  3. Assess impact:
    • Minimal impact: Standard content displays correctly → proceed with migration
    • Major impact: Layout breaks significantly → posts require manual fixes post-import
Billing Note

If the page builder significantly affects post layouts, bill post importing separately. Manual work will be required to fix layouts after import.


Step 1: Export Posts (WP All Export - Free)

On the source site, install and run WP All Export:

  1. Go to All Export → New Export
  2. Select Posts as the post type
  3. Click Customize Export File and include ALL relevant fields:

Required Export Fields

CategoryFields to Include
CorePost Title, Post Content, Post Excerpt, Post Status, Post Date
AuthorAuthor ID or Author Username
MediaFeatured Image URL, Content Images
TaxonomiesCategories, Tags, Custom Taxonomies
SEO (Yoast/RankMath/AIOSEO)SEO Title, Meta Description, Focus Keyphrase, Canonical URL, Robots Meta
Custom FieldsAll _yoast_*, _rank_math_*, or _aioseo_* meta fields
Other MetaAny custom post meta relevant to the site
  1. Export as CSV (recommended for easier debugging)
  2. Download the export file and images if exporting separately

Step 2: Import Posts (WP All Import - Pro)

On the destination site:

  1. Go to All Import → New Import
  2. Upload the export file
  3. Select Posts as the import type
  4. Map all fields to their corresponding WordPress fields:
    • Map SEO fields to the correct SEO plugin fields on the destination
    • Ensure author mapping is correct (by ID or username)
    • Configure image imports (download from URLs or use media library)

Import Settings Checklist

  • Post title mapped
  • Post content mapped
  • Post date preserved (not set to import date)
  • Author correctly assigned
  • Featured images downloading
  • Categories/tags mapped or created
  • SEO title and description mapped
  • SEO robots/canonical settings mapped
  • Custom fields mapped

Step 3: Test Import (Single Post)

Import only ONE post first:

  1. In WP All Import, set to import a single record

  2. Run the import

  3. Verify the imported post:

    • Content displays correctly
    • Featured image attached
    • Inline images display
    • Author is correct
    • Post date is correct
    • Categories/tags assigned
    • SEO title shows in plugin
    • Meta description shows in plugin
    • Other SEO settings preserved
    • Custom fields populated
  4. Check frontend rendering - view the post on the live site


Step 4: Import Remaining Posts

Once the test post is validated:

  1. Return to WP All Import
  2. Run the full import
  3. Monitor for errors during import
  4. Spot-check several posts after completion
  5. Verify SEO data on a sample of imported posts

Post-Import Tasks

  • Check for broken images and fix paths if needed
  • Verify internal links still work
  • Test pagination on blog/archive pages
  • Clear any caching plugins
  • Regenerate sitemaps if using SEO plugin