Guide
CMS and headless export formats
WXR for WordPress itself, and JSON shaped for the migration tool of Drupal, Ghost, Strapi and Contentful. These formats keep the content model — posts, pages, taxonomies, authors and media as separate entities rather than flattened rows.
WordPress WXR Export Format
The WordPress export format generates a WXR (WordPress eXtended RSS) XML file that can be imported into another WordPress installation. This is the standard format used by WordPress for content migration.
Output Files
When exporting to WordPress format, the following file is generated:
| File | Description |
|---|---|
wordpress_export.xml |
Complete WXR export with all content |
WXR Content Mapping
| WordPress Source | WXR Element |
|---|---|
| Posts | <item> with <wp:post_type>post</wp:post_type> |
| Pages | <item> with <wp:post_type>page</wp:post_type> |
| Media/Attachments | <item> with <wp:post_type>attachment</wp:post_type> |
| Categories | <wp:category> |
| Tags | <wp:tag> |
| Authors | <wp:author> |
| Featured Images | <wp:postmeta> with _thumbnail_id |
| SEO Data | <wp:postmeta> with Yoast-compatible keys |
Usage Example
1# Export WordPress content to WXR format
2wpexportjson export --url https://your-wordpress-site.com -f wordpress
3
4# Export to WordPress WXR and create ZIP for easy transfer
5wpexportjson export --url https://your-wordpress-site.com -f wordpress --zip
Importing to WordPress
- Log in to your WordPress Admin Dashboard
- Go to Tools > Import
- Click Install Now under WordPress (if not already installed)
- Click Run Importer
- Upload
wordpress_export.xml - Assign authors and select whether to import attachments
- Click Submit to complete
Note: WXR is the official WordPress import/export format. For best results, review the WordPress Import documentation.
Drupal Export Format
The Drupal export format generates JSON files compatible with Drupal's Migrate module. This format is designed for migrating WordPress content to Drupal 8/9/10.
Output Files
When exporting to Drupal format, the following files are generated:
| File | Description |
|---|---|
drupal_export.json |
Complete export with all content types |
drupal_nodes.json |
Posts and pages as Drupal nodes |
drupal_terms.json |
Categories and tags as taxonomy terms |
drupal_users.json |
Users as Drupal user accounts |
drupal_media.json |
Media files as Drupal media entities |
Drupal Content Mapping
| WordPress Source | Drupal Destination |
|---|---|
| Posts | Node type: article |
| Pages | Node type: page |
| Categories | Taxonomy vocabulary: categories |
| Tags | Taxonomy vocabulary: tags |
| Featured Image | Media entity reference (field_image) |
| Post Content | Body field with full_html format |
| Post Excerpt | Body summary field |
| SEO Data | Metatag module fields |
Usage Example
1# Export WordPress content to Drupal format
2wpexportjson export --url https://your-wordpress-site.com -f drupal
3
4# Export to Drupal and create ZIP for easy transfer
5wpexportjson export --url https://your-wordpress-site.com -f drupal --zip
Importing to Drupal
- Install the Migrate and Migrate Source JSON modules
- Upload the JSON files to your Drupal server
- Create migration configuration files referencing the JSON sources
- Run migrations using Drush:
drush migrate:import --all
Note: Drupal migration requires custom migration YAML configuration. The JSON structure is designed to work with
migrate_source_jsonplugin. For best results, review the Drupal Migrate documentation.
Ghost Export Format
The Ghost export format generates a JSON file compatible with Ghost CMS import.
Output Files
| File | Description |
|---|---|
ghost_export.json |
Complete Ghost import format |
Ghost Content Mapping
| WordPress Source | Ghost Destination |
|---|---|
| Posts | Posts |
| Pages | Pages |
| Categories | Tags (with category prefix) |
| Tags | Tags |
| Users | Users |
| Featured Image | Feature image |
| SEO Data | Meta fields |
Usage Example
1wpexportjson export --url https://your-wordpress-site.com -f ghost
Importing to Ghost
- Log in to your Ghost Admin panel
- Go to Settings > Labs
- Find Import content section
- Upload
ghost_export.json
Strapi Export Format
The Strapi export format generates JSON files compatible with Strapi v4 headless CMS.
Output Files
| File | Description |
|---|---|
strapi_export.json |
Complete export with all content types |
strapi_articles.json |
Blog articles |
strapi_pages.json |
Pages |
strapi_categories.json |
Categories |
strapi_tags.json |
Tags |
strapi_authors.json |
Authors |
strapi_media.json |
Media files |
Strapi Content Mapping
| WordPress Source | Strapi Destination |
|---|---|
| Posts | Articles (collection type) |
| Pages | Pages (collection type) |
| Categories | Categories (collection type) |
| Tags | Tags (collection type) |
| Users | Authors (collection type) |
| Media | Media library |
| SEO Data | SEO component fields |
Usage Example
1wpexportjson export --url https://your-wordpress-site.com -f strapi
Contentful Export Format
The Contentful export format generates a JSON file compatible with Contentful's import tool.
Output Files
| File | Description |
|---|---|
contentful_export.json |
Complete Contentful import format |
Contentful Content Mapping
| WordPress Source | Contentful Destination |
|---|---|
| Posts | blogPost content type |
| Pages | page content type |
| Categories | category content type |
| Tags | tag content type |
| Users | author content type |
| Media | Assets |
Content Types Created
The export includes content type definitions for:
blogPost- Blog posts with title, slug, content, author, categories, tagspage- Static pages with title, slug, contentcategory- Categories with name, slug, descriptiontag- Tags with name, slugauthor- Authors with name, slug, bio
Usage Example
1wpexportjson export --url https://your-wordpress-site.com -f contentful
Importing to Contentful
- Install the Contentful CLI:
npm install -g contentful-cli - Log in:
contentful login - Import:
contentful space import --content-file contentful_export.json