Plugin info

Total downloads: 66,159,765
Active installs: 3,000,000
Total reviews: 313
Average rating: 3.1
Support threads opened: 5
Support threads resolved: 0 (0%)
Available in: 63 language(s)
Contributors: 2
Last updated: 11/5/2025 (55 days ago)
Added to WordPress: 5/20/2010 (15 years old)
Minimum WordPress version: 5.2
Tested up to WordPress version: 6.8.3
Minimum PHP version: 7.2

Maintenance & Compatibility

Maintenance score

Actively maintained • Last updated 55 days ago • Support resolved 0% • 313 reviews

60/100

Is WordPress Importer abandoned?

Likely maintained (last update 55 days ago).

Compatibility

Requires WordPress: 5.2
Tested up to: 6.8.3
Requires PHP: 7.2

Similar & Alternatives

Explore plugins with similar tags, and compare key metrics like downloads, ratings, updates, support, and WP/PHP compatibility.

Widget Importer & Exporter
Rating 4.7/5 (117 reviews)Active installs 200,000
Import and export users and customers
Rating 4.7/5 (253 reviews)Active installs 80,000
Starter Templates & Sites Pack by ThemeGrill
Rating 4.7/5 (197 reviews)Active installs 80,000
Blogger Importer
Rating 3.1/5 (57 reviews)Active installs 60,000
Categories to Tags Converter
Rating 4.3/5 (16 reviews)Active installs 60,000
Really Simple CSV Importer
Rating 4.9/5 (107 reviews)Active installs 40,000

Description

The WordPress Importer will import the following content from a WordPress export file:

  • Posts, pages and other custom post types
  • Comments and comment meta
  • Custom fields and post meta
  • Categories, tags and terms from custom taxonomies and term meta
  • Authors

For further information and instructions please see the documention on Importing Content.

Filters

The importer has a couple of filters to allow you to completely enable/block certain features:

  • import_allow_create_users: return false if you only want to allow mapping to existing users
  • import_allow_fetch_attachments: return false if you do not wish to allow importing and downloading of attachments
  • import_attachment_size_limit: return an integer value for the maximum file size in bytes to save (default is 0, which is unlimited)

There are also a few actions available to hook into:

  • import_start: occurs after the export file has been uploaded and author import settings have been chosen
  • import_end: called after the last output from the importer

Installation

The quickest method for installing the importer is:

  1. Visit Tools -> Import in the WordPress dashboard
  2. Click on the WordPress link in the list of importers
  3. Click “Install Now”
  4. Finally click “Activate Plugin & Run Importer”

If you would prefer to do things manually then follow these instructions:

  1. Upload the wordpress-importer folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Go to the Tools -> Import screen, click on WordPress

Frequently Asked Questions

Help! I’m getting out of memory errors or a blank screen.

If your exported file is very large, the import script may run into your host’s configured memory limit for PHP.

A message like “Fatal error: Allowed memory size of 8388608 bytes exhausted” indicates that the script can’t successfully import your XML file under the current PHP memory limit. If you have access to the php.ini file, you can manually increase the limit; if you do not (your WordPress installation is hosted on a shared server, for instance), you might have to break your exported XML file into several smaller pieces and run the import script one at a time.

For those with shared hosting, the best alternative may be to consult hosting support to determine the safest approach for running the import. A host may be willing to temporarily lift the memory limit and/or run the process directly from their end.

Support Article: Importing Content

Review feed

kelson
10/6/2023

Works well for moving posts between blogs.

Good for the main use cases: restore from backup, and moving posts between blogs. Unfortunately the image import doesn't seem to work (WordPress 6.3 with plugin 0.8.1), which makes it a pain to clean up image-heavy posts. One thing I'd like to do with this that I can't is to import another copy of a cross-post and merge the comment threads. As it is, the best I can do is import the duplicate copy and then use another plugin (or dig into the database) to move the comments around.

Screenshots

No screenshots available

Changelog

0.9.5

  • Rewrite CSS URLs in block markup (e.g., cover blocks with background images).
  • Code refactoring: Extract import processing logic into separate methods to prepare for future streaming support.
  • Update Playwright and @playwright/test dependencies from 1.55.0 to 1.56.1.
  • Clean up vendor-patched dependencies by removing dotfiles and GitHub workflow files.

0.9.4

  • Fix a bug that caused self-closing blocks to be incorrectly serialized during URL rewriting.

0.9.3

  • Rewrite attachment URLs to the new URL structure

0.9.2

  • Rewrite site URLs in block attributes.

0.9.1

  • Add support for rewriting site URLs in post content and excerpts.

0.9.0

  • Introduce a new XML parser class WXR_Parser_XML_Processor that replaces the
    deprecated WXR_Parser_Regex class.

0.8.4

  • Fix a bug on deserialization of untrusted input.
  • Update compatibility tested-up-to to WordPress 6.7.2.

0.8.3

  • Update compatibility tested-up-to to WordPress 6.7.
  • Update call to post_exists to include post_type in the query
  • PHP 8.4 compatibility fixes.

0.8.2

  • Update compatibility tested-up-to to WordPress 6.4.2.
  • Update doc URL references.
  • Adjust workflow triggers.

0.8.1

  • Update compatibility tested-up-to to WordPress 6.2.
  • Update paths to build status badges.

0.8

  • Update minimum WordPress requirement to 5.2.
  • Update minimum PHP requirement to 5.6.
  • Update compatibility tested-up-to to WordPress 6.1.
  • PHP 8.0, 8.1, and 8.2 compatibility fixes.
  • Fix a bug causing blank lines in content to be ignored when using the Regex Parser.
  • Fix a bug resulting in a PHP fatal error when IMPORT_DEBUG is enabled and a category creation error occurs.
  • Improved Unit testing & automated testing.

0.7

  • Update minimum WordPress requirement to 3.7 and ensure compatibility with PHP 7.4.
  • Fix bug that caused not importing term meta.
  • Fix bug that caused slashes to be stripped from imported meta data.
  • Fix bug that prevented import of serialized meta data.
  • Fix file size check after download of remote files with HTTP compression enabled.
  • Improve accessibility of form fields by adding missing labels.
  • Improve imports for remote file URLs without name and/or extension.
  • Add support for wp:base_blog_url field to allow importing multiple files with WP-CLI.
  • Add support for term meta parsing when using the regular expressions or XML parser.
  • Developers: All PHP classes have been moved into their own files.
  • Developers: Allow to change IMPORT_DEBUG via wp-config.php and change default value to the value of WP_DEBUG.

0.6.4

  • Improve PHP7 compatibility.
  • Fix bug that caused slashes to be stripped from imported comments.
  • Fix for various deprecation notices including wp_get_http() and screen_icon().
  • Fix for importing export files with multiline term meta data.

0.6.3

  • Add support for import term metadata.
  • Fix bug that caused slashes to be stripped from imported content.
  • Fix bug that caused characters to be stripped inside of CDATA in some cases.
  • Fix PHP notices.

0.6.2

0.6

  • Support for WXR 1.2 and multiple CDATA sections
  • Post aren’t duplicates if their post_type’s are different

0.5.2

  • Double check that the uploaded export file exists before processing it. This prevents incorrect error messages when
    an export file is uploaded to a server with bad permissions and WordPress 3.3 or 3.3.1 is being used.

0.5

  • Import comment meta (requires export from WordPress 3.2)
  • Minor bugfixes and enhancements

0.4

  • Map comment user_id where possible
  • Import attachments from wp:attachment_url
  • Upload attachments to correct directory
  • Remap resized image URLs correctly

0.3

  • Use an XML Parser if possible
  • Proper import support for nav menus
  • … and much more, see Trac ticket #15197

0.1

  • Initial release