aeo_cluster_by_urls
Cluster prompts by shared Google SERP URLs and assign each cluster a page with rank-weighted mapping, so related queries are grouped and routed to relevant content.
Instructions
Cluster prompts by shared Google SERP URLs, then assign each cluster a page.
Greedy centroid assignment on an ABSOLUTE shared-URL count (no transitive chaining). A join on
exactly one shared URL is allowed only if that URL is specific (low corpus document frequency),
is not a generic hub host, and the prompt is not a brand comparison — and such joins are NEVER
auto-accepted (they come back with needs_review=true). Query-drift SERPs are quarantined.
Page assignment is rank-weighted: a rank-1 brand hit outweighs a rank-10 one.
items = [{id, text, impressions?, serp: [{url, rank, near_miss}], serp_urls?: [...] (legacy),
citation_urls?: [...] (a SEPARATE signal — never joins clusters), spell?, mapped_pages?}]
config = per-project {brand:{domain, owned_domains[]}, competitors[], cluster:{T, one_shared_max_df, hub_hosts,...},
signals:{a_min_hits, a_high_confidence_max_rank}} — nothing client-specific is hardcoded.
brand.owned_domains = the brand's other domains (e.g. "example.com" for a site on blog.example.com).
At most 80 items per call, each text up to 300 characters.
Returns {clusters (with prompt_ids), assignments (prompt_id → cluster_id, mapped page, signal, confidence),
n_items, n_clusters, needs_review, n_quarantined, caveat}. A mapped brand page is a path ("/pricing") on the
brand.domain host, or a full URL on any other host of brand.domain or brand.owned_domains
("https://docs.example.com/setup").Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"items": "<items>"
},
"name": "aeo_cluster_by_urls"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | ||
| config | No | ||
| page_inventory | No |