Yoast SEO
These abilities register when Yoast SEO is detected on the site and a Pro licence is active. If either is missing the module stays absent rather than failing at call time.
At a glance
Yoast SEO registers 10 abilities: 5 that only read, 4 that write, and 1 marked destructive. That split is the practical answer to how much of this module can run unattended. Reads cost nothing and are safe to repeat, so discovery is the part to be generous with; the writes are where review belongs, and the destructive calls stop for an explicit confirmation every single time regardless of which profile is active.
What this module is for
Read and edit Yoast post and term SEO data, inspect settings, and operate supported redirect workflows from an AI client connected through WPPilot Pro.
Before you rely on it: Yoast fields support the strategy; they do not replace useful content, crawl validation, or human editorial review.
Typical workflows
- Review page copy and search intent before editing metadata
- Compare taxonomy descriptions with term metadata
- Audit a redirect destination before creation
The Yoast SEO integration page covers the same module from the workflow side, with the capability map and the questions worth asking before a first write.
Availability on your site
The Yoast SEO module needs three things at once: WPPilot Free as the MCP foundation, an active Pro licence, and the companion plugin detected on the site. Miss any one and the module does not register, which is deliberate: an ability that appears in the tool list but fails at call time is worse than an ability that was never offered. What the connected agent can actually call is then narrowed twice more: by the safety profile active on the site, and by the WordPress capabilities of the user behind the credential. A read that succeeds for an administrator can be absent entirely for an editor.
Every write these abilities perform is recorded in the change ledger, and destructive calls can be routed through the approval queue so a person signs off before anything is applied. A successful tool result means the operation returned, not that the front end, the cache, and every dependent template are correct: that still needs a look.
Reads
Available in every safety profile, including Read Only. Inspection costs nothing and is not rate limited.
| Ability | What it does |
|---|---|
wppilot/yoast-check-setupCheck Yoast SEO Setup | Reports the Yoast SEO environment: whether Yoast is active, edition (free or premium), version, whether redirects are available (Premium only), whether the XML sitemap is enabled, the configured brand identity (company or person), and the public post types and taxonomies whose SEO can be managed. Call this first before any other Yoast ability to confirm the runtime is ready and to learn which post types and taxonomies exist as targets. |
wppilot/yoast-get-post-seoGet Post SEO (Yoast) | Reads the Yoast SEO metadata for a single post or page in one friendly shape: focus_keyphrase, seo_title, meta_description, canonical, breadcrumb_title, cornerstone, robots (index: default|index|noindex, follow: follow|nofollow, advanced: list of noimageindex/noarchive/nosnippet), opengraph and twitter social previews, schema types, primary_category, and the Premium redirect. The raw Yoast indexing codes are mapped for you (Yoast stores noindex as 0=default/2=index/1=noindex). Identify the post by post_id (alias: id). Set include_scores to also return the computed read-only SEO / readability / inclusive-language scores. Never-set fields come back as their Yoast default, not as missing. |
wppilot/yoast-get-settingsGet Yoast SEO Settings | Reads a curated snapshot of the site-wide Yoast SEO settings. scope selects which block(s) to return (default "all"): "general" = brand identity (company or person, names); "titles" = the title separator, homepage title/description templates, per-post-type and per-taxonomy title & meta-description templates and indexing (noindex) toggles, author/date-archive indexing, and whether breadcrumbs are enabled; "social" = OpenGraph/X (Twitter) toggles, default social image, the X card type, and the configured social profile URLs. Template strings use Yoast variables like %%title%%, %%sep%%, %%sitename%%. The separator is returned as Yoast's code (e.g. sc-dash). To CHANGE a setting, use wppilot/execute-php with WPSEO_Options::set($key, $value, $group); this ability reveals the keys and current values. |
wppilot/yoast-get-term-seoGet Term SEO (Yoast) | Reads the Yoast SEO metadata for a single taxonomy term (a category, tag, or custom-taxonomy term) in one friendly shape: focus_keyphrase, seo_title, meta_description, canonical, breadcrumb_title, cornerstone, robots (index: default|index|noindex — terms carry only the indexing toggle, no nofollow or advanced robots), and the opengraph / twitter social previews. Identify the term by term_id and its taxonomy. Term SEO is stored separately from post SEO (in the wpseo_taxonomy_meta option), which this ability reads for you. Never-set fields come back as their Yoast default. |
wppilot/yoast-list-redirectsList Redirects (Yoast Premium) | Lists the Yoast SEO Premium redirects as compact rows {origin, target, type, format}. Supports paging (limit, default 100, max 500; offset) and a case-insensitive substring search across origin and target. format filters to plain or regex (default all). Returns total (matching count before paging) so you can page through large redirect sets. Requires Yoast SEO Premium. |
Writes
Gated by the active profile and your WordPress capabilities. Rate limited to 120 per minute per credential.
| Ability | What it does |
|---|---|
wppilot/yoast-create-redirectCreate Redirect (Yoast Premium) | Creates a Yoast SEO Premium redirect from origin to target. type is the HTTP code: 301 (permanent, default), 302 (found), 307 (temporary), 410 (content deleted — no target), 451 (unavailable for legal reasons — no target). format is plain (default) or regex. Goes through Yoast's redirect manager so the export caches are regenerated and the redirect actually fires — never write the option directly. Fails if a redirect for the same origin already exists (edit it instead). Requires Yoast SEO Premium. |
wppilot/yoast-edit-post-seoEdit Post SEO (Yoast) | Updates the Yoast SEO metadata for a single post or page. Send only the fields you want to change — it is a partial merge; nested blocks (robots, opengraph, twitter, schema) merge field-by-field. Fields: focus_keyphrase, seo_title, meta_description (may use Yoast variables like %%title%% %%sep%% %%sitename%%), canonical, breadcrumb_title, cornerstone (bool), robots {index: default|index|noindex, follow: follow|nofollow, advanced: list of noimageindex/noarchive/nosnippet}, opengraph/twitter {title, description, image, image_id}, schema {page_type, article_type}, primary_category (term id, or null to clear), redirect (Premium). The friendly index labels are mapped to Yoast's raw codes for you (so you never risk the 0/2/1 noindex trap). Identify the post by post_id (alias: id). Returns the full updated SEO. |
wppilot/yoast-edit-redirectEdit Redirect (Yoast Premium) | Edits an existing Yoast SEO Premium redirect, identified by its current origin. Optionally change the destination (target), the HTTP type (301/302/307/410/451), and/or the origin itself (new_origin). The redirect's format (plain/regex) is preserved; to change format, delete and recreate. Goes through Yoast's redirect manager so the export caches are regenerated. Requires Yoast SEO Premium. |
wppilot/yoast-edit-term-seoEdit Term SEO (Yoast) | Updates the Yoast SEO metadata for a single taxonomy term (category, tag, or custom-taxonomy term). Send only the fields you want to change — it is a partial merge; the ability reads the term's current SEO and writes the full set back so untouched fields are preserved (Yoast would otherwise reset them). Fields: focus_keyphrase, seo_title, meta_description, canonical, breadcrumb_title, cornerstone (bool), robots {index: default|index|noindex}, opengraph/twitter {title, description, image, image_id}. Terms carry only the indexing toggle (no nofollow / advanced robots / schema). Identify the term by term_id + taxonomy. Returns the full updated SEO. |
Destructive
Marked destructive in the source, so each call needs an explicit confirmation flag, every time.
| Ability | What it does |
|---|---|
wppilot/yoast-delete-redirectDelete Redirect (Yoast Premium) | Deletes the Yoast SEO Premium redirect with the given origin. Goes through Yoast's redirect manager so the export caches are regenerated. Errors if no redirect matches the origin. Requires Yoast SEO Premium. |