rank-math/bulk-update-meta writes Rank Math meta for many posts or terms at once, across the five columns Rank Math’s own bulk editor supports: focus keyword, title, description, image alt and image title.
It reports which rows were applied and which were skipped, with a reason for each.
At a glance
| Ability | rank-math/bulk-update-meta |
| Toolset | Rank Math — toolset/rank-math |
| Group | Rank Math › Content SEO |
| Requires | Rank Math 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 |
Why the skipped list matters
Rank Math’s bulk writer reports success for rows it ignored. A row for a post that does not exist, or one the current user cannot edit, or one with a column the editor does not handle — all of them come back in the success count.
That is fine when a person is watching a screen and can see the values did not change. It is not fine for a programmatic caller writing three hundred rows, where the difference between two hundred and ninety-eight applied and three hundred applied is invisible.
So every row is accounted for. Applied rows and skipped rows, and the skipped ones carry the reason.
The five-column limit is Rank Math’s, not an arbitrary restriction. Those are the fields its bulk path handles correctly; anything else needs the per-post writer, which encodes the trickier fields properly.
Idempotent: writing the same values twice changes nothing the second time.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
rows | array | Yes | One entry per object: its ID, its kind (post or term), and any of focus_keyword, title, description, image_alt or image_title. |
What comes back
| Name | Type | What it is |
|---|---|---|
applied | array | The rows that were written. |
skipped | array | The rows that were not, each with a 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:
Set meta descriptions on these twenty posts.
It resolves to one call:
{
"ability": "rank-math/bulk-update-meta",
"parameters": {
"rows": [
{ "id": 412, "kind": "post", "description": "A specific description." },
{ "id": 413, "kind": "post", "description": "Another specific description." }
]
}
}Worth knowing
- Read the skipped list. Rank Math itself would have reported these as successes.
- Only five columns. Everything else needs the per-post writer.
- Works on terms as well as posts.
- Idempotent.
Related abilities
- Update Rank Math SEO Meta — the fields this cannot write
- Audit Rank Math Content SEO — find the rows to write
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category