seo/import-settings applies rows produced by seo/export-settings. It refuses without confirm: true.
Writes are grouped by area so each passes through Yoast’s own per-group validation once.
Before you run it
This overwrites whatever the payload names. Settings not in the payload are left alone, but every key that is in it is replaced — including ones that are site-specific, like logo attachment IDs and webmaster verification codes, which will be wrong if the payload came from another site. Export first with seo/export-settings so there is something to roll back to.
At a glance
| Ability | seo/import-settings |
| Toolset | Yoast SEO — toolset/yoast-seo |
| Group | Yoast SEO › Settings |
| Requires | Yoast SEO, active on the site |
| Capability | manage_options |
| Safety | Destructive — deletes stored values, and refuses to run without confirm: true |
| Repeatable | Idempotent — running it twice leaves the same result |
| Ships in | AcrossAI Abilities Manager 0.0.34 and later |
How it works
Yoast validates settings per option group, and running that validation once per key would mean running it hundreds of times for one import — slow, and more importantly not how Yoast expects its own validation to see a payload.
So rows are grouped by area and each group is written once. That is both faster and more correct.
It also produces a useful failure mode: an area that Yoast’s validator rejects is reported and skipped, and the other areas still apply. An import with one bad value is not an import that did nothing.
The rows the payload does not mention are untouched. This is a patch across the areas it names rather than a wholesale replacement of everything.
Idempotent: importing the same payload twice leaves the same settings.
Verify afterwards. A settings import can change titles across the whole site, and seo/get-indexable on a couple of pages is a quick check that the result is what was intended.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
rows | array | Yes | Rows of area, key and value, as produced by seo/export-settings. |
confirm | boolean | Yes — must be true | The irreversibility gate. Without it the call is refused before anything is touched. |
What comes back
| Name | Type | What it is |
|---|---|---|
applied | array | Which areas were written. |
rejected | array | Areas Yoast’s validation refused, with the reason. |
success | boolean | Whether the call completed. |
message | string | A one-line summary of what happened, suitable for showing a human. |
error_code | string | Present only on failure — a stable machine-readable reason, such as a missing field, a wrong field type or an unmet confirmation. |
Example
Ask your assistant:
Import these Yoast settings.
It resolves to one call:
{
"ability": "seo/import-settings",
"parameters": {
"rows": [{ "area": "breadcrumbs", "key": "breadcrumbs-enable", "value": true }],
"confirm": true
}
}Worth knowing
- A rejected area does not block the others. Read the rejected list.
- Keys not in the payload are untouched.
- Export first — that is the only rollback.
- Idempotent.
Related abilities
- Export SEO Settings — produce the payload and the rollback
- Get Indexable SEO — verify the result on a real page
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category