XML Import
Easy to use XML feed importer with the ability to map feed items onto (custom) posts and their meta fields.
Consider an alternative
XML Import shows warning signs in 2026 — compare the alternatives below before installing. It runs on 20+ sites, is rated 1/5 and was last updated 11 years ago, and scores 19/100 on our health check.
- Small user base (20+ active installs)
- Very few reviews so far
- No update in 10 years
- Only tested up to WordPress 4.4 (latest is 7.1)
How does it stack up?
Side-by-side on installs, updates, ratings & supportDaily downloads
Download spikes usually follow a new release — each site that auto-updates counts as a download.
Rankings
Where XML Import stands todayWordPress.org search rankings
Live position in the plugin search, top 100| Keyword | Position |
|---|---|
| custom post | >100 |
| import | >100 |
| meta fields | >100 |
| xml | >100 |
Version adoption
Share of active sites per release.
Rating breakdown
★★★★★★★★★★ 1 from 1 reviews
About XML Import
From the official readme · v1.0.4Description
Easy to use XML feed importer with the ability to map feed items onto (custom) posts and their meta fields.
Usage Notes
- The feeds are managed (added / edited / deleted) like normal posts.
- To import a new feed, you must first save the post with at least the title and URL fields filled in.
- This is because the importer downloads a copy of the feed and works with that copy.
- If you try to import before the feed is saved, the importer has no copy to work with yet.
Form explanation
- Import
- It’s the first field in the form, but the last step.
- There is no cancel button, so once you click the ‘import’ button, you can only refresh (or move away from) the page to cancel the import.
- The import is done 10 feed items at a time, the progress is shown under the import button.
- The import sends ajax requests until the import is done at which point the spinner stops spinning and the progress message shows ‘n posts imported’
- URL
- the feed url
- Required Fields (optional)
- comma separated list of (custom) post fields
- if a field in this list has no mapping, than the import will fail
- if the mapping of a field in this list turns out to be empty, than the corresponding feed item is skipped.
- Unique Fields (optional)
- comma separated list of (custom) post fields
- unique fields are not implicitly required
- skips a feed item if a field with this value already exists.
- CSV delimiter (optional)
- if this field is empty, the plugin assumes the URL links to a XML file
- if this field is non-empty, the plugin assumes the URL links to a CSV file, with the given value as the delimiter
- a CSV file will be converted to XML, so the further usage of the plugin remains the same.
- Select root
- select the path to the items that should be mapped
- i.e. you want to import products into your woocommerce installation
- xml : <products> <product></product> … <product></product> </products>
- then the root should be /products/product
- you can use the plus and minus buttons to go a level up or down
- the select boxes show the possible paths for a given level
- Click the ‘Select’ button to confirm the root
- The XML area should fill up with the first item that matches root.
- Select post field
- the first select box shows the registered post types and Taxonomies.
- the second select box shows the corresponding fields. (Even columns like ID which you probably shouldn’t set manually)
- many of the fields are always the same and correspond to the columns in the
wp_poststable in the database, but the meta fields can differ. - the plugin needs at least one existing object of the selected post type to find these meta fields.
- the meta fields are based on the first post of the selected post type it finds.
- Map
- this shows the current mapping
- if you have selected a mapping, it can be removed with the ‘x’ at the right hand side
- if you are satisfied with the mappings, click ‘Save map’
- XML
- once you have selected a root, the first xml item at this path will be shown here.
- click anywhere on the XML to get the corresponding paths
- the selected path will appear above the colourful XML
- if the path contains attributes, they will appear as selectboxes
- if the desired path depends on a sibling in the XML, follow these instruction:
- some XML looks like this ..<parent> <key>name</key><value>Dirlik<value></parent> …
- in this case, click on the value tag in the XML and the corresponding path appears: ‘Assign path: …/parent/value’
- now click on ‘parent’ in the path and 2 new selectboxes appear and an ‘Add to attribute list’ button
- in our example you would select ‘key’ in the first selectbox and ‘name’ in the second
- click ‘Add to attribute list’ and the path changes accordingly
- once you see the path you want, click the ‘Add to map’ button.
- The Map will now reflect that the path you chose is mapped om the selected post field.
WARNING
This plugin is new and requires more testing. If you decide to use the plugin, please make a backup of your database first.
Once you click the import link, there is no cancel button, you can refresh (or move away from) the page to cancel the import.
On your first go, try a smaller feed to make sure you mapped it right.
TODO
- add row actions
- define type of imported value (now images only work with _thumbnail_id meta value)
Installation
- Upload the plugin files to the
/wp-content/plugins/xml-importdirectory, or install the plugin through the WordPress plugins screen directly. - Make sure the tmp folder is writable
- Activate the plugin through the ‘Plugins’ screen in WordPress
- A new menu item should appear named ‘Feeds’
Changelog
fixed some minor problems
1.0.4
- fixed bugs KVSelect in javascript
- made javascript a little prettier
- fixed bug so images that end with .jpg are not stored as .jpg.jpeg
1.0.3
- prepared plugin for internationalization
- added dutch translation
1.0.2
- made the scripts and styles only show up on our edit pages
- removed textdomain variable
- made key value selection clearer
- smaller bugfixes
1.0.1
- added CSV functionality
- added link to re-download feed
- added some explanation to this readme.txt file
1.0
- this is the first version
For developers
Is this your plugin? Show off the numbers.
Add a live badge to your site, docs or GitHub README. It updates on its own — no account needed.
Best XML Import alternatives
All custom post plugins →FAQ
XML Import: quick answers
Straight answers, pulled from live WordPress.org data.
Live data from WordPress.org · checked Oct 5, 2026
Is XML Import free?
Yes. XML Import is free to download and use from the official WordPress.org plugin directory.
Is XML Import safe to use in 2026?
XML Import shows warning signs in 2026 — compare the alternatives below before installing. It runs on 20+ sites, is rated 1/5 and was last updated 11 years ago, and scores 19/100 on our health check.
How many websites use XML Import?
XML Import is active on 20+ WordPress websites and has been downloaded 8,047 times since it launched in January 2016. It was downloaded 81 times in the last 30 days.
Does XML Import work with WordPress 7.1?
XML Import is officially tested up to WordPress 4.4.34, while the latest release is 7.1.2. It may still work, but try it on a staging site first.
When was XML Import last updated?
The latest version, 1.0.4, was released on March 1, 2016 (11 years ago).
Who makes XML Import?
XML Import is developed and maintained by dirlikdesigns.
What are the best alternatives to XML Import?
The most popular alternatives to XML Import are Content Blocks (Custom Post… (10K+ installs), Advanced Post Manager (4K+ installs) and Magical Posts Display (3K+ installs).
Powered by PageForge
Want thousands of pages that rank like these? Build them in an afternoon.
This directory runs on the same engine as PageForge. Turn any spreadsheet, CSV or API into thousands of fast, SEO-ready WordPress pages — with schema, internal links and AI-written copy baked in.
- CSV, Google Sheets & API data sources
- AI content, schema & internal links per page
- Works with Elementor, Gutenberg, Yoast & Rank Math
- Free on WordPress.org — no credit card