If you’ve started suspecting your SEO agency is underperforming, this is the audit framework you can apply yourself before deciding whether to coach them, replace them, or part ways. The audit is practical and forensic — what they delivered, where the money went, whether the metrics they’re showing you are tied to business outcomes.
The reader-protective framing matters here. Bad SEO engagements are often not about a bad agency; sometimes the scope was wrong, the brief was unclear, or the agency was sold a job that didn’t fit their strengths. The audit clarifies which is which. By the end of it you’ll know whether the relationship is salvageable, and what evidence you have either way.
What this guide is not: a list of agencies to avoid. The right audit is content-based, not name-based. The same checklist applies whether the agency is local, regional, or global.
Key Takeaways
- Run a forensic deliverable inventory: list everything they were supposed to ship per month versus what actually exists in the live site, the search console, and the link profile.
- Decide between coaching and replacing based on whether the issues are scope and communication problems (coachable) or methodology and ethics problems (replace).
- If you’re parting ways, run an exit transition checklist — Search Console access, GA4 access, content ownership, link disavowal status, off-page properties — before the relationship ends.
The six red-flag categories to audit against
Bad SEO agencies don’t usually fail on every dimension. They fail on a couple. Working through these categories is faster than a vague ‘something feels wrong’ inspection.
1. Reporting opacity
Reports that are dense, branded, and uncritical — pages of vanity charts with no narrative, no losses acknowledged, no priorities for next month. The test: can you explain in two sentences what they did this month and what changed in the business? If no, the report is theatre.
2. Methodology vagueness
Methodology that defaults to jargon when you ask how the work is done. ‘AI-driven optimisation’ or ‘proprietary ranking algorithm’ without explanation are signals the methodology is either thin or deliberately obscured. Senior practitioners can explain their approach in plain language.
3. Deliverable mismatch with invoice
The proposal said 4 articles a month, 20 link placements per quarter, monthly technical audit, monthly review call. Six months in: count the live articles, the new backlinks, the audits in your inbox, the review calls in your calendar. Mismatch means either the scope changed without your sign-off, or the work isn’t being done.
4. Link-building shortcuts
Backlinks from PBNs (private blog networks), expired domains repurposed as link farms, irrelevant directories, paid placements on low-quality sites without disclosure. These shortcuts produce ranking lifts that reverse on the next spam update — and the disavowal cleanup falls to you, not the agency.
5. Ranking-only metrics with no business outcomes
Reports that show keyword rankings going up while organic conversions, qualified leads, and pipeline are flat. Rankings without business outcomes mean either the keywords were wrong (informational queries from people who’ll never buy), the site can’t convert the traffic, or the rankings aren’t real (rank-tracking tools showing positions Google never serves to real users).
6. Communication patterns
Slow responses, defensiveness when questioned, account-manager handoffs without warning, sudden deliverable churn at quarter-end to look productive on review calls. Communication is the early signal — it usually breaks before the work does.
The forensic deliverable inventory
Before any technical or content audit, build a deliverable inventory. This is a spreadsheet with three columns: what was promised in the proposal, what actually exists in the wild, gap notes.
Promised content: list each article, page, or content asset by URL or title. Actual content: spot-check live URLs, check publish dates, check whether the writing matches the agency’s claimed quality bar or reads like AI filler. Promised links: number, target pages, anchor distribution. Actual links: pull a backlink report from Ahrefs, Semrush, or Google Search Console’s Links report. Promised technical work: audits, fixes, schema, page speed. Actual technical state: spot-check by URL or run a technical crawl with Screaming Frog or Sitebulb.
The gap column is what matters. A 20% shortfall against the promise is normal slack; a 60% shortfall is the agency under-delivering or scope-changing without your sign-off.
The link audit
Pull a backlink export from Ahrefs, Semrush, or Search Console. Filter to links acquired during the agency’s tenure. Then evaluate three things.
Relevance: does the linking site have anything to do with your category, or is it a generic link farm, expired domain, or irrelevant blog network? Authority: is the linking domain a real publication with editorial standards, or is it a low-DR domain whose authority is nominal? Anchor text and placement: are the anchors natural — branded, URL, generic — or are they exact-match commercial keywords linked to commercial pages, which is the pattern Google’s spam systems target?
If the link profile from the agency’s tenure is dominated by low-relevance, low-authority, exact-match-anchor links, you have a link-quality problem that will need disavowal work — and the agency probably won’t want to do it because it would expose the issue.
The technical and content audit
Run a fresh technical crawl with a standard tool. Look for issues that should have been caught by the agency: broken canonicals, indexability mistakes, schema errors, slow Core Web Vitals, internal linking gaps. A site that’s been on a technical retainer for 12 months should not have basic technical issues outstanding.
Content audit: spot-check 20 published pages. Check for AI-generated thin content, generic templated structures across pages, missing primary research, overlapping topical coverage that produces cannibalisation. Compare the writing against the agency’s own portfolio — did they put their A-team on your account or assign you to a junior with a template?
Coach versus replace: how to decide
After the audit you’ll have evidence. Match it to one of two patterns.
Issues that are coachable
Reporting opacity (fix: ask for a different report format with business outcomes). Communication patterns (fix: name a single point of contact and a written review cadence). Scope drift (fix: rewrite the SOW with measurable deliverables). Wrong keyword targets (fix: re-do the keyword strategy with conversion intent in mind). These are agency relationship issues, and a candid conversation with leadership often resolves them.
Issues that mean replace
Link-building shortcuts (the harm is already done and the playbook is structural). Methodology that doesn’t survive plain-language questioning (you’re paying for senior work but getting junior labour). Persistent deliverable shortfall against invoice (the unit economics on their side don’t fit your scope). Refusal to share access, files, or process detail (a transparency issue that won’t get better). Once you see two or more of these, the relationship is structurally broken.
The exit transition checklist
If you decide to part ways, the exit is its own project. Some assets disappear with the agency relationship if you don’t claim them first.
Search Console access — make sure you, not the agency, are the verified owner. Add yourself as owner before any conversation about exit if you haven’t already. GA4 access — same. Confirm the property is owned under your Google Workspace, not theirs. Content ownership — the proposal should have specified the content is yours; spot-check that nothing is hosted on the agency’s CDN or behind their CMS. Link disavowal status — get the disavow file from them; you’ll need it for the new agency or for ongoing maintenance. Off-page properties — any guest-post placements, business directory listings, citation profiles need credentials transferred. Schema and structured data — exported and documented if it was custom. Reports archive — three years of monthly reports for institutional memory.
Run the checklist before the conversation about ending the engagement, not after. Once an agency knows they’re being terminated, transitions get harder.
Conclusion
Auditing a bad SEO agency is a practical job with a forensic shape. Work through the six red-flag categories — reporting, methodology, deliverables, links, metrics, communication. Build the deliverable inventory. Run the link, technical, and content audits with standard tools. Then match the findings to coach-or-replace patterns and act on the evidence rather than the feeling.
The audit is reader-protective by design. It gives you evidence you can point to, with or without the agency’s cooperation. Whether you stay, coach, or replace, the audit produces a record — and if you replace, the exit transition checklist protects the assets that would otherwise quietly walk out the door with the agency.
Frequently Asked Questions
How do I know if my SEO agency is actually underperforming or if SEO is just slow?
What’s the single biggest red flag of a bad SEO agency?
Should I confront the agency with the audit findings?
How do I audit my SEO agency without their cooperation?
What links should I disavow if my agency built a bad backlink profile?
Can I switch SEO agencies mid-contract without losing rankings?
If you’ve worked through the audit and want a second opinion on whether your situation is coachable or structurally broken, enquire now.