An SEO plan is a dated, sequenced list of decisions: what you are going to rank for, which pages will do it, what has to be fixed before those pages can rank, and what you will measure to know whether it worked. Most documents people call an SEO plan template are just a list of tactics with no order and no owner, which is why they get abandoned in month two. The skeleton below is a real 90-day SEO planning template — five phases, each with an input, an output, and a completion test.
Copy the skeleton, replace the bracketed parts with your own site, and delete anything you genuinely cannot staff. A plan you finish beats a plan that covers everything.
The 90-day SEO plan skeleton
This is the copy-able part. Everything after it explains how to fill each phase in.
- Phase 1 — Audit (days 1 to 14). Input: your live site plus Search Console. Output: one ranked list of problems, each tagged blocking, damaging, or cosmetic. Done when every URL template on the site has been checked, not just the homepage.
- Phase 2 — Keyword map (days 8 to 21). Input: your product vocabulary, customer language, and Search Console query report. Output: a table of primary keyword, intent, target URL, and secondary phrases. Done when every keyword has exactly one owning URL and no URL owns two intents.
- Phase 3 — Technical fixes (days 15 to 45). Input: the blocking and damaging items from Phase 1. Output: crawlable, indexable, fast pages. Done when a fresh crawl returns zero blocking items.
- Phase 4 — Content calendar (days 21 to 90, continuing). Input: the keyword map. Output: dated briefs and published pages, pillar first, supporting posts after. Done when the calendar is populated at least six weeks ahead at all times.
- Phase 5 — Measurement loop (weekly from day 30). Input: Search Console, rank tracking, and analytics. Output: one weekly note recording what moved, and one monthly decision to continue, expand, or kill each cluster.
The order matters more than the contents. Publishing into a site that blocks crawlers, or writing before the keyword map exists, wastes the most expensive resource in the plan, which is writing time.
Phase 1: audit before anything else (days 1 to 14)
You cannot plan around problems you have not found. Two weeks is enough to check everything that matters on a site under a few thousand URLs.
Work through this list and write each finding into one document:
- Indexation. How many pages does Search Console report as indexed, and how does that compare to the number you intended to publish? A large gap in either direction is the single most valuable finding in an audit.
- Crawl blocks. robots.txt rules, noindex tags, canonical tags pointing somewhere unexpected, and pages reachable only through JavaScript or a search box.
- Duplicate and thin pages. Tag archives, paginated listings, near-identical location or product variants, and posts under a few hundred words that answer nothing.
- Titles and meta descriptions. Missing, duplicated, truncated, or brand-first when they should be keyword-first.
- Heading structure. Multiple H1s, skipped levels, or headings used purely for visual styling.
- Internal links. Which pages have almost no inbound internal links? Orphaned pages rarely rank regardless of quality.
- Speed and Core Web Vitals. Field data in Search Console beats lab scores; treat anything failing on mobile as a real problem.
- Existing performance. Which queries already produce impressions but sit in positions eight to twenty? Those are the fastest wins in the entire plan.
Tag every finding as blocking (the page cannot rank at all), damaging (the page ranks worse than it should), or cosmetic (nice to have). Cosmetic items do not enter the 90-day plan. A crawler-driven check such as our SEO score tool will surface most on-page and indexability items quickly, but the judgement calls about thin content and duplicated intent are yours.
The audit output that actually gets used
One document. Each row is: finding, URL or URL pattern affected, severity tag, estimated effort in hours, and owner. If a finding has no owner it is not in the plan, it is a wish.
Phase 2: build the keyword map (days 8 to 21)
The keyword map is the spine of the entire SEO plan. Everything downstream — briefs, calendar, internal links, reporting — reads from it.
Build it in this order:
- List your money terms. The three to ten phrases that describe what you actually sell. These usually belong on service, product, or pricing pages, not on the blog.
- List the problems you solve, in customer language. Not your marketing vocabulary. The words people use before they know your category exists.
- Multiply by modifiers. best, alternatives, vs, cost, pricing, for beginners, near me, template, checklist, examples, how to. This mechanically generates most of a mid-size keyword set.
- Validate demand and phrasing. Autocomplete, People Also Ask, and your own Search Console query report confirm that people phrase it the way you wrote it.
- Judge winnability. Read the top ten results for each shortlisted phrase. If every result is a major publisher with deep coverage, park it. The method is worked through in how to find low competition keywords.
- Assign one URL per keyword. This is the step everyone skips, and skipping it is what causes cannibalisation six months later.
Worked examples across every intent type are in SEO keyword examples, and the competitive side — finding what already ranks for people you compete with — is in competitor keyword analysis.
Keyword map columns
| Column | What goes in it |
|---|---|
| Primary keyword | One phrase, the exact wording searchers use |
| Intent | Informational, commercial, transactional, navigational |
| Target URL | The one page that owns this keyword |
| Page type | Pillar, supporting post, comparison, product, service |
| Secondary phrases | Two to five variants sharing the same intent |
| Status | Not started, briefed, drafted, published, updated |
Phase 3: technical fixes (days 15 to 45)
Fix in severity order, not in difficulty order. The temptation is always to clear the easy cosmetic items first because it feels productive.
Blocking items come first: anything that stops a page being crawled, indexed, or rendered. Accidental noindex tags, robots.txt disallow rules covering live sections, canonicals pointing at the wrong URL, and pages returning soft 404s all belong here. A single wrong line in robots.txt can neutralise an entire quarter of content work.
Damaging items come second: duplicate titles, missing descriptions, broken internal links, redirect chains, orphaned pages, and mobile performance failures. These reduce performance rather than eliminate it, so they can be batched.
Structural work comes third: the site architecture itself. Category pages that exist, internal links that follow the keyword map, breadcrumbs, and a sitemap that lists exactly the URLs you want indexed and nothing else.
Schedule technical work before the bulk of content publishing, because every fix applied to the template benefits every page published afterwards. Applying the same fix to two hundred existing posts costs far more than applying it once to the template.