If your site currently uses ACF Pro (Advanced Custom Fields), Field Forge can import all of your field groups, settings, conditional logic, and field data. The migration is designed to be seamless — your theme continues working without any code changes because Field Forge provides the same template functions that ACF does (get_field(), the_field(), have_rows(), and all others).
This section provides a paranoid, step-by-step migration process with verification at every stage and a complete rollback plan. Migrating field definitions across plugins is a significant change, and it is worth being thorough.
Before You Touch Anything: Pre-Migration Checklist
Complete every item on this checklist before starting the migration:
| Step | Action | How to Verify |
|---|---|---|
| 1 | Create a full site backup — database and files | Download a backup using your hosting panel, UpdraftPlus, or a similar backup plugin. Verify you can access the backup file. |
| 2 | Note your current ACF Pro version | Go to Plugins > Installed Plugins, find ACF Pro, write down the version number |
| 3 | Count your ACF field groups | Go to ACF > Field Groups, note the total number |
| 4 | Identify your most critical field groups | Pick 3-5 field groups that power the most visible parts of your site (hero sections, product pages, key landing pages) |
| 5 | Test those critical pages | Visit 3-5 key pages on the frontend and take screenshots or notes of how they look right now — this is your “before” reference |
| 6 | Keep ACF Pro active | Do NOT deactivate ACF yet — Field Forge reads from it during migration |
| 7 | Activate your Field Forge PRO license | Go to Field Forge > License and activate — you need PRO to migrate field values (not just field group definitions) |
| 8 | Check your hosting resources | Large sites need adequate PHP memory (256MB+) and execution time (300 seconds+). Ask your host if you are unsure. |
| 9 | Choose a low-traffic time | Run the migration when your site has minimal visitors, in case anything temporarily disrupts the frontend |
| 10 | Inform your content team | Tell editors to avoid editing posts during the migration window |
Step 1: Detect ACF Data
- Go to Field Forge > Migration in the WordPress admin
- Click Detect ACF Data
- Field Forge scans your site and reports what it finds:
– Number of posts/pages with ACF field data
– Total field values stored in the database
– List of ACF features in use (Repeaters, Flexible Content, Options Pages, etc.)
- Review the summary carefully. The number of field groups should match what you counted in the pre-migration checklist. If the numbers are wildly different, investigate before proceeding.
- Note whether the summary mentions PRO-only field types (Repeaters, Flexible Content, Groups, Clone). If it does, confirm that your Field Forge PRO license is active.
[Screenshot: the Migration screen showing detection results — “Found 12 field groups, 847 posts with field data, 4,231 total field values”]
Step 2: Import Field Groups (Structure Only)
This step imports the field group definitions — the fields themselves, their types, settings, location rules, and layout. It does not touch the actual content data.
- Click Import Field Groups
- Field Forge converts each ACF field group to Field Forge format
- A progress indicator shows each group being processed
- Everything is preserved:
– Location rules (which posts/pages show each field group)
– Field order and wrapper width settings
– Conditional logic rules
– Tab, Accordion, and Message layout fields
– Sub-fields inside Groups, Repeaters, and Flexible Content layouts, including deeply nested structures
– ACF Local JSON-only field groups from acf-json/group_*.json, even if the matching ACF field-group database posts are not present
- A success message appears listing how many groups were imported
- Verification: Go to Field Forge > Field Groups and count the imported groups. The number should match the ACF count.
- Verification: Open 2-3 imported field groups and check that the fields, their types, and their settings look correct
- Verification: Open a post in the editor that should show one of these field groups. You should now see the field group appearing twice — once from ACF and once from Field Forge. This is expected at this stage.
Step 3: Import Field Values (Data — PRO Required)
This step migrates the actual content — everything your editors have typed into ACF fields on posts and pages. This is the most critical step.
- Click Import Field Groups with Values
- A progress bar appears showing the migration status
- Field Forge processes posts in batches of 50 for reliability
- For small sites (under 500 posts), this completes in under a minute
- For large sites (thousands of posts), the migration runs in the background — you can close the browser tab and it continues processing. A notification appears in the admin when it finishes.
- Wait for the completion notice before proceeding
- Verification: Open 5-10 posts across different post types and check that:
– Text fields contain the correct text
– Image fields show the correct images
– Select/checkbox/radio fields have the correct selections
– Repeater rows are intact with all their sub-field data
– Group fields preserve their child values
– Flexible Content layouts are in the correct order with correct data
– If a Flexible Content layout contains a nested Repeater, drag one nested row, click Update, and confirm the row order persists without duplicate rows
Step 4: Verify the Frontend
This is where your “before” screenshots from the pre-migration checklist become essential.
- Visit the 3-5 critical pages you documented before the migration
- Compare them to your screenshots/notes — everything should look identical
- Check pages that use Repeaters (team pages, FAQ sections, pricing tables) — verify all rows appear
- Check pages that use Flexible Content — verify all sections appear in the correct order
- Check the site header and footer — if they use Options Page data, verify the phone number, logo, social links, etc. still appear
- Test on mobile as well — responsive layouts should be unaffected
Step 5: Deactivate ACF Pro (When Ready)
Only proceed to this step after thorough verification. There is no rush.
- Go to Plugins > Installed Plugins
- Find ACF Pro in the list
- Click Deactivate (not Delete — deactivate only for now)
- Immediately visit your 3-5 critical frontend pages again
- Everything should still look identical because Field Forge provides all the same template functions
- Check the WordPress editor — posts should show Field Forge metaboxes (not ACF metaboxes)
- If everything works, leave ACF Pro deactivated for at least one week while your team uses the site normally
- After one week of smooth operation, you can delete ACF Pro if you choose — but there is no harm in leaving it deactivated as a safety net
The Rollback Plan
If something goes wrong at any stage:
| Problem | Solution |
|---|---|
| Field groups imported incorrectly | Delete the Field Forge field groups and re-run the import |
| Field values are missing or wrong | Re-run the value migration — it is idempotent and de-duplicates duplicate ACF group records before importing values |
| Frontend pages look different after deactivating ACF | Reactivate ACF Pro immediately — the site returns to its previous state |
| Migration failed or timed out | Check server error logs for memory or timeout issues. Increase PHP memory to 512MB and max execution time to 600 seconds, then retry. |
| You want to undo everything | Restore the full backup you created in the pre-migration checklist. This returns the entire site to its exact pre-migration state. |
Migration Compatibility Reference
| ACF Feature | Supported in Migration | Notes |
|---|---|---|
| All basic field types (text, number, image, etc.) | Yes | |
| Select, checkbox, radio, true/false, button group | Yes | |
| Date picker, color picker | Yes | |
| Tabs, accordions, messages | Yes | |
| Repeaters | Yes | Requires PRO |
| Groups | Yes | Requires PRO |
| Flexible Content | Yes | Requires PRO |
| Clone fields | Yes | Requires PRO |
| Options Pages and their data | Yes | Requires PRO |
| Conditional Logic | Yes (top-level fields) | Rules on top-level fields are imported and evaluated at runtime. Rules on fields nested inside Repeater / Group / Flexible Content are imported but not yet evaluated — every nested field still renders. |
| Location rules | Yes | |
| Field values (post content data) | Yes | Requires PRO |
| Local JSON files | Yes | Field Forge can import ACF Local JSON-only field group definitions from acf-json/group_*.json; Field Forge’s own ongoing sync uses fieldforge-json/. |
| ACF Blocks (Gutenberg blocks) | Beta / manual review | Simple ACF block definitions can be mapped to Field Forge PHP Blocks (PRO), but custom render callbacks, block assets, and theme-specific registration code should be reviewed manually before removing ACF Pro. |
> Good to know: Migration does not modify or delete any ACF data. Both plugins can coexist while you verify everything. Your original ACF data remains in the wp_postmeta table even after migration. Only delete ACF Pro after extended testing confirms everything works.
> Important: If your site uses ACF functions in custom plugins (not just the theme), test those plugins after migration as well. Field Forge provides all standard ACF functions, but highly unusual or undocumented ACF internals might behave differently. Test thoroughly.
> Tip: For large enterprise sites with tens of thousands of posts, consider migrating during a maintenance window and using the background migration feature. Communicate the window to your entire content team so no one is editing posts while values are being migrated.
—