ACF Migration Tool — Import from ACF and SCF | Field Forge
Download Log in

One-Click Import — From ACF and SCF

Field Forge ships one-click migration tools for ACF and Secure Custom Fields (SCF). Your field groups, field values, options pages, and location rules are imported into Field Forge storage. Combined with Field Forge’s ACF compatibility layer, most theme code written for ACF or SCF keeps working unchanged after migration.

Migration scope note: Meta Box, CMB2, Carbon Fields, Pods, and Toolset migrations are in beta/manual-verification scope. Their values usually live in wp_postmeta, so they can be moved with helper scripts or custom mapping, but we do not present those sources as production one-click migrations until each plugin and paid extension set is tested.


Supported source plugins

Field Forge can migrate from these verified source formats:

Advanced Custom Fields (ACF)

  • ACF Free — limited field types but full field group migration
  • ACF Pro — all 30+ field types including repeater, flexible content, clone, gallery, relationship, options pages, PHP blocks
  • Both free and pro — the migration tool auto-detects which version is installed and handles both

Secure Custom Fields (SCF)

  • SCF is the WordPress.org fork of ACF created in October 2024. It uses the same data format as ACF, so the same importer handles both. Users running SCF after the fork can migrate to Field Forge with zero additional setup.

Meta Box (beta/manual)

  • Meta Box core values — stored in post meta and can be migrated with a custom mapping pass
  • Meta Box extensions — require per-extension verification before we claim automatic import
  • Location rules / builder metadata — beta scope; verify against the exact Meta Box setup before deactivating Meta Box

CMB2 (beta/manual)

  • CMB2 values — usually stored in wp_postmeta and can be copied into Field Forge values when matching field groups exist
  • CMB2 field definitions — code-first definitions need manual review because PHP callbacks and custom sanitizers cannot be inferred safely

Carbon Fields (beta/manual)

  • Carbon Fields values — can be mapped when storage keys and field groups are known
  • Carbon field/container definitions — code-first containers and custom callbacks require manual recreation or a site-specific importer

What gets migrated

Field group definitions

  • Field group title and slug
  • All sub-field definitions with correct field types
  • Field labels, names, required flags, default values, instructions
  • Location rules (post type, page, category, user role, etc.)
  • Position and style settings
  • Hide-on-screen settings
  • Conditional logic rules

Field values

  • All existing field values for every post
  • Values for complex fields (repeater, flexible content, group, clone)
  • Nested repeater data with correct parent-child relationships
  • Image and file references (preserved as IDs, not re-uploaded)
  • Relational field references (post IDs, user IDs, term IDs all preserved)
  • Date/time values in correct format
  • WYSIWYG content with HTML preserved

Options pages

  • Options page registrations
  • All options page field values
  • Field group assignments via location rules

Custom post types and taxonomies

  • ACF/SCF taxonomy and relationship field values are migrated as references.
  • If another source plugin also defines custom post types or taxonomies (for example Pods or Toolset), those content models are not recreated automatically yet. Keep the source plugin active or migrate the CPT/taxonomy registration separately before deactivation.

ACF-specific features

  • acf_register_block_type() calls are detected and converted to Field Forge PHP blocks
  • Field group JSON files from ACF’s Local JSON feature are imported into Field Forge’s JSON sync

Migration process

Step 1: Backup your database

Always backup before migration. Use your host’s backup tool, UpdraftPlus, or wp db export via WP-CLI.

wp db export backup-before-fieldforge.sql

Step 2: Install Field Forge alongside the source plugin

Field Forge can run simultaneously with ACF or SCF during migration. For Meta Box, CMB2, Carbon Fields, Pods, or Toolset beta/manual migrations, keep the source plugin active until the mapped values and template calls have been verified.

Step 3: Go to Field Forge → Tools → Import

The Import screen auto-detects which custom fields plugins are active on your site. You’ll see a list of detected plugins with import options for each.

Step 4: Click “Start Import”

Select the source plugin and click “Start Import.” Field Forge runs the migration in batches to avoid PHP timeouts on large sites:

  • Field group definitions — imported first (usually <10 seconds)
  • Options page definitions — imported next
  • Field values — migrated in batches of 50 posts per request via AJAX
  • Validation — post-migration check that counts match

A progress bar shows:

  • Total posts to migrate
  • Posts migrated so far
  • Posts per minute
  • Estimated time remaining

On a site with 10,000 posts and complex field groups, full migration typically takes 15–45 minutes.

Step 5: Verify migrated data

After migration completes, Field Forge runs automatic verification:

  • Count of migrated field groups matches count of source field groups
  • Count of migrated post values matches count of source post values
  • Sample post comparison: pick 10 random posts and verify field values match between source and Field Forge storage
  • Any discrepancies are listed with details

If verification passes, you’re ready to deactivate the source plugin.

Step 6: Test the site

With both plugins still active, spot-check important pages:

  • Homepage (global field groups)
  • A few posts using custom fields
  • Options pages
  • Any custom post type pages
  • Admin screens (verify field groups appear correctly)

If everything looks good, move to Step 7.

Step 7: Deactivate the source plugin

With ACF or SCF deactivated, Field Forge’s ACF compatibility layer takes over. All get_field(), have_rows(), etc. calls now resolve to Field Forge’s storage. For non-ACF sources, update template helper calls (for example rwmb_meta() or CMB2-specific accessors) before removing the old plugin.

Step 8: Final verification

Re-check the same pages from Step 6. Templates should render identically. If a template shows missing data or a 500 error, re-activate the source plugin (data is safe) and contact Field Forge support.


Batched processing for large sites

The migration tool runs in batches of 50 posts per request by default (configurable). This prevents PHP timeouts on large sites and keeps the migration resumable — if something interrupts the process, you can restart from where it stopped.

For sites with 50,000+ posts, we recommend:

  • Running during low-traffic hours
  • Using WP-CLI for faster bulk migration: wp fieldforge migrate --source=acf --batch-size=100
  • Monitoring with wp fieldforge migrate-status to track progress

Data safety

Field Forge’s migration is non-destructive:

  • Source plugin data stays in place during migration
  • Migration copies data into Field Forge’s storage without modifying the source
  • If you deactivate Field Forge, the source plugin’s data is untouched
  • If you deactivate the source plugin after migration, Field Forge’s data takes over and the source data remains in the database as a backup

If migration fails for any reason, you can always:

  1. Deactivate Field Forge
  2. Reactivate the source plugin
  3. Your site is back to its original state

What if my site uses custom field hooks or filters?

The ACF compatibility layer covers the template function API (get_field(), have_rows(), etc.) used by 95% of sites. For the remaining 5% that use ACF-specific hooks and filters (e.g., acf/load_field, acf/save_post, custom field type extensions), some code may need adjustments.

Field Forge has equivalent hooks prefixed fieldforge/:

  • acf/load_fieldfieldforge/load_field
  • acf/save_postfieldforge/save_post
  • acf/format_value/type=textfieldforge/format_value/type=text

For most cases, a simple search-and-replace across your theme files or a custom plugin migrates your hooks. Our support team can help if you hit edge cases.


Migration from ACF vs SCF

Because SCF is a direct fork of ACF (same data format, same API), the migration tool treats them identically. If you’re running SCF after the October 2024 WordPress.org fork, the Import tool detects it as “ACF” and runs the same migration logic.


Ready to migrate?

Get Field Forge — from $35/year →

The import tool is included in every paid plan. See our complete migration guide for step-by-step walkthroughs and troubleshooting.

Forge AI Assistant Online

Hi! I'm the Field Forge AI assistant. Ask me anything about the plugin — setup, features, troubleshooting, or development.

Just now
Powered by Forge AI · Browse docs