← Back to blog

Strategy · November 7, 2026 · 8 min read

When to Fire Your SEO Agency

Fire at month four and you lose the compounding; at month twelve you have already lost a year. Judge non-branded impressions and indexed pages, and finish the handover before you send notice.

By FluxWriter

When to Fire Your SEO Agency

When to fire your SEO agency is a question about direction, not about rankings. At month four with nothing in the top ten but impressions climbing and new pages shipping, you are early, and the right move is to keep paying. At month twelve with flat non-branded impressions, no new URLs and reporting you cannot verify yourself, you are already late. This covers both mistakes, the three numbers that tell them apart, and the handover that has to be finished before the termination email goes out.


The Month-Four Firing Costs You the Compounding

Four or five months in, a campaign that is working and a campaign that is dead look almost identical on a rank tracker. Neither one has anything in the top ten. The owner sees the same empty report twice in a row, decides the money is going nowhere, and cancels, which is the one decision that guarantees the spend was wasted.

The tell is not position. It is impressions. A page that has only just been understood tends to sit at bad positions for a while, collecting impressions for queries nobody planned, before it moves anywhere useful. Rising impressions at bad positions mean the pages have entered the auction. Flat impressions at bad positions mean they have not. Both states look identical on a slide that only reports rank.

As a rough rule, assume a page needs to be live a couple of months before its own trend says anything, and a site with almost no history needs longer than one with ten years of it. Judging month four on clicks is judging the thing before the measurement can show it.

The second month-four check is output. Count the URLs that have gone live since the engagement started, and how many are indexed. Twenty live and indexed means the machine is running and the result is a timing question. Two live means you have been paying for strategy calls, which is a different problem with a different answer.

The Month-Twelve Firing Costs You a Year

The late firing has a clearer signature. New pages are going up and non-branded impressions are still flat across two consecutive quarters. That combination is not a patience problem. It means the pages are being published into queries where they do not compete, and another six months of the same will produce more of the same.

The other version is quieter. Nothing new has been published for months, the invoice has not changed, and the work has drifted into maintenance: a plugin update, a broken-link fix, a monthly call. Maintenance is a real service, but it is not what most owners think they are buying at a growth retainer price.

Reporting tells you which one you are in. A report leading with branded search, "keywords in the top 100", or a technical health score out of 100 is reporting motion. One leading with non-branded impressions, indexed pages added and clicks to pages that make money is reporting outcomes. If you cannot reproduce the headline number yourself in Search Console in five minutes, treat it as marketing rather than measurement.

Before you plan anything else, find the notice clause in the agreement and read it. Many retainers auto-renew and many require notice in writing well before the next cycle. Whatever yours says is the thing that sets the order of everything below, so check it first rather than assuming the relationship ends the day you decide it has.

Three Numbers Decide It, and Rank Is Not One of Them

The first number is new indexed URLs per month. Pull it from the Pages report in Search Console rather than the agency deck, because a published page that is not indexed does nothing and is easy to leave off a slide.

The second is non-branded impressions over the last 90 days against the previous 90. Filter out every query containing your brand name, your domain and common misspellings of both. Branded search moves with your ads, your email and your reputation, and folding it in flatters a campaign that is not working.

The third is clicks to the pages that take money: product pages, service pages, the booking form. Blog traffic that never reaches them is a content programme with no path attached, which is worth fixing before it is worth firing anyone over.

Run all three before the conversation, not after. Rising indexed pages and rising impressions with flat money-page clicks is a linking and intent problem, and a competent agency fixes it in a quarter. Flat on all three for two quarters, with pages shipping the whole time, is the case for leaving.

Your Retainer Divided by Pages Published Is the Number to Argue With

Most retainer disputes are really about output volume, and almost nobody does the division. Assume a $2,500 retainer producing four published pages a month. That is $625 a page and 48 pages a year for $30,000. At one page a month the same retainer is $2,500 a page and 12 pages for the same $30,000, with only the throughput changed.

The figures below are illustrative rather than benchmarks, so put your own retainer and your own published count into the same arithmetic.

Monthly retainer Pages published per month Cost per published page Pages after 12 months
$1,500 4 $375 48
$1,500 2 $750 24
$2,500 4 $625 48
$2,500 1 $2,500 12
$5,000 5 $1,000 60

None of this says cheaper is better. A $1,000 page that ranks and converts beats four $375 pages that do neither. It says the number belongs in the renewal conversation, because an agency that has quietly halved output while holding price has already changed the deal without telling you.

The Handover Is Where the Real Damage Happens

Almost every article on this stops at the decision. The expensive part comes after it, and it is mostly about access.

Search Console access is granted per property, and an owner can remove other owners, including you. Confirm you hold owner-level access under an email address that belongs to you rather than to a staff member who left. If the agency verified the property and cuts you out, you can verify it again yourself with a DNS record or a file on the server, since verification follows control of the site. Export the performance data regardless: the report holds roughly the last 16 months on a rolling basis, and once a month falls off the back it is gone.

Analytics is harder, because a property can sit inside an account the agency owns. Moving it needs the right permissions on both sides, and a new property starts empty rather than inheriting history. Get admin, or get the property moved, while the relationship is still cordial. Do the same for Google Business Profile, where transfers exist but the request process runs slowly once the current owner stops replying, and for the ad accounts, the CMS logins and the registrar.

Then the content. Ask for the posts in a format you can re-upload, images included: markdown or HTML, not a folder of documents and not a login to a platform you do not pay for. If the blog sits on a subdomain of the agency's own system, that is a migration rather than an export, and it should be finished before the relationship is.

Finally the links. Crawl your own site and check where the earned links actually point, because some will aim at URLs you have since renamed, at redirect chains, or at a microsite somebody set up in year one and nobody has thought about since. Ask plainly whether any placements sit on properties the agency owns or pays for monthly, and what happens to them after you leave. Asking costs one email. Finding out later costs more.

The ownership questions all resolve to the same place: the agreement. What it says about the content, the accounts and the work product is the thing to read, and unclear wording is a question for a solicitor rather than for your account manager.

Finish the Handover Before You Send the Email

Order matters more than wording. Read the notice clause. Secure owner-level access to Search Console, Analytics, the business profile, the CMS and the registrar, verifying each from a private browser window logged in as yourself rather than taking someone's word on a call. Export the data and the content. Crawl the site and record where the links point. Only then send the notice the contract asks for.

Keep it short and unemotional. You may want a clean asset transfer from these people six weeks from now, so send a dated line confirming the notice period, a request for the remaining exports, and nothing else.

FAQ

Should I fire my SEO agency if rankings have not moved in six months?

Not on rankings alone. Check whether non-branded impressions and indexed pages rose over the same window, since both can climb for months before positions move. If those are flat too, six months is a fair point to end it.

Can the agency take the content and the links with them when I leave?

Treat it as two separate checks. Practically, find out whether the blog is hosted somewhere you control and whether any links point at properties the agency owns or rents. Legally, the question to ask is what the agreement says about ownership of the content and the accounts, and an unclear answer is one for a solicitor.

Is it cheaper to bring SEO in-house after the retainer ends?

Sometimes, and the arithmetic is the same as above. A part-time writer, a tool subscription and your own hours all have a real monthly cost. The honest comparison is cost per published page against the retainer you are leaving, not against zero.

The Practical Takeaway

This week, do the diagnosis before the decision. Pull the last 90 days against the previous 90 in Search Console, filter out every branded query, and write down the impression figure and the indexed pages added. Read the notice clause. If the numbers are rising, renew and spend the conversation on output volume instead. If they are flat while pages have been shipping the whole time, start the access audit today and send nothing until it is finished. The first action is the Search Console export, because that data sits on a rolling window and nobody gets it back.

Before FluxWriter picks up the publishing, paste three to five of the agency's better posts from your own site in as Brand Voice samples (on every plan), so the first post after the handover does not read as if a different company wrote it.



← All posts