ACF PRO License Activation, Update, and Deployment Checklist
ACF PRO activation, plugin updates, field-group editing, content entry, and front-end output are separate results. A green license state can coexist with a missing field group or blank template, while an expired or missing license can restrict the ACF admin without deleting saved field data. This guide helps WordPress owners and developers trace the first failed stage, use the purchaser's authorized account, preserve production data, and leave a supportable field-definition and template handoff.
Authorization and privacy boundary
Use the site owner's authorized ACF PRO account and keep the license key private
This article assumes the WordPress owner or its authorized developer controls a current ACF PRO purchase and has permission to activate it on the named site. The official ACF pricing page reviewed July 29, 2026 lists production-site limits of one website for Personal, ten for Freelancer, and unlimited websites for Agency. Development and staging activations can be excluded from those limits only when ACF recognizes the URL as development or staging under its current rules.
eArif does not provide an ACF PRO license, key, account, subscription, site allocation, entitlement, renewal, official activation, or vendor support through this guide. The existing eArif legacy commercial result and the Shopify managed-activation product are separate URLs on promotion and fulfillment hold while entitlement language is reviewed. Neither commercial route is a conversion destination for this informational owner.
That hold is deliberate. WP Engine's current general terms describe the software right as limited, non-transferable, and non-sublicensable, and they prohibit presenting a business as a reseller or partner without separate authority. The ACF bundling guide also prohibits sharing license-key information or using included ACF PRO as a selling point. Those sources do not support assuming that a third-party listing transfers an account, license, support relationship, or right to resell activations.
Treat the license key, ACF account, WordPress credentials, Composer credentials, database, Local JSON repository, private field values, and production screenshots as sensitive. Do not put a key in a contact form, analytics event, public ticket, source repository, screen recording, or handoff document. A useful first diagnosis normally needs the public URL, environment role, software versions, exact redacted error, license-status confirmation by the owner, field-group key or name, definition source, affected edit screen, output location, timestamp, and recovery state. Review the eArif privacy boundary before sharing implementation evidence.
Continue self-service
The purchaser controls the account, the exact site is eligible, a current backup exists, the definition owner is known, and one representative field can be tested safely.
Pause for the purchaser
The account, renewal, site limit, production assignment, multisite allowance, key source, package source, or right to activate the site is unclear.
Escalate the implementation
The issue crosses a theme, child theme, custom plugin, Local JSON, Composer, Git deployment, multisite, templates, blocks, REST, cache, or live editorial workflow.
One plugin, several independent results
A license message does not prove that fields, values, and template output are correct
Start by naming the layer that failed. ACF's license controls access to PRO administration and updates. Field definitions can live in the database, Local JSON, or PHP. Content values live in WordPress meta tables or the options table according to their location. Theme, block, shortcode, REST, or custom code controls how those values become public output. Repairing one layer does not automatically repair the others.
| Layer | What it controls | Acceptance evidence | Common wrong assumption |
|---|---|---|---|
| Purchaser account and license | Authorized package access, production-site capacity, activation state, renewal, updates, and official support. | The purchaser privately confirms the account, current subscription, exact assigned URL, and available production activation. | A plugin ZIP or visible key proves transferable ownership, account access, support, or resale rights. |
| WordPress plugin state | Whether ACF PRO code is installed, active, compatible, recognized, and able to expose its admin and update screens. | Plugins identifies the genuine PRO plugin, ACF > Updates is available when expected, and versions and requirements are recorded. | The free ACF plugin and ACF PRO should both remain active, or a license key alone installs PRO features. |
| Field definitions | Field-group keys, fields, types, names, location rules, settings, options pages, post types, taxonomies, and blocks. | The intended database, Local JSON, or PHP source is named, versioned where applicable, and matches the target environment. | Activation recreates missing field groups or makes every code-registered group editable in the admin. |
| Content values | The actual text, media IDs, relationships, repeater rows, options, and other values saved by editors. | A representative authorized user can load, edit, save, reload, and recover the expected value on the intended object. | Changing or deleting a field definition automatically deletes or safely migrates every stored value. |
| Template and block output | Which value is queried, its context, fallback, escaping, markup, responsive behavior, and public visibility. | The correct public and preview routes render the expected value safely for logged-in and logged-out states. | A field visible in the editor automatically appears on the front end, or a blank template proves a license failure. |
| Deployment and ownership | How definitions, code, database changes, dependencies, approvals, rollback, and maintenance move across environments. | The source of truth, release diff, backup, sync status, test record, rollback owner, and next maintainer are documented. | Copying the plugin and theme is enough to reproduce database field groups, option values, and environment-specific paths. |
Read the exact license state
Active, expired, missing, staging, and multisite states have different effects
ACF documents a separation between field administration, editing content, and displaying data. With a valid license, PRO administration, editing, and output continue normally. With a previously activated but expired subscription, existing PRO field definitions remain editable, but new PRO fields, blocks, and options pages cannot be created. With no valid license activated, existing and new PRO definitions cannot be edited or created in the ACF admin. In both restricted states, editors can still use existing fields and the front end can still display stored values.
| Observed state | What official guidance says | First evidence to collect | Safe decision |
|---|---|---|---|
| Valid license activated | Automatic updates and PRO administration are available, subject to the installed version and environment. | Current license status, exact URL, installed version, update screen, and one PRO definition edit. | Continue to field, data, template, and deployment QA rather than treating activation as completion. |
| Previously activated subscription expired | Existing PRO definitions can be edited, but new PRO fields, blocks, and options pages cannot be created; content editing and display remain available. | Purchaser account status, renewal decision, current warnings, field type, and whether the task creates or edits a definition. | Have the purchaser renew when current updates or new PRO definitions are required. Do not replace the account with an unknown key. |
| No valid license activated | Existing and new PRO definitions cannot be edited or created in the ACF admin, while content entry and display continue. | Plugin type, license screen, exact redacted warning, account authority, and whether definitions come from JSON or PHP. | Resolve the authorized account and activation state before changing definitions or blaming stored content. |
| Development or staging URL | Recognized local, development, and staging patterns do not count toward production limits; all other URLs are production. | Exact WordPress Site Address, host pattern, environment type, purchaser account activations, and ACF's classification. | Use a documented recognized environment URL or sufficient plan capacity. A /staging subdirectory is still treated as production. |
| WordPress multisite | The main network site enables updates, and licenses bought on or after February 1, 2024 require activation on each subsite using ACF PRO. | Purchase date, main-site activation, active subsites, network/plugin state, and available activation count. | Map every required subsite before activation or migration; do not assume one main-site activation covers a newer license. |
| ACF menu is hidden on production | ACF documents intentional filters that hide field editing for all users, selected capabilities, or production only. | Theme and mu-plugin filters, current user capability, environment type, and whether Local JSON or PHP owns the definitions. | Confirm intentional governance before removing the filter or diagnosing the missing menu as a plugin or license defect. |
Eight-stage workflow
Move from account evidence to a tested public output and supportable handoff
Each stage creates evidence needed by the next. Use staging for structural changes when possible, but first confirm whether ACF recognizes that URL as staging or counts it as production. On a live site, choose one representative field group, one content object, and one public template path for the initial test. Stop at the first unexplained mismatch instead of changing licenses, plugins, field keys, database records, and templates together.
- 1Account and site
- 2Backup and baseline
- 3Install PRO
- 4Activate license
- 5Verify updates
- 6Check field groups
- 7Deploy JSON or PHP
- 8Test output and handoff
- Confirm the purchaser, exact site, plan capacity, and environment classification. Record the account owner, WordPress owner, implementer, release approver, exact Site Address, production or staging role, multisite topology, purchase date when multisite matters, current subscription status, and available site count. The purchaser should manage the private key and account-side activations. Do not accept a screenshot, marketplace claim, plugin ZIP, or pasted key as proof of transferable entitlement.
- Create a restorable database-and-files baseline before changing plugin or field structure. Record WordPress, PHP, ACF, theme, child theme, builder, relevant add-ons, custom plugin, and environment versions. Export or inventory the current field groups, note their keys and definition source, identify options pages and custom post types, capture representative editor and public output, and confirm who can restore the database, theme, plugin, uploads, and configuration.
- Install the genuine ACF PRO package from the authorized account. Download the current ZIP from the purchaser's ACF account, install and activate it under Plugins, and confirm WordPress identifies ACF PRO. ACF states that activating PRO automatically deactivates the free plugin and that existing free-version fields and data continue to work; after verifying PRO, the inactive free plugin can be deleted. Composer installations need a separately controlled credential and site-URL process.
-
Activate the private license and preserve only redacted evidence. Use ACF > Updates, enter the purchaser's key, and confirm the site reports activation. ACF also documents an
ACF_PRO_LICENSEconstant, but a key placed inwp-config.phpremains a secret: keep it out of Git, logs, tickets, screenshots, generated support bundles, and public deployment output. If ACF > Updates is missing, confirm that PRO is installed and active and the free version is not the active plugin before changing the key. - Verify the official update path and current release without forcing a broad production change. ACF's current guide says ACF 6.3.8 and later can update through the normal Plugins screen; earlier versions may require a one-time genuine download before normal updates appear. Confirm the current official changelog, active license, WordPress update cache, filesystem permissions, host connectivity, maintenance window, dependency compatibility, and database-upgrade prompt. Back up before a manual ZIP replacement or database upgrade.
- Prove the expected field groups, PRO types, location rules, and editor behavior. Identify one representative group by unique key and name. Confirm the expected fields and location rules appear on the intended post, page, product, user, taxonomy, options page, or block. Test a Repeater, Flexible Content, Clone, Gallery, Options Page, or ACF Block only when the implementation actually uses it. Save and reload a non-sensitive test value with the intended user role.
-
Align the field-definition source before synchronizing or editing production. Decide whether the database UI, Local JSON, or PHP is authoritative. For Local JSON, compare file keys, modified timestamps, save and load paths, repository version, and pending sync. ACF's current WP-CLI JSON sync command requires ACF 6.8 or later and can modify the database, so use
--dry-runfirst when available. PHP-registered groups may be intentionally absent from the field-group editor and require unique keys and correct load order. - Test content entry, public output, security, performance, rollback, and handoff. Save, reload, preview, and publish the representative value. Verify the template queries the correct object and field name or key, uses a deliberate fallback, escapes output for its HTML context, and behaves correctly for logged-out users and selected mobile and desktop layouts. Document the license owner, definition source, release diff, content test, public route, exceptions, rollback route, update owner, and next review without including secrets or private values.
Troubleshoot the first failed boundary
Match each ACF PRO symptom to the smallest evidence set that can own it
| Visible symptom | First evidence checks | Safe next action | Avoid |
|---|---|---|---|
| ACF > Updates is missing | Plugins screen, exact ACF package, active plugin, free-versus-PRO state, user capability, hidden-admin filters, and environment. | Activate the genuine PRO plugin and use an authorized admin; preserve an intentional production governance filter. | Pasting a key into the database or deleting field groups because the menu is absent. |
| License key is invalid or activation fails | Purchaser-confirmed subscription, exact private key, Site Address, site capacity, old assignment, multisite requirement, redacted message, and timestamp. | Have the purchaser correct the proven account or assignment issue, then make one controlled retry or contact official support. | Posting the key, buying an unknown replacement, rotating unrelated credentials, or repeatedly retrying production. |
| Staging consumes a production activation | Exact host pattern, subdomain or subdirectory, environment type, ACF's current classification rules, and account activations. | Use a recognized local or staging URL pattern or sufficient plan capacity, with owner approval and migration notes. | Assuming any URL containing a staging folder is automatically excluded from the site limit. |
| PRO updates do not appear | License state, installed ACF version, official current version, WordPress update cache, filesystem, outbound HTTPS, maintenance mode, and host logs. | Follow the current official one-click or genuine manual update path after backup and compatibility review. | Installing a third-party ZIP, changing multiple plugins together, or treating a missing update notice as proof of a fake license. |
| Cannot create or edit PRO fields | Valid, expired, or missing license state; field type; account renewal; warning text; definition source; and hidden-admin governance. | Resolve authorized license state when new or edited PRO definitions are required; preserve stored values and public output during diagnosis. | Deleting and recreating groups, renaming keys, or editing serialized database records to bypass the restriction. |
| Field group is missing after deployment | Database record, Local JSON files and load paths, PHP registration, unique keys, modified timestamps, active theme or plugin, sync status, and location rules. | Restore the intended definition source, preview the exact sync or code diff, and apply one controlled change with rollback. | Creating a second group with new keys before proving whether the original is in JSON, PHP, another environment, or a disabled component. |
| Fields show in admin but values are blank or will not save | Object ID, field name and key, user capability, nonce or validation error, conditional logic, autosave, PHP limits, Repeater size, and server logs. | Test one small value on a representative object, preserve the redacted error, and isolate permissions, validation, limits, or save hooks. | Increasing every PHP limit, disabling security globally, or mass-resaving production content. |
| Values save but do not display publicly | Template or block code, queried object, field name or key, return format, conditional fallback, escaping, cache, and logged-out output. | Correct the smallest template-context mismatch and retest the same object and public route. | Changing the license, deleting data, or exposing raw unescaped field values to make output appear. |
| ACF admin is slow or large Repeaters fail | Field-group size, nested structures, row count, add-ons, database queries, browser resources, PHP memory and max_input_vars, and pagination eligibility. |
Measure a baseline, test add-ons separately, split broad groups, use Local JSON where appropriate, and paginate eligible Repeaters. | Promising that license activation or a server-limit increase alone fixes every admin and front-end performance issue. |
Choose one definition owner
Database UI, Local JSON, and PHP registration solve different deployment problems
ACF can load definitions from more than one source. The right method depends on who edits fields, how environments are deployed, whether changes need code review, and what must remain hidden from production editors. Mixing methods without a declared source of truth creates duplicate keys, stale definitions, uncertain sync direction, and handoffs that cannot be reproduced.
| Method | Best fit | Release evidence | Primary risk |
|---|---|---|---|
| Database and ACF admin UI | Simple sites with a named administrator, controlled production editing, and a reliable database migration or export process. | Field-group export, unique keys, database backup, editor approval, affected content objects, and environment-specific change record. | Definitions stay in one database, drift across environments, or are changed directly on production without version review. |
| Local JSON | Theme or plugin workflows that need faster loading, version control, reviewable field settings, and synchronization across environments. |
acf-json location, save and load paths, repository commit, modified timestamps, pending-sync preview, backup, and post-sync verification. |
The wrong theme or load path is active, a stale database copy wins during editing, a sync overwrites intentional changes, or public directory listing exposes files. |
| PHP registration | Definitions owned by code, distributed with a custom theme or plugin, or intentionally hidden from the field-group editor. | Unique group and field keys, code review, correct acf/init load order, dependency check, release diff, automated or manual test, and rollback. |
A group is absent from the editor by design, duplicate keys override each other, or code loads after a template first initializes ACF. |
| WP-CLI JSON synchronization | ACF 6.8+ environments with controlled command access and a reviewed JSON deployment or CI/CD workflow. | Version requirement, wp acf json sync --dry-run result, targeted keys or types, database backup, command output, status check, and content QA. |
A broad sync modifies production database definitions without a preview, approval, compatible version, or rollback owner. |
Local JSON and PHP version field definitions, not content values. A database migration, content import, or separate data process may still be required. Likewise, copying content without the matching field definitions, location rules, options-page registration, post types, taxonomy, blocks, and template code can leave values stored but unreachable through the intended editor or front end.
Activation is not release acceptance
Verify editing, output, security, performance, recovery, and future ownership
| Verification area | Minimum check | Failure owner |
|---|---|---|
| Account and updates | The purchaser confirms the exact site, license state, renewal owner, official update path, current version, and support route. | Purchaser account, site allowance, multisite mapping, ACF service, WordPress updater, host, or filesystem. |
| Definitions and editing | The intended field groups, keys, types, location rules, options pages, blocks, and user roles load and save a representative non-sensitive value. | Database, JSON, PHP, sync state, active code, capabilities, validation, server limits, or add-on. |
| Public output | The correct value, object context, return format, fallback, markup, cache state, and logged-out mobile and desktop result are verified. | Template, block, query context, theme, child theme, builder, cache, CSS, JavaScript, or data mapping. |
| Security and privacy | License and Composer secrets remain private; field output is escaped for its context; editor-UI and REST access expose only intended fields. | Configuration, repository, logging, role policy, REST setting, shortcode or block binding, template escaping, or handoff practice. |
| Performance | Large groups, Repeaters, Flexible Content, options autoload, return formats, add-ons, database work, browser load, and PHP limits are measured where relevant. | Field architecture, JSON strategy, add-on, database, host, browser, template query pattern, or editorial volume. |
| Recovery and handoff | The backup, definition source, release diff, content test, public routes, exceptions, rollback owner, renewal owner, and next review are documented without secrets. | Site owner, purchaser, developer, host, repository owner, maintenance provider, or release approver. |
ACF's security guidance says field values loaded through API functions such as get_field() are not automatically escaped for your final output context. Escape URLs, attributes, text, and allowed HTML deliberately. Also review whether editor UI access, shortcodes, block bindings, and REST exposure are intended for each field. License activation does not make private values safe to publish.
Interactive working review
ACF PRO activation and deployment checklist: 32 local checks
Complete the checks in order. This checklist saves only checked item IDs in this browser's local storage. It does not send a domain, license key, account, credential, field value, database record, repository, or private URL to eArif.com. Reset it before leaving a shared device.
0 of 32 checks complete
Hold: the ACF PRO review is incomplete.
Choose by evidence owner
The purchaser, ACF support, host, developer, Systems Audit, and Contact solve different problems
| Situation | Best next route | Reason |
|---|---|---|
| Authorized account, eligible site, known definition source, healthy representative test | Complete this checklist directly and expand the release in controlled steps. | The account, plugin, definitions, data, output, recovery, and handoff owners are available. |
| Purchase, renewal, site count, multisite allowance, activation, billing, or official support is disputed | Use the purchaser's ACF account and official ACF support. | Only the account authority and vendor can resolve subscription, activation, and account-side evidence. |
| Filesystem, outbound HTTPS, PHP limits, permissions, database, or server logs own the failure | Give the host or server owner the redacted error, time, versions, affected request, and controlled reproduction. | The first failed boundary is hosting or execution rather than a field-architecture decision. |
| One known theme, plugin, JSON, PHP, block, or template path needs implementation | Route to the named WordPress developer or maintainer with the field key, definition source, object, output path, and acceptance test. | The dependency is narrow enough for focused implementation and code review. |
| The issue crosses licensing, environment, theme, custom plugin, deployment, content, output, security, or live editorial risk | Start with Systems Audit. | The result needs a dependency map, source-of-truth decision, evidence baseline, controlled QA, recovery plan, and accountable handoff. |
| The correct owner or work scope is still unclear | Contact Arif with privacy-safe evidence. | A public URL, environment, versions, redacted symptom, field-group key or name, definition source, affected object, and stopping point are enough for initial routing. |
Before requesting work, review eArif's proof boundaries, WordPress software context, and Arifur Rahman's implementation focus. Do not submit a license key, account login, WordPress credential, Composer credential, database export, repository secret, customer record, or private field value through the contact form.
If the dynamic field, listing, query, relation, form, or template is owned by JetEngine or another JetPlugin rather than ACF, use the Crocoblock and JetPlugins activation checklist so vendor assignment, plugin inventory, migrated data, and representative output stay with the correct evidence owner.
Frequently asked questions
ACF PRO activation, update, and field deployment questions
Why can I not create or edit ACF PRO fields after activation?
First confirm that the genuine ACF PRO plugin is active and the purchaser's license reports valid for the exact site. ACF says a previously activated but expired license can edit existing PRO definitions but cannot create new ones; a site with no valid license cannot create or edit PRO definitions. Also check whether the ACF admin is intentionally hidden, the group is registered through PHP, or another environment owns the Local JSON source.
Does an expired ACF PRO license stop existing fields from displaying?
No. ACF states that content editors can continue using existing fields and that public display is unaffected by license status. The restriction concerns creating or editing PRO definitions in the ACF admin. A blank front end therefore needs template, object-context, field-name, return-format, cache, and saved-value checks rather than an automatic license replacement.
Why is ACF PRO not showing an update in WordPress?
Check the active license, installed version, official current release, WordPress update cache, filesystem permissions, outbound connectivity, and host logs. ACF's current guide says versions 6.3.8 and later use the normal Plugins update path, while earlier versions may need a one-time genuine download from the authorized source. Back up and review compatibility before a manual update or database upgrade.
Does an ACF PRO staging site count toward the license limit?
Recognized development and staging URL patterns do not count toward ACF's production-site limit. ACF classifies all other URLs as production, and a staging installation in a subdirectory such as example.com/staging is treated as the production root. Confirm the exact URL and current account classification rather than relying on an environment label in hosting or WordPress.
Should ACF field groups live in the database, Local JSON, or PHP?
Use the database UI for controlled administrator-owned editing, Local JSON for reviewable and synchronizable definitions, and PHP when code should own and distribute fields or hide them from the editor. Name one source of truth per group. Local JSON and PHP move definitions, not the saved content values, and code-registered groups may intentionally be absent from the ACF field-group editor.
Can I share an ACF PRO license key with a developer?
Use the smallest private access path approved by the purchaser and site owner, and avoid placing the key in messages, tickets, analytics, screenshots, Git, or handoff notes. ACF documents dashboard and protected configuration activation methods, but WP Engine's current terms describe software rights as non-transferable and non-sublicensable. The purchaser should retain account and activation control and ask official support when permitted use is unclear.
Primary sources reviewed July 29, 2026
Official ACF and WP Engine sources used for this guide
- ACF: License Activations for active, expired, and missing-license behavior; development and staging classification; multisite; and bundling restrictions.
- ACF: How to Activate ACF PRO for installation, account-key retrieval, dashboard activation, protected configuration, and missing Updates-screen guidance.
- ACF: How to Update for one-click and manual update paths, the 6.3.8 threshold, file replacement, and database-upgrade notes.
- ACF: Installing ACF and ACF PRO for current installation and PRO feature context.
- ACF PRO for the current public production-site tiers, renewal model, account functions, and feature overview.
- ACF: Installing ACF PRO With Composer for account-authenticated packages, authorized site URLs, and Composer activation behavior.
- ACF: Local JSON for save and load paths, version control, sync eligibility, modified timestamps, and directory-listing protection.
- ACF: Synchronized JSON for field-group key matching, modified-time behavior, database synchronization, and private definitions.
- ACF: WP-CLI JSON Sync for ACF 6.8+ command requirements, production dry runs, targeted synchronization, and database-change warnings.
- ACF: Register Fields via PHP for unique keys, code-owned definitions, cross-environment deployment, editor visibility, and load order.
- ACF: Disable Custom Fields Editing on a Live Site for intentional all-user, capability, and production-only admin controls.
- ACF: Security Principles for stored-data visibility, editor UI access, REST behavior, update security, and secure output responsibility.
- ACF: HTML Escaping for dashboard and form sanitization and the need to escape values loaded through API functions for their output context.
- ACF: Improving Performance for Local JSON, focused groups, options autoload decisions, Repeater pagination, add-on isolation, browser load, and PHP limits.
- ACF: Getting Started for the relationship among custom fields, field groups, content entry, location rules, and theme display.
- ACF: Including ACF Within a Plugin or Theme for bundling, key-sharing, marketing, field-definition, and support restrictions.
- WP Engine: Terms of Service for the current limited, non-transferable, non-sublicensable software-use language and reseller or partner representation boundary.
Plugin interfaces, version requirements, security controls, license terms, prices, site limits, recognized staging patterns, update behavior, and WP-CLI commands can change. Recheck these primary sources, the purchaser's live ACF account, the current changelog, the installed code, and the site's actual field and template behavior before acting on an old screenshot, marketplace listing, cached search result, forum answer, or AI summary.
Native article proof and privacy boundary
Use this article as context, not as proof that a project is qualified.
A native blog article read, feed click, archive click, old link, search result, AI summary, social share, comment, or saved link is not buyer-fit proof, service-start proof, delivery proof, outcome proof, ranking proof, AI citation proof, or permission to request private access.
Proof before article claims
Use Proof before turning a blog lesson into a credibility claim, case-study claim, marketplace claim, review claim, or outcome claim.
Privacy before private examples
Use Privacy before sharing customer names, exports, screenshots, access data, API keys, workflow logs, or private system examples.
Route before live action
Use Content Library or Learning Cave while learning, Systems Audit when the issue crosses tools, and Contact when safe context is ready.
Entity clarity before AI summary
Use AI Search Profile when a model, browser agent, or research assistant needs the correct source for Arif's role, service boundaries, and next routes.