seo/get-keyphrase-usage reports which focus keyphrases are in use on the site and which posts use each one.
A keyphrase used on more than one page is keyword cannibalisation. For most sites this is the first time anyone sees it.
At a glance
| Ability | seo/get-keyphrase-usage |
| Toolset | Yoast SEO — toolset/yoast-seo |
| Group | Yoast SEO › Content Analysis |
| Requires | Yoast SEO, active on the site |
| Capability | manage_options |
| Safety | Read-only — changes nothing |
| Repeatable | Idempotent — running it twice leaves the same result |
| Ships in | AcrossAI Abilities Manager 0.0.34 and later |
How it works
Two pages targeting the same phrase do not double the site’s chances. Search engines pick one page per query per site in most cases, and they pick by signals that have nothing to do with which page you would have chosen — often an older post over the newer, better one written to replace it.
The pages also split their internal links and their accumulated authority between them, so both rank worse than one good page would.
Yoast’s premium edition warns about this in the editor. The free edition does not, which means a site can accumulate a dozen competing pairs without anything ever mentioning it.
The fix is rarely deleting one. Usually it is picking the page that should win, changing the other’s keyphrase to something it genuinely targets, and linking the second to the first.
Keyphrases are compared as stored, so near-duplicates — singular against plural, with and without a stop word — appear as separate entries even though they compete.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
post_type | string | No | Restrict to one post type. |
What comes back
| Name | Type | What it is |
|---|---|---|
keyphrases | array | Each keyphrase with the posts using it and how many. |
duplicated | integer | How many keyphrases are used more than once. |
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:
Are any of our pages competing for the same keyword?
It resolves to one call:
{
"ability": "seo/get-keyphrase-usage",
"parameters": {}
}Worth knowing
- Competing pages split their authority and both rank worse.
- Yoast free never warns about this.
- The fix is usually repositioning the second page, not deleting it.
- Near-duplicate phrasings appear separately but still compete.
Related abilities
- Get Content SEO Issues — this plus four other checks
- List Cornerstone Content — which page should win
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category