# SEO roadmap: a 90-day and 12-month plan built from Search Console data

> Build an SEO roadmap from your own Search Console data: a scoring table, a 90-day sprint plan, a 12-month view and a copyable SEO strategy template.

Source: https://anotherseoguru.com/en/resources/seo-roadmap

**An SEO roadmap is a dated, ranked list of the SEO work you will ship, with an owner, an estimated click impact and a way to measure each item.** The most defensible way to build one is from your own Google Search Console data: list every candidate fix the data points to, size each in clicks, score it by impact, confidence and effort, then put the top items into a 90-day plan and the bigger themes into a 12-month view. A roadmap that cannot say why item one comes before item ten is a wish list.

> **Note:** Strategy, plan, roadmap and action plan get used interchangeably. On this page the **strategy** is the goal and the few bets that serve it, the **roadmap** is the sequence of work over 12 months, and the **action plan** is the next 90 days broken into tasks. The template below holds all three in one document.

## What an SEO roadmap contains

| Part | What it says | Where it comes from |
| --- | --- | --- |
| Goal | One measurable outcome, such as non-brand clicks to product pages | The business, not the SEO tool |
| Baseline | Where that metric is today and where it goes with no new work | 12 months of Search Console clicks by month |
| Workstreams | Three to five themes: quick wins, content, technical, authority, measurement | Grouping of the candidate work |
| Items | Specific changes to specific URLs | Search Console queries and pages, the site audit |
| Estimate | Clicks a month if the item works, and a confidence weight | Impressions × CTR gap, see [SEO forecasting](https://anotherseoguru.com/en/resources/seo-forecasting) |
| Owner and date | Who ships it and in which sprint | Your team's real capacity |
| Measure | How you will know it worked | Before and after clicks against the rest of the site |

## The Search Console exports you need

- **Clicks by month for the last 16 months** (Performance → Date → Export). This is the baseline and it shows seasonality.
- **Queries for the last three months** with clicks, impressions, CTR and position. Remove brand queries first with a regex, as explained in [branded vs non-branded keywords](https://anotherseoguru.com/en/resources/branded-vs-non-branded-keywords).
- **Pages, last three months compared with the previous three** (or the same months last year for seasonal sites). This surfaces decaying pages.
- **Indexing → Pages** for URLs that should rank but are excluded.
- **A list of what you shipped last year**, if you have one. It tells you which kinds of work paid back on this site.

## How to build the roadmap, step by step

1. **Write the goal and the baseline** Pick one metric the business already cares about, usually non-brand clicks to pages that convert. Project the baseline forward from last year's months so you can later tell your work apart from seasonality.
2. **Collect candidate work from the data** Go through five sources: queries ranking 4 to 20 with real demand ([striking distance](https://anotherseoguru.com/en/resources/seo-quick-wins)), page-one results with a CTR far below their position ([high impressions, low CTR](https://anotherseoguru.com/en/resources/high-impressions-low-ctr)), pages losing clicks ([content decay](https://anotherseoguru.com/en/resources/content-decay)), queries split between two of your URLs ([keyword cannibalization](https://anotherseoguru.com/en/resources/keyword-cannibalization)) and queries you get impressions for without a good page. Add technical blockers from the indexing report.
3. **Size each item in clicks** For an existing query: impressions × (CTR at the target position minus today's CTR). Use a realistic next step, not position 1. The curve is on [CTR by position](https://anotherseoguru.com/en/resources/ctr-by-position). For new content, use keyword volume and discount it harder.
4. **Score impact, confidence and effort** Score = estimated clicks × confidence ÷ effort. Confidence is a probability from 0.2 to 0.8. Effort is in days. The scoring table below shows how this ranks a mixed list.
5. **Fill the first 90 days to real capacity** Count the days your team actually has, subtract a quarter for interruptions, and fill them from the top of the scored list. Anything that does not fit goes to the 12-month view, not into a crowded sprint.
6. **Group the rest into quarterly themes** The 12-month view should be themes with a rough size, not 200 dated tasks. You will re-score them every quarter with fresh data.
7. **Decide how each item is measured** Write the URL, the ship date and the comparison window next to each item. Compare the same number of days before and after, and the rest of the site over the same days as a control.

## A prioritization table that ranks mixed work

The point of scoring is to compare unlike things: a title rewrite, a new guide and a site migration fix. Worked example (hypothetical numbers):

| Item | Est. clicks / month | Confidence | Effort (days) | Score | Rank |
| --- | --- | --- | --- | --- | --- |
| Rewrite titles on 8 page-one URLs with low CTR | 320 | 0.6 | 1 | 192 | 1 |
| Push 5 striking-distance queries (internal links, sections) | 540 | 0.5 | 4 | 68 | 2 |
| Merge two pages splitting “pricing calculator” | 210 | 0.6 | 2 | 63 | 3 |
| Refresh 3 decaying guides | 380 | 0.5 | 6 | 32 | 4 |
| Fix 40 product pages excluded as duplicates | 450 | 0.4 | 8 | 23 | 5 |
| New guide for an untargeted topic | 600 | 0.25 | 8 | 19 | 6 |

The new guide has the biggest raw number and ranks last, which is usually right: you do not know where it will rank, and it takes the longest. Our [query prioritization framework](https://anotherseoguru.com/en/blog/gsc-query-prioritization-framework) goes deeper into scoring individual queries, and the free [Search Console opportunity finder](https://anotherseoguru.com/en/resources/search-console-opportunity-finder) produces the first three rows of a table like this from your export.

## The SEO strategy template

Copy this into a document or a project tool. Keep it to one page for the strategy and one table per quarter. A roadmap nobody opens after the kickoff is not a roadmap.

```markdown
# SEO roadmap: [Site] · [Start date] to [End date]

## 1. Strategy (one page)
- Goal: [Metric] from [baseline] to [target] by [date].
- Baseline with no new work: [number] (projected from the same months last year).
- Bets: [2-3 sentences: where the growth will come from and why this site can win it].
- Not doing this year: [what you are explicitly leaving out].

## 2. Workstreams
| Workstream | Why | Owner | Share of capacity |
|---|---|---|---|
| Quick wins (CTR, striking distance) | [reason] | [name] | [x]% |
| Content (refresh, new pages) | [reason] | [name] | [x]% |
| Technical (indexing, speed, structure) | [reason] | [name] | [x]% |
| Authority (links, mentions) | [reason] | [name] | [x]% |
| Measurement and reporting | [reason] | [name] | [x]% |

## 3. 90-day action plan
| # | Item | URL(s) | Est. clicks / mo | Confidence | Effort (d) | Score | Owner | Sprint | Status |
|---|---|---|---|---|---|---|---|---|---|
| 1 | [change] | [url] | [n] | [0.2-0.8] | [n] | [n] | [name] | [1-6] | To do |

## 4. 12-month view
| Quarter | Theme | Rough size | Depends on |
|---|---|---|---|
| Q1 | [theme] | [S/M/L] | [dependency] |
| Q2 | [theme] | [S/M/L] | [dependency] |
| Q3 | [theme] | [S/M/L] | [dependency] |
| Q4 | [theme] | [S/M/L] | [dependency] |

## 5. Measurement
- KPI and source: [e.g. non-brand clicks, Search Console, page filter].
- Each shipped item: same number of days before and after, rest of site as control.
- Review: monthly (status, results), quarterly (re-score and re-plan).

## 6. Risks and assumptions
- [e.g. developer time for technical items is not confirmed]
```

## Example: a 90-day plan for a small SaaS site

Worked example (hypothetical numbers). A software company with about 9,000 non-brand clicks a month, one content writer and two developer days a month. The goal is +20% non-brand clicks to feature and pricing pages in 12 months.

| Sprint (2 weeks) | Work | Expected effect |
| --- | --- | --- |
| 1 | Title and description rewrites on 8 low-CTR URLs; brand regex set up for reporting | ≈ 190 clicks / month within 4 to 6 weeks |
| 2 | Internal links and new sections for 5 striking-distance queries | ≈ 270 clicks / month over the quarter |
| 3 | Merge two cannibalizing pages, 301 the weaker one | ≈ 125 clicks / month |
| 4 | Refresh the first of three decaying guides | ≈ 60 clicks / month |
| 5 | Developer days: fix duplicate product URLs flagged in the indexing report | ≈ 180 clicks / month, lower confidence |
| 6 | Refresh guides 2 and 3; first quarterly review and re-score | ≈ 130 clicks / month |

The expected total, about 950 clicks a month, covers roughly half of the 12-month goal of 1,800. That is a healthy first quarter: the rest comes from content themes planned for later quarters, which the team re-scores after seeing what the quick wins delivered.

## The 12-month view

| Quarter | Typical theme | Why in this order |
| --- | --- | --- |
| 1 | Quick wins and fixes to pages that already rank | Fastest feedback, builds trust in the plan |
| 2 | Content refresh and consolidation, guided by a [content audit](https://anotherseoguru.com/en/resources/content-audit) | Cleans up before you add more pages |
| 3 | New content for gaps you already get impressions for | Demand is proven by your own data |
| 4 | Authority and new topics; plan next year | Slowest payback, needs the earlier groundwork |

## Mistakes that sink SEO roadmaps

- **Planning to 100% capacity.** Something urgent always arrives. Plan to about 75%.
- **Dating every task for 12 months.** Rankings, Google and the business change. Date the next 90 days, theme the rest.
- **No baseline.** Without one, a seasonal rise looks like your success and a seasonal dip looks like your failure.
- **Counting brand queries in the goal.** Brand clicks follow marketing and press, not SEO work.
- **Never re-scoring.** The estimates were guesses. Replace them with measured results every quarter.
- **Reporting activity instead of results.** Report what each shipped item earned, using the KPIs in [SEO KPIs](https://anotherseoguru.com/en/resources/seo-kpis).

If you would rather not maintain the scoring by hand, AnotherSEOGuru App's Opportunities module ranks fixes from your Search Console data with an estimated click impact, and Tasks measures each shipped fix before and after against the rest of the site. The [live demo](https://app.anotherseoguru.com/demo) runs on sample data without an account.

## Go deeper

- [SEO forecasting](https://anotherseoguru.com/en/resources/seo-forecasting): The method behind every click estimate in the roadmap.
- [SEO quick wins](https://anotherseoguru.com/en/resources/seo-quick-wins): The items that usually belong in sprint one.
- [Content audit](https://anotherseoguru.com/en/resources/content-audit): Decide what to keep, update, merge or remove before adding pages.
- [SEO report template](https://anotherseoguru.com/en/resources/seo-report-template): Report the roadmap's progress each month.

**What is the difference between an SEO strategy and an SEO roadmap?**

The strategy is the goal and the few bets that serve it: which queries and pages you will win and why. The roadmap is the sequence of work that carries the strategy out, with dates, owners and estimates. A strategy fits on one page; a roadmap is a table you update.

**How long should an SEO roadmap cover?**

Twelve months for themes and three months for dated work. SEO results take weeks to show, so a plan shorter than a quarter cannot be judged, and dated tasks beyond a quarter are usually wrong by the time you reach them.

**How do I prioritize SEO tasks?**

Estimate the clicks each task could add, multiply by how confident you are it will work, and divide by the effort in days. Fixes to pages that already rank on page one usually come first because they are cheap and likely to work.

**What should be in an SEO action plan for the first 90 days?**

Snippet rewrites for page-one results with low CTR, pushes for queries ranking 4 to 20, merges of pages that compete for the same query, refreshes of decaying pages and any indexing problem that blocks important URLs. New content usually starts once these are in motion.

**How often should the roadmap be updated?**

Update statuses weekly or every sprint, review results monthly, and re-score the whole list each quarter with fresh Search Console data and the measured results of what you shipped.