Rather than using the WordPress admin to import a WXR file, you might find it helpful to use WP-CLI instead.
By importing with WP-CLI instead of the WordPress admin, you’ll also have additional options available to you, such as skipping certain types of data.
Importing WordPress WXR (.xml) Files
To perform a simple import of your file, just use the following command:
wp import my-file.xml
Modifying Author Behavior
When importing a WXR file, you might have a situation where the post author in the export file doesn’t exist on the site that it’s being imported into. In that case, you can use the –authors option to define how to proceed with the import.
Creating Non-Existent Authors
If you want to create any authors that don’t already exist, set value of the –authors option to create like this:
wp import my-file.xml --authors=create
Skipping Non-Existent Authors
If you’d like to just leave the post’s author empty if the user doesn’t already exist, you can set the value of the –authors option to skip:
wp import my-file.xml --authors=skip
Custom Mapping Authors
What if you want to associate your authors from the exported site with different users on the new site? WP-CLI allows for a custom CSV file to be provided. The CSV should be formatted as 2 columns with old_user_login and new_user_login as column headers like this:
To use the custom user mapping that you’ve defined within the CSV, just define the path within the –authors option like this:
wp import my-file.xml --authors=my_file.csv
Skipping Content Types
When performing an import of your WXR file, you also have the option to skip certain types of data, such as attachments or thumbnail generation.
Skipping Attachment Imports
If you don’t want to import any of the attachments that are listed inside the WXR file, you can use the –skip option with the attachment data type like this:
wp import my-file.xml --skip=attachment
Skipping Thumbnail Generation
What is you still want to import your post attachments but don’t want to generate new thumbnails when the import occurs? Just use the –skip option with image_resize as the value like this:
wp import my-file.csv --skip=image_resize