Most bad SEO engagements are visible in the contract before they ever show up in a monthly report. The problem is that nobody reads an SEO contract the way they'd read a lease or a loan agreement. It arrives as a proposal document, feels like marketing collateral, and gets signed with the same attention people give to a software terms-of-service page. These are the SEO contract red flags worth catching before you sign, because by the time you notice them in practice, you're usually six months and several thousand dollars into a relationship that's hard to unwind cleanly.
I review these documents for clients fairly often, usually after something has already gone wrong with a previous agency. Almost every time, the warning sign was sitting in the contract language from day one. Here's what to look for, and why each one matters more than it seems.
Who owns the content and links once the contract ends
This is the single most consequential clause and the one people skip past fastest. If the contract is silent on what happens to published content, backlinks, and any tools or accounts set up during the engagement, assume the worst case applies: the agency may claim the content was licensed rather than owned outright, or that certain assets, like a rank-tracking dashboard or a set of guest post placements, belong to their account structure rather than yours. Ask directly: if we part ways, do we keep every piece of content published on our site, and do we get a full record of every backlink placed on our behalf? The answer should be an unambiguous yes, in writing, not a verbal assurance.
Deliverables described in adjectives instead of nouns
Watch for language like "ongoing optimization," "authority building," and "comprehensive technical audits" with no further specifics. These phrases sound like scope but function as an absence of scope. A contract that instead says "four blog posts per month, minimum 1,200 words, targeting keywords approved in advance" or "one technical audit in month one covering crawlability, indexation, Core Web Vitals, and schema, delivered as a written report with prioritized fixes" gives you something to hold the agency to. Vague deliverables aren't just bad practice, they're a defense mechanism: if nothing specific was promised, nothing specific can be shown to be missing.
Work With John
Your site should be your best salesperson. If it is not, that is a fixable problem.
I work with US service businesses and B2B brands to build SEO systems that produce consistent, compounding leads. I will tell you exactly what is broken. No pitch.
Book a free strategy callReporting cadence and access rights buried in boilerplate
Check two things specifically: how often you'll receive a report, and whether you retain admin access to your own Search Console, Analytics, and CMS throughout the engagement. Some contracts include a clause granting the agency exclusive management of these accounts "for efficiency," which sounds reasonable until you try to leave and discover you never had your own login. This single clause is responsible for more messy exits than any other contract term I've seen, and it connects directly to what I've written about how to fire an SEO agency without losing your rankings, where access disputes are consistently the first and most damaging problem in a bad transition.
Guarantees that should worry you, not reassure you
A contract that guarantees a specific ranking position, a page-one placement by a fixed date, or a set number of leads is not confidence, it's a sign the agency either doesn't understand how search ranking actually works or is willing to say whatever closes the deal. Nobody controls Google's algorithm closely enough to promise a specific outcome on a specific date. What a legitimate contract can promise is a defined process: the audits that will be run, the content that will be produced, the technical issues that will be fixed, and the cadence at which you'll see reporting on how those actions are affecting your search visibility. Process guarantees are honest. Outcome guarantees on a timeline are a sales tactic.
No termination or transition clause at all
Look specifically for language covering what happens when either party wants to end the relationship: the required notice period, what gets handed over, and in what format. A contract with an auto-renewing term and no defined exit process is designed to make leaving inconvenient, and inconvenience is a business model for agencies that know their results won't hold up to scrutiny over a longer stretch. A fair contract has a notice period, usually 30 days, and an explicit statement that all deliverables, access credentials, and a link log will be provided as part of the offboarding. If that language isn't there, ask for it to be added before you sign. Most reasonable agencies will add it without pushback. The ones that resist are telling you something.
Auto-renewal terms and unexplained price increases
Read the renewal clause as carefully as the initial term. Some contracts auto-renew for a full additional year unless you cancel within a narrow window, sometimes as short as 30 days before the anniversary date, buried in a paragraph that has nothing to do with renewal in its heading. Missing that window can lock you into another twelve months on terms you'd already decided not to continue. Separately, check whether the contract allows the agency to raise the monthly fee during the term without your written agreement. A clause permitting unilateral price increases with only email notice, rather than a signed amendment, shifts negotiating power entirely to the agency's side for the life of the contract. If you can't get the renewal or pricing terms changed, at minimum put a reminder on your own calendar 45 days ahead of the anniversary date, since relying on the agency to remind you is asking the party with the least incentive to do so.
Subcontracted work with no disclosure
It's increasingly common for an agency you hired to actually be a reseller, subcontracting the content writing, technical work, or link building to a separate white-label provider you've never heard of and never vetted. This isn't automatically a problem; plenty of legitimate agencies subcontract specialized work. The problem is when it's undisclosed and you have no way to verify who's actually touching your site or writing your content. Ask directly whether any part of the deliverables will be produced by a third party, and if so, ask for that party's name. An agency unwilling to answer this plainly is worth a second look, since undisclosed subcontracting is often how quality drifts silently over the life of a contract, the team you evaluated during the sales process is not the team doing the work six months in.
A worked example
A pattern I see with some regularity: a client signs a twelve-month retainer with a two-week notice clause but no mention of what happens to the fifteen guest posts published on other sites during the engagement, each with a backlink pointing to the client's domain. A year later, the relationship ends and the client discovers the agency, not the client, holds the relationships with those guest post sites. When two of those sites later get flagged for spam and need to be disavowed, the client has no record of which posts exist, where they're hosted, or what anchor text was used, because that information lived in the agency's internal tracker and was never part of any deliverable. Rebuilding that list from scratch, searching Google for the client's own domain across a dozen possible guest post networks, took longer than it would have taken to negotiate a one-line reporting clause at the start.
The fix would have cost nothing: a line in the contract requiring a running log of all off-site content and links, delivered monthly, in a shared document the client owns. Almost no legitimate agency would object to that request. Its absence from the original contract wasn't an oversight so much as a structure that happened to benefit the agency if the relationship ever soured.
A short checklist before you sign
Before signing anything, get written answers to these: what happens to content and links if we leave, what exactly will be delivered each month in specific, countable terms, do we retain our own admin access to every account involved, what is the notice period and what's included in the handoff, and is any part of this contract promising a specific ranking outcome rather than a defined process. If an agency treats these questions as adversarial rather than routine, that reaction alone is useful information.
It also helps to walk in with realistic expectations about pacing, since a fair number of contract disputes trace back to a client expecting month-one results from a process that takes considerably longer. I've laid out a realistic version of that timeline in how long SEO actually takes, and what the first month specifically should look like in what to expect in month one of SEO. Reading both before you negotiate the contract puts you in a much stronger position to spot deliverables that don't match a realistic pace.
The bottom line
A contract is the cheapest place to catch a bad SEO relationship, because at this stage the only cost of asking hard questions is a slightly awkward conversation, not months of wasted budget or a messy exit. If you've already signed something that's missing these protections, it's not too late, most agencies will amend terms if you ask directly and reasonably. And if you're currently evaluating whether your existing engagement has these same gaps, it's worth reading signs your SEO agency isn't working alongside this, since a weak contract and weak performance tend to show up together.
For more on what a fair SEO engagement looks like end to end, pricing included, the SEO expectations hub has the rest of what I've written on this.
If you want a second set of eyes on a contract before you sign it, or on one you've already signed and are questioning, a strategy call is the fastest way to get a straight answer.
