Builder Meta Cleanup
Detect major page builders, show install/active state, and remove orphaned postmeta or allowlisted options only when each stack is inactive. Includes WP-CLI.
Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/duppinstech/wp-builder-meta-cleanup/archive/refs/heads/main.zipDetect major page builders and companion plugins, show install/active state, and remove orphaned postmeta, allowlisted options, or prefix-matched wp_options rows only when each stack is inactive. Includes WP-CLI.
Compatibility
- Tested up to: WordPress 6.7
- Stable tag: 2.3.3
- License: GPLv2 or later
Full WordPress.org–style readme (headers, changelog, FAQ): see readme.txt in this repository.
Repository: github.com/oduppinsjr/wp-builder-meta-cleanup
The admin screen uses tabs, starting on Summary (default landing tab — site-wide breakdown of every cleanable row across inactive stacks, with per-stack opt-out checkboxes pre-ticked, a backup-confirmation gate, and a one-click full cleanup whose button label updates live as you toggle stacks). Followed by Themes & frameworks, Page builders, Plugins (preset targets for common plugins that leave cruft), and About & tools (updates / WP-CLI). Each cleanup table also exposes a master Select all checkbox in its header row.
Repository documentation
| Document | Purpose |
|---|---|
| CHANGELOG.md | Version history (Keep a Changelog). |
| CONTRIBUTING.md | How to propose changes and pull requests. |
| CODE_OF_CONDUCT.md | Community expectations. |
| LICENSE.md | License statement (GPL-2.0-or-later); see also LICENSE at repo root. |
| SECURITY.md | How to report vulnerabilities privately. |
| SUPPORT.md | Where to get help and file issues. |
| PROJECT_MEMORY.md | Maintainer/agent notes: codebase map, version bump, Git release flow. |
Supported stacks (postmeta patterns)
| Stack | Meta patterns |
|---|---|
| Elementor | meta_key LIKE '_elementor_%' |
| Divi / Extra | _et_pb_%, et_pb_% |
| Beaver Builder | _fl_builder_% |
| Bricks | _bricks_% |
| SeedProd | _seedprod_%, seedprod_% |
| Hello Elementor | _hello_% |
| BeTheme / Muffin | mfn-% |
| Astra | postmeta: ast-%, _astra_%; options: exact astra-settings, theme_mods_astra, astra_docs_data, plus wp_options.option_name LIKE astra_% and LIKE astra-% (covers Astra Sites / Starter Templates, Astra Pro, Astra Addons) |
| Impreza (UpSolution) | postmeta: us_%, _us_%; options: exact usof_options_Impreza, theme_mods_Impreza, theme_mods_impreza, plus wp_options.option_name LIKE usof_% and LIKE us_% |
| OceanWP | postmeta: ocean_%, _ocean_%; options: exact theme_mods_oceanwp, plus wp_options.option_name LIKE ocean_%, LIKE oceanwp_%, LIKE oewt_% (Ocean Extra widgets) |
| Fusion / Avada | _fusion% plus wp_options names FS_% |
| Premium Addons for Elementor | wp_options names PA_% |
| Essential Addons for Elementor | wp_options names eael_% |
| Ultimate Addons for Elementor | wp_options names uael_% |
Companion plugins are gated on their plugin being active; Elementor may stay installed while you remove leftover Premium Addons rows.
Fusion / Avada also supports deleting wp_options rows whose names match FS_% (ThemeFusion option fragments).
Astra also registers some postmeta keys without the ast- prefix (for example site-sidebar-layout). Those are not removed by this plugin.
Astra wp_options rows that begin with astra_ or astra- (for example astra_docs_data, astra_sites_*, astra-addon-auto-version) are covered by the prefix patterns and are only offered for deletion when the Astra theme is inactive.
Safety
- Postmeta cleanup is blocked while the matching stack is active.
- Exact options and prefix (
LIKE) option cleanup are only offered when the owning stack or plugin is inactive.
Install
Copy the builder-meta-cleanup folder into wp-content/plugins/, then activate Builder Meta Cleanup in wp-admin.
Admin screen: Tools → Builder Meta Cleanup.
Updates (GitHub vs WordPress.org)
The plugin may declare an Update URI and include optional GitHub-based update logic. For WordPress.org distribution, follow directory guidelines for update handling.
WP-CLI
wp builder-meta counts
wp builder-meta delete --target=astra --yes
wp builder-meta option-counts
wp builder-meta options-delete --option=astra-settings --yes
wp builder-meta options-like-delete --target=premium_addons_elementor --pattern=pa_options --yes
wp builder-meta summary
wp builder-meta clean-orphans --dry-run
wp builder-meta clean-orphans --yes
Extend
PHP filter: builder_meta_cleanup_targets — add targets, meta like_prefix entries, or options keys.
License
GPL-2.0-or-later. See LICENSE.md and the GNU GPL v2.
Publishing (maintainers)
From this directory, with GitHub credentials configured (PAT or SSH):
git remote add origin https://github.com/oduppinsjr/wp-builder-meta-cleanup.git
git push -u origin main
git push origin v2.1.0
Create the GitHub Release from tag v2.1.0, or with GitHub CLI:
gh release create v2.1.0 --title "v2.1.0" --notes-file - <<'EOF'
Fusion / Avada, Elementor companion addons, pattern-based wp_options cleanup, WP-CLI options-like-delete.
EOF