ACF flexible content is a lightweight page builder: a stack of named layouts (hero, FAQ, gallery, CTA, specs) instead of one rigid field group. Bulk-importing it only works if each feed row or XML node can say which layout to fill. Import WP Pro maps that layout key and writes values into the matching flexible content block rather than dumping everything into a single field.
Start at the ACF importer if you also need repeaters, galleries, or unique-key updates.
Import ACF flexible content from CSV
Spreadsheets rarely look like a page builder. Typical patterns:
- One row per layout instance, with a
layout(ortype) column:hero,faq,gallery - One listing row plus numbered layout columns
- A child sheet keyed by listing reference
Map the type column so Import WP selects the correct flexible layout, then map that layout’s sub-fields. A hero row fills heading, image, and CTA. A FAQ row fills question and answer. You are bulk-importing flexible layouts in WordPress, not flattening the page into a WYSIWYG.
Keep a unique identifier on the parent post (property ref, SKU, slug) so re-imports update the same flexible content stack instead of creating duplicate pages.
ACF flexible content XML import
XML feeds are closer to the ACF model. Repeating layout nodes with a type attribute or child name map cleanly: each node becomes one flexible row, and nested fields become the layout’s sub-fields.
Use the visual selector to point at the repeating layout node, then at the fields inside it. When a supplier adds a new block type, add a mapping for that layout — you should not need a custom migration plugin for every landing-page schema change.
This is the same nested-node idea as ACF repeater XML import, applied to layouts instead of repeating sub-rows.
Map feeds to ACF flexible content blocks without custom PHP
The job is conditional mapping: if the source says this is a gallery layout, then populate the gallery block. Import WP does that in the template, so developers are not maintaining have_rows import scripts per site.
Good fits:
- Real estate and directory landing pages built as flexible content
- Marketing pages whose modules arrive from a PIM or CSV export
- Migrations off another page builder into ACF layouts
Set insert/update permissions on the parent so nightly feeds refresh module data without wiping layouts editors added in WordPress, unless the feed is the system of record.
Related: Import ACF data · ACF galleries and relationships.
