Import WPGet Pro
Menu

Data importer

Bulk Data Importer Engine for WordPress Posts, Taxonomies & Users

Import WordPress posts, pages, custom post types, taxonomies, users, media, and custom fields from CSV, XML, or Excel — with visual mapping, unique keys, and background jobs that avoid timeouts.

Data importer
Import WP Products template mapping Product Name, description, and affiliate product URL from a CSV, with a preview of Harbour Navy Tee.

A WordPress data importer has to survive real migrations and live feeds, not only a tidy spreadsheet. Import WP maps CSV columns and XML nodes onto posts, pages, users, taxonomies, attachments, and meta with a visual selector, then uses unique keys so the next run updates the same records instead of duplicating them. Built for agencies moving sites, listing CPTs, and anyone who will re-run the same file.

Parser details: CSV, XML, and Excel. Automation: scheduled imports.

Import WordPress posts from CSV or XML

Start with the Posts or Pages template. Map title, content, excerpt, slug, status, author, dates, parent, and menu order from any column or node — there is no “column A must be the title” template.

That is the usual path when you import WordPress posts from CSV after a rebuild, a staging → production move, or a publisher dump. XML works the same way: pick an XML base path for one record, then point each WordPress field at a node.

Attachments sit on the same importer. Featured images and files come from remote URLs, FTP, or a local path. Alt text, captions, and titles can be populated from the file. Re-runs should not flood the Media Library: the same image URL is reused instead of creating a duplicate attachment.

Walkthrough: Import WordPress posts from XML or CSV. Hierarchy for pages: import pages with parent/child relationships.

A WordPress CSV XML importer with visual mapping

Most CSV plugins assume a flat header row. Import WP is a WordPress CSV XML importer for feeds that do not: nested XML, remote URLs, FTP/SFTP, a path on the server, or Google Sheets.

Map once, save the importer, and fetch the next file from the same place. Nested XML, custom delimiters, Excel, and ZIP are covered by the file parser. This importer writes the result into WordPress.

Create the importer: How to add an importer. Choose the file: Selecting a file to import.

Bulk import WordPress taxonomies and custom post types

Directories, properties, events, and portfolios are custom post types. Import WP Pro imports into any registered CPT your theme or plugins add — not only posts and pages.

You can bulk import WordPress taxonomies in two ways:

  1. On the post — attach categories, tags, or custom taxonomies while the CPT row is imported, including parent > child hierarchies created during the run.
  2. As terms — use the Taxonomy template when you need term archives, descriptions, parents, and term meta before posts exist.

Typical jobs: listing types and locations, event types and venues, resource libraries, product-adjacent catalogues that are not WooCommerce.

See Import custom post types and taxonomies. Term attachment: Import taxonomies onto a post type.

Import WordPress users and media in one workflow

Membership, LMS, and CRM migrations start with people. The Users template creates or updates accounts from CSV or XML: username, email, names, role, password handling, and (in Pro) custom user meta.

Match on email or username so a second CRM export updates the same members. Turn new-user notification emails off for historical loads; generate or map passwords only when you intend accounts to log in immediately.

Media does not need a second plugin. Attachments run on posts, pages, CPTs, and other templates that support them — remote URL, FTP, or local files, with featured-image flags and gallery rows.

See Import WordPress users and custom meta. Attachments: Import attachments onto a post type.

Unique identifiers so re-imports update instead of duplicate

Re-running a feed should not create thousands of copies. On Permissions, pick a unique identifier that is mapped and stable:

  • Post ID, slug, SKU, or a custom reference column
  • Email or username for users
  • Slug or name for terms

Permissions then control insert, update, and delete. Skip unchanged records so a nightly file only rewrites rows that actually moved — faster runs, fewer post_modified bumps, less media re-download.

Do not change the identifier type between runs. Details: Permissions.

Free vs Pro

Capability Free Pro
Posts, pages, categories, tags, users Yes Yes
CSV / XML visual mapping Yes Yes
Attachments from URL / FTP / local Yes Yes
Custom post types — Yes
Custom taxonomies — Yes
Custom fields / post meta — Yes
Scheduled and background imports — Yes
ACF (built into Pro) — Yes
JetEngine and Pods add-ons — Yes

Start with the free plugin on wordpress.org. Compare Pro when you need CPTs, meta, or cron.

WordPress data importer FAQ

Can I import WordPress posts from CSV without Pro?
Yes. Posts, pages, categories, tags, users, and media work in the free plugin. Custom post types, custom taxonomies, and custom fields are Pro.
Is this only for CSV?
No. The same visual mapper works for XML. Excel uses the XLSX reader add-on. Large-file and delimiter behaviour: CSV, XML, and Excel.
How do I avoid duplicate posts on a second run?
Set a unique identifier and enable Update. Skip unchanged rows when the feed is mostly the same. See Permissions.

Need the reverse direction? WordPress data exporter. Install: Installation.