Three milestones, three very different windows
"Does SEO work yet" is three separate questions that get collapsed into one, which is why the answers you find online range from six weeks to two years. Separate them and the ranges tighten considerably.
These windows assume consistent work — four to eight substantial pages a month, technical fixes actually deployed, and links accumulating slowly. Stop any of the three and the clock resets rather than pauses.
| Milestone | What it looks like | Typical window |
|---|---|---|
| First movement | Impressions and average position rising for your target queries in Search Console. Rarely visible in traffic yet. | 6–12 weeks |
| Traffic you'd notice | Non-brand organic clicks up enough to see on a monthly chart without squinting. | Month 4–6 |
| Revenue you'd defend | Qualified organic leads or organic revenue clearly above the baseline you froze on day one. | Month 6–12 |
| Compounding | New pages rank in days instead of months, because the domain has earned the right to be crawled quickly. | Month 9–18 |
Your starting condition changes the answer more than your agency does
Two companies can hire the same team, buy the same retainer and see results four months apart. The difference is almost never effort. It's what was there on day one.
| Starting condition | What's already working for you | What slows you down | First movement |
|---|---|---|---|
| New domain, ~6 months old | Nothing to undo. You can build clean architecture from scratch. | No referring domains, infrequent crawling, no historical query data to learn from. | 3–5 months |
| 8-year-old site, neglected | Existing links, established crawl frequency, pages already indexed and historically ranking. | Technical debt, decayed content, pages competing with each other. | 4–8 weeks |
| Recently migrated site | Everything above — if the redirects were mapped properly. | Lost link equity, 404s on old URLs, conflicting signals from two URL sets. | 6–10 weeks to recover |
| E-commerce, 40,000+ URLs | Volume and transactional intent that other sites would kill for. | Crawl budget spent on faceted duplicates before it reaches the pages that sell. | 2–4 months, indexation first |
The six-month-old domain: slowest, and not because of a sandbox
There's no timer counting down on new domains. What actually happens is more mundane: nothing links to you, so Google discovers your pages slowly and revisits them rarely. You publish, and the page sits uncrawled for a week. You update it, and the update takes another week to register.
That lag compounds across every iteration, and iteration is how SEO works. Expect three to five months before you see reliable movement, and spend that time on two things: a small number of pages that are genuinely the best answer available, and the first ten real referring domains. Volume before authority is the classic new-domain mistake.
The neglected eight-year-old site: usually the fastest money in SEO
This is the most common brief we see and the most satisfying to work on. The site ranked once. Somebody replatformed, or the marketing lead left, or the blog stopped in 2023. The links are still there. The crawl frequency is still there. The pages are just broken, cannibalising each other, or slowly rotting.
On sites like this, four to eight weeks to visible movement is normal, and the first wins usually come from fixing and merging rather than writing. It also means the fastest gains land before any new content ships — which makes the month-two report look suspiciously good and the month-five report look flat. That's the shape of the work, not a failure.
The migrated site: recovery first, growth second
After a migration you're running two projects: getting back what you lost, then growing. Conflating them is how agencies claim credit for recovery and how clients get disappointed at month six.
Recovery typically takes six to ten weeks once the redirect map is corrected, because Google has to recrawl and reassign the old signals. Only after that does the normal clock start. If you migrated and never fully recovered, read what a replatform does to your traffic before you buy anything else.
Why technical debt delays everything downstream
Technical SEO rarely wins rankings on its own. What it does is set a ceiling on everything else, which means unfixed debt doesn't slow you down by 10% — it caps you.
A slow page still ranks; a noindex left on staging rules doesn't rank at all. Two pages fighting over the same query don't rank half as well each, they split the signals and both underperform a single stronger page. A JavaScript-rendered page that needs a second crawl pass to reveal its content simply enters the index later than an equivalent server-rendered one.
This is why competent agencies front-load the unglamorous work in weeks two to six, and why a site with heavy debt should expect the first two months of a retainer to produce very little visible. If your quote skips straight to content, ask what the crawl found. If nobody crawled, nobody knows.
Indexing lag and crawl budget: the floor nobody controls
Every page goes through the same pipeline: discovery, crawl, render, index, rank. Each step has a queue, and you influence the queue without controlling it. This is the single most under-explained reason SEO feels slow.
Sitemaps and internal links speed up discovery. They do not buy priority. On a low-authority domain, a new page can wait days to weeks for its first crawl, then wait again for rendering if the content only appears after JavaScript runs. Multiply that by the three or four revisions a page usually needs and you've spent a month before the page has had a fair chance.
- Crawl budget is a real constraint above roughly ten thousand URLs. Below that it's almost never your bottleneck, whatever the proposal says.
- Faceted navigation and filter parameters are how e-commerce sites burn their budget on URLs that will never rank.
- Internal links from pages that get crawled often are the cheapest way to get a new page discovered — usually faster than resubmitting a sitemap.
- A page removed from the index recovers slowly, even after the cause is fixed. Prevention is genuinely cheaper here.
What we measure at day 90 instead of rankings
Rankings are a terrible progress metric in the first quarter. They're volatile, they differ by location and device, and a chart of "average position" across every query you accidentally rank for can improve while your business gets nothing.
So the number we freeze on day one is the trailing 90 days of qualified leads from organic search, agreed in writing before anything changes. If we haven't beaten it in 90 days, we keep working free until we do. We never promise a specific position for a specific keyword — nobody controls Google's index, and an agency that claims otherwise is either guessing or buying links. The full mechanics are on our SEO page, and the pricing is on the pricing page.
Between now and then, four things genuinely speed the clock up, and none of them are the agency working harder.
- Shorten the dev queue. A fix list that waits eight weeks for deployment costs you eight weeks of the ninety.
- Approve content faster than you think is reasonable. Two-week approval cycles halve your publishing cadence.
- Pick queries you can actually win this year, not the head term your competitor spent four years earning.
- Fix cannibalisation before adding pages. Consolidating two mediocre pages into one strong one often moves faster than publishing a third.