Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

The built-in WordPress route is Tools → Export on the source site, followed by Tools → Import → WordPress on the destination. WordPress creates a WXR XML file containing eligible content, including custom post types, taxonomies, custom fields and comments. This moves content records—not your complete site configuration or the attachment files themselves.

What you need before starting

  • Administrator access to both WordPress installations.
  • The custom post type’s registered slug, such as portfolio or property.
  • The theme or plugin that registers the post type.
  • A destination site where a compatible version of that registration is active before you import.

The registration matters because WordPress imports records as post types. If the destination does not know the post type and its taxonomies, imported data may not appear correctly in the editor or in the site’s templates.

Check that the post type can be exported

WordPress’s all-content exporter only includes post types whose registration enables can_export. The developer reference describes the rule this way: “Default behavior is to export all content, however, note that post content will only be exported for post types with the can_export argument enabled.”

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A registration should therefore include an exportable post type, for example:

register_post_type( 'portfolio', array(
    'public'      => true,
    'can_export'  => true,
    'supports'    => array( 'title', 'editor', 'thumbnail' ),
) );

The exact registration belongs in the plugin or theme that owns the post type. Do not add a second registration with the same slug on the destination; activate the original plugin or recreate a compatible registration instead. If the post type is missing from the export, inspect its registration first, particularly can_export.

Export the custom post type

  1. Sign in to the source WordPress dashboard.
  2. Go to Tools → Export.
  3. Choose the export scope offered by your WordPress version. Select the specific custom post type if it is listed; otherwise use All content after confirming that the post type is exportable.
  4. Download the generated XML file to your computer. This is WordPress’s WXR export format.

Depending on the selected scope and the data registered with the post type, the WXR file can carry posts, pages, custom post types, comments, custom fields, categories, tags, custom taxonomies and user/author information. The export is an XML content file, not a database dump.

Import the file on the destination site

  1. Activate the theme or plugin that registers the custom post type and its taxonomies on the destination.
  2. Open Tools → Import.
  3. Choose WordPress. If the importer is not installed, follow the prompt to install and activate it.
  4. Select the WXR XML file you downloaded and start the import.
  5. Use the importer’s author-mapping option to assign imported posts to existing users or create users when that option is offered.
  6. Allow the import to finish, then open the imported records in the destination dashboard.

Import duration and the available prompts depend on the file and the destination installation. Do not close the browser while the importer is processing a large file unless your hosting documentation confirms that the job continues independently.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What to verify after importing

Records and post status

  • Open the custom post type’s list screen and check the expected titles, dates and publication statuses.
  • Open representative records to confirm the editor content and custom fields.
  • Check drafts, scheduled items and private records separately; they may not be visible on the public site.

Taxonomies and relationships

  • Confirm custom taxonomy terms and term assignments.
  • Check parent/child relationships or other post relationships implemented by the registering plugin.
  • Regenerate or rebuild plugin indexes if that plugin provides such a maintenance command.

Authors and media

Review author attribution and remap users where necessary. WXR can contain attachment references and related metadata, but WP-CLI’s documentation notes that the attachment files themselves are not included. If images or documents are not already available at the destination, transfer those files separately and then check the resulting URLs and thumbnails.

URLs and display

  • Visit several single-record URLs and archive pages.
  • Go to Settings → Permalinks and click Save Changes if rewrite rules need refreshing.
  • Check theme templates, block patterns and shortcodes supplied by the original plugin or theme.

Understand the limits of WXR

A WXR export is designed to move WordPress content. It is not a complete site backup. It does not include site configuration, theme and plugin files, hosting settings or the attachment binaries themselves. Back up the database, wp-content and configuration separately when you are performing a host migration, disaster recovery operation or full-site rebuild.

Need Native WXR export What to use or check
Move custom post records Yes, when the post type is exportable Tools → Export, then Tools → Import → WordPress
Move custom fields and taxonomy assignments Included when represented in the WXR content Verify the destination registration and inspect sample records
Transfer image and document files No attachment binaries Copy the files separately and verify media URLs
Move theme, plugin and site configuration No Use a separate backup or migration procedure
Choose individual fields or reshape data Limited native controls Use a field-aware export/import tool

When a plugin-based workflow is a better fit

Native WXR is usually the simplest choice for a straightforward content transfer. A dedicated exporter/importer is more appropriate when the job requires precise field selection, extensive filtering, data transformation or a different output format.

WP All Export and WP All Import

WP All Export documents configurable exports for custom post types, including CSV, Excel and XML outputs. WP All Import documents custom post type recognition and a paired migration workflow with its companion exporter. This approach can help when you need to select particular fields, alter values during import or move only a filtered subset of records.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Before choosing a plugin workflow, confirm that it supports the custom fields, repeaters, relationships and media handling used by your specific post type. Keep the native WXR file as a separate fallback when it contains the content you may need to restore.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshooting missing or incorrect content

The post type does not appear in Export

Confirm the post type is registered on the source site, check its registered slug and inspect whether can_export is enabled. A post type registered only for internal use may intentionally be excluded.

Imported records are present but not visible

Activate the registering plugin or theme on the destination, verify that the slug matches, and check the records’ status and dates. Refresh permalinks after the registration is active.

Custom fields are empty

Make sure the destination field definitions are loaded before importing. Field plugins can require their own post-type or field-group registration; without it, the values may exist in the database but have no editor control or display template.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Images are broken

Remember that WXR does not carry the attachment files. Copy the media separately, verify the destination URLs and regenerate thumbnails if the destination environment requires it.

The XML file will not import

Check that you selected a WXR XML file, that the download completed, and that the destination can run the WordPress importer. For very large exports, hosting limits such as PHP memory, execution time or upload size may require a smaller export or host-level adjustment.

Frequently Asked Questions

Does WordPress export custom post types by default?

Only exportable post types are included. The post type registration must enable can_export; otherwise it may be absent from an all-content export.

Is a WordPress WXR export a full backup?

No. It transfers content in XML, but not site configuration or the attachment files themselves. Back up those items separately.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Do I need the same custom post type plugin on the new site?

You need a compatible registration active on the destination so WordPress can recognize the imported records, taxonomies and fields.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.