Import XML into WordPress

To import XML into WordPress, add the XML feed URL as a provider in Ingestics, map the XML elements to post fields, and publish — manually on the Free tier, or on a schedule with Lite and above. No custom parser and no code: XML parsing is built into the plugin, alongside JSON, RSS, CSV, and HTML.

This guide explains where XML still shows up, how the mapping works, and how to keep a scheduled XML import reliable.

Why does XML still matter for WordPress automation?

JSON dominates modern APIs, but XML remains the standard exchange format in several industries — and those industries produce exactly the kind of structured, repetitive data that automation handles best:

  • Property feeds — real-estate portals and MLS-style exports publish listings as XML
  • Job feeds — recruitment platforms syndicate vacancies in XML
  • Supplier and product data — distributors publish catalogs and stock as XML
  • Public and government data — open-data portals still favor XML
  • RSS and Atom — every feed you have ever subscribed to is XML underneath

If a partner hands you “a feed” that is not JSON, it is almost certainly XML. See the RSS guide if your XML is specifically an RSS/Atom feed — Ingestics treats those as first-class RSS providers with their own tooling.

How does XML become WordPress content?

XML is a tree of named elements:

<listings>
  <listing>
    <title>2-bed apartment, riverside</title>
    <price>1250</price>
    <city>Leeds</city>
    <image>https://…/photo.jpg</image>
  </listing>
</listings>

An importer parses the tree, treats each repeating element (<listing>) as an item, and maps the child elements to WordPress fields. From there it is the same pipeline as any other source: check duplicates, apply publish mode, sideload images, publish, repeat.

Imported XML data can live anywhere WordPress content lives: posts, pages, custom post types (per-provider post type on Lite), categories and tags, post meta and ACF fields (Pro’s Advanced Field Mapper), and the Media Library for images.

How do you import an XML feed with Ingestics, step by step?

Step 1: Add the XML source as a provider

Open Ingestics → Providers and add an API provider pointing at the XML URL, or use the Guided Setup Wizard. Set authentication if the feed requires it — none, API key, Bearer, and Basic are supported on Free. XML files can also be imported as uploaded or remote files through File Import on Lite.

Step 2: Preview the response

Run the call preview before mapping anything. It shows the parsed structure of the feed so you can identify the repeating item element and confirm which child elements carry the data you need. If the request fails here — wrong URL, auth error, malformed XML — you find out before any content is created.

Step 3: Map elements to WordPress fields

Select the item collection and map the elements: title → post title, description → content, image URL → featured image, and identifying values (reference numbers, SKUs) → post meta on Pro. A suggested baseline mapping:

XML element WordPress destination
title / name Post title
description / body Post content
category / type Category (dynamic mapping on Lite)
image / photo URL Featured image (sideloaded)
date Publish date
id / reference Post meta (Pro) — used for sync matching
link Source attribution

Step 4: Set publish mode and run a test fetch

Choose Draft for the first run. Import a small batch, open the results in the editor, and check the fields landed where you expected — nested XML sometimes puts the value one level deeper than it looks. Duplicate detection prevents re-imported items from doubling up; source attribution keeps the origin visible.

For listing-style feeds, map the feed’s stable reference number into post meta. On Pro, the Advanced Sync Engine can match on that ID and update the existing post when the listing changes — price drops update in place instead of creating a second listing.

Step 5: Schedule the import (Lite and above)

Enable scheduled fetching and choose an interval that matches the feed’s update rhythm: supplier catalogs might refresh daily, job feeds a few times a day. The Activity Log records every run — items fetched, published, skipped, failed — and provider health monitoring (Lite) flags a feed that stops responding, which matters for partner feeds that move without warning.

What are the best practices for XML imports?

  • Preview first, always. XML structures vary wildly between providers; two minutes in the preview beats a mis-mapped batch.
  • Start in Draft mode. Promote to Publish after a full clean batch.
  • Map a stable ID into meta. It is the key to update-instead-of-duplicate behavior on Pro.
  • Expect schema drift. Partners change feed structures; when counts drop in the Activity Log, re-check the preview against your mapping.
  • Keep providers separate. One XML feed per provider keeps logs, schedules, and categories clean.

Which import method should you use for XML?

Writing a custom XML importer means building fetching, parsing, mapping, duplicate handling, and scheduling yourself — then maintaining it. Middleware platforms add monthly fees and move your data through a third party. A purpose-built plugin keeps the pipeline inside WordPress: Ingestics parses XML on the Free tier, and the feature matrix shows what Lite (scheduling, File Import), Pro (sync, meta mapping), and Business (unlimited providers, filter engine) add on top. For tabular data, compare the CSV guide; for JSON APIs, the REST API guide.

Turn XML feeds into WordPress content

Install Ingestics free and connect your first XML source. Add scheduling and sync updates when the workflow proves out.

See Pricing
Can WordPress import XML automatically?
Yes. Add the XML feed as an Ingestics provider, map the elements once, and scheduled fetching (Lite and above) imports new items automatically with duplicate protection.
Does XML import require custom code?
No. XML parsing is built into Ingestics, including the Free tier. You configure the source URL and field mapping in the admin UI — no PHP or custom parser needed.
Can XML imports be scheduled?
Yes, on Lite and above. Fetches run on cron intervals you choose, and Pro adds custom scheduling frequencies plus sync updates for items that change at the source.
Can XML content use custom post types?
Yes. Lite adds a per-provider post type, so property listings, jobs, or products from an XML feed can each import into their own custom post type.