seo/update-title-templates writes the SEO title and meta description templates for every post type, taxonomy, archive and special page.
They set the default for content that has no per-post override. They do not change any individual post.
At a glance
| Ability | seo/update-title-templates |
| Toolset | Yoast SEO — toolset/yoast-seo |
| Group | Yoast SEO › Settings |
| Requires | Yoast SEO, active on the site |
| Capability | manage_options |
| Safety | Writes data |
| Repeatable | Idempotent — running it twice leaves the same result |
| Ships in | AcrossAI Abilities Manager 0.0.34 and later |
Defaults, and who overrides them
Yoast titles and descriptions are templates — patterns like %%title%% %%sep%% %%sitename%% expanded per page — rather than literal strings.
A post with its own SEO title ignores the template entirely. So on a site where the editorial process fills in per-post titles, changing a template changes nothing visible — and on a site where it does not, changing a template changes every page of that type at once.
Both are correct behaviours and they look identical from the settings screen, which is why checking a real page with seo/get-indexable afterwards is worth the call.
Templates are the only lever for the pages that have no per-page SEO at all: archives, author pages, the search results. For those, this is not a default — it is the title.
The variables are Yoast’s own. A typo in one does not error; it renders literally, so a template containing %%titel%% produces pages with that text in the title.
Yoast ships abilities of its own for single posts. This suite fills in what those cannot reach rather than duplicating them.
Idempotent.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
settings | object | Yes | A map of setting key to new value. Keys outside this area are refused. |
What comes back
| Name | Type | What it is |
|---|---|---|
updated | array | The keys that changed. |
settings | object | The area after the write. |
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:
Set the default title template for posts.
It resolves to one call:
{
"ability": "seo/update-title-templates",
"parameters": {
"settings": { "title-post": "%%title%% %%sep%% %%sitename%%" }
}
}Worth knowing
- Per-post overrides win. A template change can correctly appear to do nothing.
- For archives and system pages the template is the whole title, not a default.
- A mistyped variable renders literally rather than erroring.
- Verify on a real page afterwards.
Related abilities
- Get Indexable SEO — see a template resolved
- Update Home Page SEO — the front page specifically
- Update Archive SEO Settings — the archives that have no type
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category