Import content from a CSV or another CMS

ContentAdvanced~30 min

Before you start

A connected site with the content, terms, and media write abilities enabled. Your rows pasted into the chat (title, body, category, image URL), since the agent reads them from the conversation, not from a file on your server.

Migrating content is where good intentions die. You export a few hundred rows from an old CMS or a spreadsheet, and the job of turning each one into a post, creating the categories, and re-uploading the images is so repetitive that the import stalls half done and the old site limps along for another year.

This runs the repetitive part and keeps you deciding the mapping. You paste the rows in, approve one worked example, and it drafts the rest.

The prompt
I have content to bring into WordPress from [a CSV export / my old site].
I will paste the rows here: [each row has a title, body, category, and an
image URL]. Read them and show me a short plan first: how many items you
found, the categories you would need to create, and one full example row
turned into a draft, so I can check the mapping. Change nothing yet.
Once I approve the plan, create any missing categories, pull each row's
image into the media library (jpg, png, gif, and webp are fine; SVG will be
rejected), and create the items as drafts, not published, a few at a time,
showing me each batch. Keep them as drafts so I can review and publish them
myself. At the end, give me the list of drafts you created and the
categories you added.

Why this is safe to run

Nothing is written until you approve a plan built on a real example. The agent reads your pasted rows, counts them, and turns one row all the way into a draft so you can see how a title, body, category, and image actually map before it repeats that across the set. It reads only what you put in the conversation, so there is no file or server access to worry about.

The writes are all additive and gentle. New categories are created, images come into the library as base64 with SVG rejected, and every item lands as a draft, never published, so the whole import stays invisible until you review it and hit publish yourself. Batching shows you each group as it goes. As always, the content, term, and media write abilities are off until you switch them on, every call is checked against the bound user’s capability, and each create and upload is written to the Activity Log.

Already connected? No need to paste this. Ask your agent for the “import content from a CSV or another CMS” recipe, drop in your rows, and it runs the same plan-approve-draft flow on your own site.

How it works

  1. Read the rows you paste in and count what it found.
  2. Show a plan: the categories it would create and one row fully mapped to a draft, and wait for approval.
  3. Create any missing categories.
  4. Pull each row's image into the media library, then create the items as drafts, in batches.
  5. Return the list of drafts created and categories added.

Questions

Can it read a CSV file straight off my server or a URL?
No. There is no file access here. You paste the rows into the conversation and the agent works from that text, so you stay in control of exactly what gets imported.
Do the imported items go live?
No. It creates them as drafts so you can review and publish them yourself. The publish ability exists, but importing straight to draft means you check the mapping on real content before anything is public.