Give an SEO company about six months to show movement, but check it every 30 days: fixes shipped by day 30, pages indexed by day 60, impressions rising by day 90, calls by day 180. Some signs mean leave now, at any point. Ziwi's local SEO runs month to month from $297 a month.
Most owners ask this around month four, when the invoices are regular and the phone is not. The honest answer is not one number. It is a set of checkpoints, each visible in data you should already have access to, plus a short list of problems that do not need a checkpoint at all. For how search results build in general, see how long SEO takes. This page is about judging the company doing the work.
Give a competent SEO company six months to show movement in Google Search Console, and judge it every 30 days along the way. Six months is enough time for the early work to be crawled and tested, and each month before that has its own visible checkpoint, so you never wait half a year to spot a program that is not working.
If a checkpoint is missed twice, ask why in writing.
At 30 days you should see fixes shipped, at 60 days pages indexed, at 90 days impressions rising, and at 180 days positions, clicks and calls improving. Each checkpoint is something you can open and look at yourself, not something you take on trust. A report that jumps straight to rankings has skipped the steps that explain them.
| Checkpoint | What should be done | What you should be able to see |
|---|---|---|
| Day 30 | Technical fixes shipped, Google Business Profile completed, a baseline recorded | A written list of fixes and a starting snapshot of impressions, positions and calls |
| Day 60 | New or rewritten service and location pages live, listings cleaned up | Those pages indexed in Google Search Console, and impressions starting to rise |
| Day 90 | Pages maturing, review requests running, first links earned | Impressions rising month over month, more query variety, first map pack appearances near your address |
| Day 180 | Content and links compounding on the target searches | Positions improving on the searches that matter, clicks rising, and calls you can trace to organic search |
The timeline assumes a local business with one location in a normal market. A crowded market or a brand new domain stretches every row, which is why the order of the signals matters more than the exact day.

Four signals mean leave now, however long you have been signed: you cannot get access to your own Google Search Console, no report ever mentions leads or calls, the company guarantees rankings, or the contract locks you in for 12 months. None of these improve with time. Each one is a structure problem, and structure does not fix itself in month seven.
For the wider list of warning signs, before and after you sign, see our guide to marketing agency red flags.
Want SEO you can check every month?
Ziwi Local SEO starts at $297 a month per location, runs month to month, and every account stays in your name.
Keep going if impressions are rising and positions are improving but calls have not followed by month 4 or 5, because that is the normal order, not a failure. Google tests a page low in the results before it tests it high, and very few people click past the first page.
Look again at month six.
If positions have reached the first page for your target searches and calls are still flat, the problem may be the page, the offer or the phone rather than the SEO.
It turns a 12-month decision into a 30-day one.
With no long contract, the agency has to earn the next month with visible work, and you can leave at any checkpoint where the work is missing, with your website, profile and accounts still in your name. The question stops being how long you are stuck and becomes whether this month's checkpoint was met.
| Situation | 12-month contract | Month to month |
|---|---|---|
| The 90-day checkpoint is missed | Keep paying until the term ends, or pay to cancel | Give notice and leave with your accounts |
| Who carries the slow months | You do | The agency, which has to earn the next month |
| When the work gets judged | At renewal, a year in | Every 30 days |
Ziwi's Local SEO runs month to month at published prices: $297 a month per location for Essentials, $597 for Local SEO and $997 for Local SEO Plus. The terms behind that are on our page for a marketing agency with no long term contract, and what each rung includes is on local SEO pricing.
Before you give notice, export 12 months of Search Console data and collect every login. Leaving without the baseline means the next company starts blind, and leaving without the logins can cost weeks.
Confirm Search Console and Google Analytics are in your account. If they are not, ask for owner access before anything else.
Export 12 months of Search Console data. Impressions, clicks and positions by page and by query, so the next company has a baseline.
List what shipped. Pages published, fixes made, listings corrected, links earned. Ask for it in writing.
Check who owns the domain, the website and the Google Business Profile. Each one should be in your name.
Read the notice clause. Then give notice on the date it allows.
Six months is a fair window, but only if every month before it had something you could check. If you want SEO where each checkpoint shows up in a report with calls in it, see Ziwi's local SEO and search service, from $297 a month per location, month to month.