Wo

WordPress Importer

by WordPress.org

The official importer for WXR files, moving posts, pages, media and terms between WordPress sites.

3.1327 WordPress.org reviewsMigrationFree

This link may earn us a commission. It never changes our rating.

What WordPress Importer does

The official importer for WXR files, moving posts, pages, media and terms between WordPress sites.

It sits in the migration part of a WordPress stack and is sold by WordPress.org on a free basis. We recommend it in our migration guides because it does that one job well without asking you to rebuild the rest of the site around it.

Every plugin adds work to a page request, so treat this as a decision with a cost. Record a speed test before you install it and run the same test afterwards, on the same page, so you know exactly what it charged you.

Real user ratings

Score

3.1/5

Reviews

327

Active installs

2,000,000+

Downloads

71.1M

Latest version

0.9.6

Last updated

2026-08-27

These figures come straight from the public WordPress.org plugin directory API for version 0.9.6, not from us. Check them yourself on the WordPress.org listing. Our own editorial score is 3.9/5.

Where WordPress Importer ranks elsewhere

WordPress Importer does not appear in the published "best of" lists we track from WPBeginner, TechRadar, Kinsta, Themeisle and similar sites. That is not a mark against it - those roundups are short and skew towards the biggest names.

What changed in the latest version

v0.9.6Latest release
  • Skip the _wp_font_face_file meta key on import. Font attachments regenerate this meta locally, and the imported value pointed at a file path from the source site.
  • Prefix bundled vendor namespaces ( Rowbot\URL , Brick\Math , Psr\Log , and others) with VendorPrefix\ to avoid class redefinition errors when another plugin bundles the same libraries.
  • Add a Live Preview blueprint so the plugin can be tried in WordPress Playground from the plugin directory page.
  • Code refactoring: extract single-post processing into a separate process_post() method, continuing the streaming preparation work.
v0.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.
v0.9.4
  • Fix a bug that caused self-closing blocks to be incorrectly serialized during URL rewriting.

Release notes are the developer's own words, published on WordPress.org. Read the full changelog

Pros and cons

  • Free and always compatible
  • Free with no licence to renew
  • Actively maintained and used on production sites we test
  • Struggles with very large files
  • Support is community-led rather than guaranteed

How to use it

  1. 1Back up the destination site's database before importing anything.
  2. 2Run a small sample import first and check the field mapping.
  3. 3Raise PHP memory and execution limits for large files.
  4. 4Import media separately if the run keeps timing out.
  5. 5Spot-check twenty records and all internal links after the run.

How it compares

Other migration plugins we recommend, with their rating and pricing model.

PluginOur ratingWordPress.orgPricingBest for
WordPress Importer3.93.1 (327)FreeFree and always compatible
Customizer Export/Import4.44.8 (115)FreeFast design handover between sites
Export Media Library4.54.9 (48)FreeSimple full-media backup
Import Export Suite for WooCommerce4.5n/aFreemiumHandles orders and coupons, not just products
Product CSV Import Suite4.0n/aPremiumOfficial support for variation imports
Users Import and Export4.3n/aFreemiumKeeps user meta intact

Guides that cover WordPress Importer