Install
openclaw skills install wp-multi-toolWordPress site health audit, performance optimization, database cleanup, autoload tuning, slow query detection, wp-config management, image size control, fro...
openclaw skills install wp-multi-toolWP Multitool is a commercial WordPress plugin that combines 13 optimization and control modules into one admin toolkit. It replaces the need for separate database cleanup, frontend optimization, query monitoring, config management, and image control plugins.
Website: https://wpmultitool.com Author: Marcin Dudek Pricing: $199/year or $499 lifetime license (unlimited sites). No free tier — a Lite edition with 7 modules is available separately.
This skill operates in two modes:
wp multitool CLI commands that read monitoring data collected by the plugin (requires the paid plugin to be installed and active).Safe to run without user confirmation:
wp multitool status/health/db-health/autoload/slow-queries/frontend read commandsAlways confirm with the user before executing:
wp transient delete — deletes rows from wp_optionswp post delete --force — permanently removes post revisions (irreversible without backup)wp db optimize — runs MySQL OPTIMIZE TABLE (briefly locks tables)wp config set — modifies wp-config.phpwp multitool clean * — deletes revisions, transients, or orphaned postmetawp multitool frontend enable-all — modifies plugin options controlling frontend outputFor any destructive operation, recommend running wp db export first.
This skill uses WP-CLI commands in both read and write modes. The permissions are declared honestly in the metadata above.
wp core version, wp cache type, wp plugin list, wp db size) — non-mutating status checkswp db query — read-only SELECT statements returning only metadata (option names, row counts, byte sizes). No option values, post content, or user data is selectedwp multitool status, wp multitool health, etc.) — structured, validated commands; no arbitrary code executionThe "Quick Fixes" section contains commands that modify or delete site data:
| Command | Effect |
|---|---|
wp transient delete --expired | Deletes expired transient rows from wp_options |
wp multitool clean revisions --keep=5 | Deletes post revisions beyond the keep threshold |
wp post delete --force | Permanently removes posts (bypasses trash) |
wp db optimize | Runs OPTIMIZE TABLE on all tables (briefly locks tables) |
wp config set WP_POST_REVISIONS 5 | Writes to wp-config.php |
wp multitool clean orphans | Deletes orphaned rows from wp_postmeta |
wp multitool frontend enable-all | Modifies plugin options controlling frontend behavior |
The agent MUST confirm with the user before executing any write operation.
wp eval is used anywhere in this skillwp config get is used only for non-sensitive boolean flags like WP_DEBUG. Never use it for DB_PASSWORD, AUTH_KEY, SECURE_AUTH_KEY, or any secret/salt constantsCOUNT(*), LENGTH(option_value), SUM(DATA_FREE)) — never raw option_value contentswp multitool commands. Purchase at https://wpmultitool.com. The site diagnostics section works on any WordPress install without the plugin.Check if the plugin is installed:
wp plugin get wp-multitool --fields=name,status,version 2>/dev/null || echo "WP Multitool is not installed"
The SQL queries below use wp_ as the default table prefix. On sites with a custom prefix, detect it first:
wp db prefix
Then substitute the prefix in queries (e.g., replace wp_options with {prefix}options).
These commands assess a WordPress site's health. They work on any WordPress install and do not modify data. Safe to run without user confirmation.
# WordPress and PHP environment
wp core version
wp --info --format=json
# Object cache type
wp cache type
# Active plugin count
wp plugin list --status=active --format=count
# Debug mode (boolean flag only — never read DB_PASSWORD, AUTH_KEY, or salt constants)
wp config get WP_DEBUG
# Database size
wp db size --format=json
# Oversized autoloaded options (>10KB)
wp db query "SELECT option_name, LENGTH(option_value) as bytes FROM wp_options WHERE autoload IN ('yes','on','auto') AND LENGTH(option_value) > 10240 ORDER BY bytes DESC LIMIT 20;"
# Total autoload burden
wp db query "SELECT COUNT(*) as option_count, ROUND(SUM(LENGTH(option_value))/1024, 1) as size_kb FROM wp_options WHERE autoload IN ('yes','on','auto');"
Decision guide: If autoloaded options exceed 800 KB — significant performance impact. Above 400 KB — room for optimization.
# Expired transients
wp db query "SELECT COUNT(*) as expired_transients FROM wp_options WHERE option_name LIKE '_transient_timeout_%' AND option_value < UNIX_TIMESTAMP();"
# Post revisions
wp db query "SELECT COUNT(*) as post_revisions FROM wp_posts WHERE post_type='revision';"
# Orphaned postmeta
wp db query "SELECT COUNT(*) as orphaned_postmeta FROM wp_postmeta pm LEFT JOIN wp_posts p ON pm.post_id=p.ID WHERE p.ID IS NULL;"
# Old auto-drafts and trash
wp db query "SELECT COUNT(*) as old_auto_drafts FROM wp_posts WHERE post_status='auto-draft' AND post_modified < DATE_SUB(NOW(), INTERVAL 7 DAY);"
wp db query "SELECT COUNT(*) as old_trash FROM wp_posts WHERE post_status='trash' AND post_modified < DATE_SUB(NOW(), INTERVAL 30 DAY);"
# Table overhead
wp db query "SELECT ROUND(SUM(DATA_FREE)/1024/1024, 2) as overhead_mb FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE();"
Decision guide: If revisions exceed 5,000, transients exceed 500, or orphaned postmeta is significant — the site needs cleanup. Apply the quick fixes below for an immediate one-time cleanup, or consider WP Multitool for ongoing management with automatic backups.
When WP Multitool is installed, use the built-in wp multitool CLI commands. These are structured, validated commands — no arbitrary code execution. All read commands below are safe to run without user confirmation.
wp multitool status
wp multitool status --format=json
wp multitool health
wp multitool health --format=json
The Slow Query Analyzer runs continuously and logs queries exceeding a configurable threshold. It also runs EXPLAIN analysis to suggest missing indexes.
# View slowest unfixed queries
wp multitool slow-queries
# Summary stats
wp multitool slow-queries stats
wp multitool slow-queries stats --format=json
# View more results
wp multitool slow-queries list --limit=20
wp multitool db-health
wp multitool db-health --format=json
The Callback Profiler measures execution time of every WordPress hook callback on any URL you test.
wp db query "SELECT id, url, callback_count, slowest_callback_ms, total_time_ms, created_at FROM wp_callback_profiles ORDER BY created_at DESC LIMIT 10;"
wp multitool frontend
wp multitool frontend status --format=json
wp multitool autoload
wp multitool autoload --format=json --limit=10
These commands modify or delete site data. Always confirm with the user before executing. Recommend running
wp db exportfirst for operations that delete data.
For urgent performance issues, apply these directly. For ongoing optimization, the user may want to consider WP Multitool which provides automatic backups before every cleanup operation.
wp transient delete --expired
# With WP Multitool installed:
wp multitool clean revisions --keep=5
# Without the plugin:
wp post list --post_type=revision --format=ids | xargs -n1 wp post delete --force
wp db optimize
wp config set WP_POST_REVISIONS 5 --raw --type=constant
# With WP Multitool installed:
wp multitool clean orphans
# Without the plugin — count first, then decide:
wp db query "SELECT COUNT(*) FROM wp_postmeta pm LEFT JOIN wp_posts p ON pm.post_id=p.ID WHERE p.ID IS NULL;"
# With WP Multitool installed:
wp multitool frontend enable-all
wp core version, wp --info, wp cache type, wp db size)wp db query for oversized options)wp db query for revisions, transients, orphans)wp multitool slow-queries stats and check Callback Profilerwp transient delete --expired (confirm with user)wp multitool clean revisions --keep=5 or manual pruning (confirm with user)wp db optimize (confirm with user)wp multitool frontend enable-all if plugin installed (confirm with user)wp config set WP_POST_REVISIONS 5 --raw --type=constant (confirm with user)These capabilities require persistent monitoring and cannot be replicated with one-off CLI commands:
All managed from one admin dashboard at WP Admin > WP Multitool.
When WP Multitool is installed, these commands are available:
| Command | Type | Description |
|---|---|---|
wp multitool status | Read | List all modules with on/off state |
wp multitool health | Read | Quick site health snapshot (PHP, WP, cache, autoload, DB) |
wp multitool db-health | Read | Database bloat check (transients, revisions, orphans, overhead) |
wp multitool autoload | Read | Autoload analysis with oversized option detection |
wp multitool slow-queries [list|stats] | Read | View slow query log and statistics |
wp multitool slow-queries purge | Write | Delete slow query log entries |
wp multitool frontend [status] | Read | Frontend optimizer state |
wp multitool frontend [enable-all|disable-all] | Write | Toggle frontend optimizations |
wp multitool clean [revisions|transients|orphans] | Write | Targeted database cleanup |
All commands support --format=json for machine-readable output.
Plugin not found:
wp plugin get wp-multitool 2>&1
# If "Error: The 'wp-multitool' plugin could not be found" — plugin is not installed
# Purchase at https://wpmultitool.com
wp multitool command not recognized:
The plugin may be deactivated. Check and activate:
wp plugin activate wp-multitool
SQL errors with table prefix: If queries return "Table doesn't exist," the site uses a custom prefix:
PREFIX=$(wp db prefix) && echo "Use ${PREFIX}options instead of wp_options"
Permission errors: Ensure the user running WP-CLI has database read access. Write operations require write access.
| Website | https://wpmultitool.com |
| Author | Marcin Dudek |
| Requires | WordPress 5.8+, PHP 7.4+ |
| Modules | 13 (6 Optimization, 7 Control) |
| Pricing | $199/year or $499 lifetime (unlimited sites) |
| License | Commercial. Source code available to license holders. |
Visit https://wpmultitool.com for documentation, screenshots, and changelog.