SEO opportunities
How to use it
- Connect Search Console. Every detector reads from it; without it the tab is empty by definition.
- Let the pipeline run. Opportunities are written as part of the Search Console processing run, not on demand.
- Work the quadrant. Start with high value, low effort.
- Assign what you are not doing yourself, and snooze what is seasonal.
- Resolve or dismiss — a dismissal survives the next pipeline run, so you will not see it again.
⏱ Continuous · 💳 Starter+ · 🎯 Turn Search Console into a worklist
The eleven detectors
| Detector | What it finds |
|---|---|
| CTR | Terms where you rank well but get clicked far less than a page at that position normally would |
| Cannibalization | More than one of your URLs competing for the same term |
| Out-of-stock impact | Ranking pages for products that are out of stock — traffic arriving at a dead end |
| Decay | Pages losing clicks or position against their own history |
| Snippet | Terms where a featured snippet exists and is winnable |
| AI Overview | Terms where an AI Overview is present, and whether you are cited |
| Mobile gap | Terms where mobile performance lags desktop materially |
| Hreflang | International targeting inconsistencies affecting ranked pages |
| Redirect chain | Ranked URLs sitting behind a chain rather than a direct response |
| Page 2 | Terms ranking 11–20, where a small move produces a large click change |
| Anchor dilution | Internal anchor text spread so thin that no page owns the term |
How CTR opportunities are judged
A CTR opportunity compares your actual click-through rate against the rate a page at that position typically achieves. The comparison uses a published position-to-CTR curve as the baseline expectation, so "you rank third and get 1.1% of clicks" becomes a quantified gap rather than an impression.
Where your own measured curve is available, the money figures in the rank tracker use that instead — the two views answer different questions and are calibrated accordingly.
Rows are refreshed, not duplicated
Each pipeline run replaces the open rows for a given type, keyword and page combination with fresh ones. That means:
- Numbers stay current. An open CTR opportunity reflects the latest window, not the day it was first detected.
- Your decisions survive. Rows you resolved or dismissed are preserved, so a dismissal is permanent and your audit trail is intact.
Workflow
Every opportunity is a work item on the shared SEO spine:
| Action | Effect |
|---|---|
| Assign | Gives it an owner; shows up in their queue |
| Snooze | Hides it until a date |
| Resolve | Closes it; survives the next run |
| Dismiss | Closes it with a reason; survives the next run |
| Activity timeline | Who did what, when |
Bulk actions apply to the rows you have selected, and CSV export returns exactly the filtered set on screen rather than a different query built from different parameters.
The value/effort quadrant
Opportunities are placed on a quadrant:
Value comes from the clicks and revenue attached to the affected URLs; effort comes from the opportunity type — a meta description rewrite is not a site-architecture change. The quadrant is a starting order, not an instruction: a "skip it" item that unblocks a launch is still worth doing.
Plan tiers
| Capability | Free | Starter | Pro | Agency | Enterprise |
|---|---|---|---|---|---|
| CTR, page-2, decay, cannibalization detectors | — | ✓ | ✓ | ✓ | ✓ |
| Out-of-stock impact | — | ✓ | ✓ | ✓ | ✓ |
| Assignment, snooze, resolve, activity | — | ✓ | ✓ | ✓ | ✓ |
| Bulk actions + CSV export | — | ✓ | ✓ | ✓ | ✓ |
| Snippet + AI Overview detectors | — | — | ✓ | ✓ | ✓ |
| Mobile gap, hreflang, redirect chain | — | — | ✓ | ✓ | ✓ |
| AI advice per opportunity | — | — | ✓ | ✓ | ✓ |
Everything here requires the Search Console connection, which opens at Starter.
Best practices
- Do page-2 terms first. Positions 11–20 are the cheapest clicks in SEO, and the detector hands you the list.
- Treat cannibalization as a decision, not a bug. Two URLs ranking for one term is sometimes correct; the detector's job is to make you choose.
- Fix out-of-stock impact in the catalogue, not the copy. A ranking page for a product you cannot sell needs a merchandising answer.
- Dismiss with reasons. Rows you dismiss never come back, which is only safe if the reason is recorded.
- Do not let the list grow past what you will work. Snooze seasonal items rather than letting them sit open and dilute the count.
See also
- GSC engine — the pipeline that produces these rows
- Rank tracker — position and revenue-at-risk per keyword
- Decay detection — the decay detector in depth
- Snippet detector — winning featured snippets
- Risk register — technical risk alongside this revenue worklist