All commands live under wp visibility. Run wp help visibility for the list and wp help visibility <command> for any one. Add WP-CLI’s global --user=<admin login> to every command that writes, so the change is made, checked and logged as a real administrator.
Audit and inspect
audit checks five site settings and prints four counts. What each check means.
wp visibility audit [--format=table|csv|json|yaml|count]
post-audit <id> checks one post: title and description length, noindex, canonical host, word count, social image, H1 count.
wp visibility post-audit 42
get <id> prints the post’s stored SEO fields with the defaults filled in.
wp visibility get 42 --format=json
Change a post
set <id> changes the title, description, indexing or canonical of one post. An empty value resets that field.
wp visibility set 42 --title="Pricing and Plans" --description="What each plan includes."
wp visibility set 42 --noindex=1 # 1 noindex, 0 inherit the site rule, -1 force index
wp visibility set 42 --canonical="https://example.com/original/"
wp visibility set 42 --title="" # back to the template
Social, schema and redirect fields are edited in the editor sidebar.
Settings
settings get [<key>] and settings set <key> <value> read and write any setting. Values are parsed as JSON when they are valid JSON, so lists and objects are written as JSON. The license key prints as (redacted).
wp visibility settings get
wp visibility settings get separator
wp visibility settings set noindex_search true
wp visibility settings set modules '{"redirects":true}'
wp visibility settings set sitemap_excluded_types '["testimonial"]'
Import from another plugin
import <source> [--dry-run], where <source> is yoast, rank-math, seopress, tsf or aioseo. Always preview first. The source plugin’s data is never changed.
wp visibility import yoast --dry-run --user=admin
wp visibility import yoast --user=admin
Per-source detail: Yoast, Rank Math, SEOPress, The SEO Framework, All in One SEO.
Review queue
proposals [list|approve|reject|revert] [<id>] [--status=<status>] needs the Autopilot module. --status is one of pending, approved, rejected, applied, reverted, failed or stale. list shows up to 100 rows. Approving a draft or bulk proposal checks the approving user’s permissions, so pass --user.
wp visibility proposals list --status=pending
wp visibility proposals approve 123 --user=admin
wp visibility proposals revert 123 --user=admin
The assistant
agent [log|pause|resume|verify-log] [--limit=<n>] needs the Assistant connection module. log shows the latest 50 calls (up to 500). pause stops every ability until someone resumes. verify-log checks that the log’s hash chain is intact.
wp visibility agent log --limit=20
wp visibility agent pause
wp visibility agent verify-log
mcp-config prints the client configuration for the bridge, with the endpoint and the user’s login, and the direct endpoint address. It does not create a user or a password.
wp visibility mcp-config --user=seo-agent
Internal links
links <orphans|hubs|rebuild|suggest> [<id>] needs the Link Graph module. Run rebuild once before orphans. The link report.
wp visibility links rebuild
wp visibility links orphans --limit=50
wp visibility links suggest 42
AI Traffic Lens
lens [--days=<n>] needs the AI Traffic Lens module and prints AI crawler visits and assistant referrals for the last 30 days by default, 7 to 365.
wp visibility lens --days=90
License, caches, privacy
wp visibility license status
wp visibility license activate WPV-XXXX-XXXX-XXXX
wp visibility license deactivate # removes the key; the plugin keeps working, updates stop
wp visibility flush # marks cached sitemap files stale
wp visibility privacy --format=json # the privacy manifest
license activate with no key uses the WPVISIBILITY_LICENSE constant from wp-config.php when it is defined.
Commands checked against WP Visibility 2.10.3.