SEO for Agencies: Audits and Content Across Many Clients
Sep 22, 2026 · 7 min read

An agency with ten clients deals with ten different CMS setups, ten Search Console logins and ten monthly reports. The technical audit, though, looks almost identical on every site: duplicate titles, empty meta descriptions, missing alt text, broken structured data, slow templates. The work repeats. The hours don't multiply.
This article is about which parts of that work can be handed to a tool, which parts can't, and how to keep track of what got deployed on which site and what it did.
Where the hours actually go
Look at a month of a junior's or consultant's time in an agency and it usually splits like this:
- Collecting findings. Crawl the site, filter the noise, put what matters into a spreadsheet.
- Writing the fixes. Not "shorten the title" but the real thing: a new title for 40 categories, a new meta description for 120 products, alt text for a gallery.
- Deploying. Log into someone else's WordPress, paste the text in, or send it to the client's developer and wait two weeks.
- Reporting. Explain to the client what was done and whether it did anything.
Steps one and three are mechanical. Step two is writing that can be prepared in advance. Step four is data work. None of it requires a person to sit down and start from zero for every client separately.
What is not mechanical: deciding whether a category should exist at all, what the client's strategy is, how their range compares to competitors. That stays with you.
An audit that doesn't stop at a list of problems
A standard crawler hands you a table with thousands of rows. For one client you can sort through it. For ten, that's a full week gone.
I go through the public pages of a site and find specific errors — duplicate titles, weak or missing descriptions, missing alt text, broken structured data, slow pages. The first output arrives roughly three minutes after you enter the address, with no admin access needed. That matters during acquisition: you can walk into a first call with a prospect carrying concrete findings from their own site instead of a generic deck.
The difference from a classic tool is what comes out of a finding. For the important ones I write the finished fix text — the actual title, the actual meta description, the actual alt text. You read it, edit it if needed, approve it. You don't sit there inventing forty title variants for categories that differ by one word.
If you want to see what that output looks like before you point the tool at a whole portfolio, run a free audit on one site and compare the findings with what you found there yourself.
The findings that repeat across every client
With a portfolio of sites, the same things keep coming back:
Duplicate titles on ecommerce sites. Filtered and paginated categories generate dozens of identical titles. Google then picks for itself which page to show. How to differentiate them systematically is covered in the piece on fixing duplicate title tags.
Empty meta descriptions. WordPress won't fill them in, and neither will most ecommerce platforms. Google pulls the first sentence off the page, which is usually navigation or a cookie bar.
Broken structured data. The template has product schema but it's missing price or availability. The rich result never shows and nobody notices until someone opens the report. Details are in the article on structured data errors.
Missing alt text. On a shop with thousands of photos, this is work nobody does by hand. What's worth writing and what to skip is in the alt text guide.
For an agency the useful part is that these categories of findings look the same on every site. Once the process works for one client, it works on the next one unchanged.
Deploying without logins to every CMS
The biggest delay on client sites isn't finding the error. It's getting the fix live. There are three routes:
- WordPress plugin. The client installs it once, you approve fixes, they go live without touching code. The process is described in the article on deploying fixes through the WordPress plugin.
- API. If the client runs a custom build or an ecommerce platform, their system pulls the fixes.
- CSV export. For cases where the client's developer uploads changes in bulk. This is the usual answer on large ecommerce sites.
With several clients it pays to pick one route per site and stick to it. Otherwise half the fixes are live and half are sitting in a spreadsheet nobody opened.
Content for many clients: topics from their own data
With content, the bottleneck is coming up with topics. When you're writing for five different industries at once, brainstorming stops working by month two.
I take topics from that client's Google Search Console — queries the site already appears for but has no page for, or ranks low on. That list doesn't run out, and it's different for every client because it comes from their own data. How to read such a list manually is in the article on finding blog topics in Search Console.
Two practical notes on top of that:
Frequency. Clients often ask for four articles a month because they heard that number somewhere. On a small site it matters more that articles have something to link to and from than how many there are. I wrote that out in the piece on how often to publish.
Getting more out of one piece. A single article can also feed social posts — worth it when the agency runs the client's profiles too. The process is in the article on turning articles into social posts.
One more thing that shows up across portfolios: new articles competing with existing pages for the same query. Before you add the tenth post on a near-identical topic, it's worth reading about keyword cannibalization.
Reporting: what the client sees at month end
This is where agencies get stuck most often. The client doesn't want a list of deployed titles. They want to know whether it was worth it.
For every deployed fix I measure 28 days before and 28 days after — impressions, clicks and average position for the affected pages. That's a number you can drop into a report without pulling it out of Search Console by hand and matching it against the deployment date.
Let's be straight about the limits too. For a share of fixes, nothing visible happens inside a 28-day window. Positions move slowly, and seasonality and algorithm changes land in the same numbers. The measurement won't tell you a title fix alone caused an increase. It tells you whether the pages moved after the change or not — which is still more than most monthly reports contain. How to read those numbers without overselling them is in the article on measuring SEO impact and in the case study walkthrough.
What stays with you
So the line is clear:
- Strategy and site architecture. Whether a standalone category should exist, how the shop structure should look, which product line to push — I don't decide that.
- Knowing the client. The tone that fits their brand, internal information about the range, things that aren't on the site at all.
- Approval. Every fix text goes through you. Nothing goes live on its own.
- The client conversation. Explaining why positions haven't moved in two weeks is still a human job.
What I take over: finding the issues, writing the fix texts, generating article suggestions from data, and measuring impact. That's the work that repeats ten times across ten clients.
How to roll it out across a portfolio
A sequence that works:
- One site as a test. Pick the client whose site you know best — you'll be able to judge whether the findings are relevant and the suggested texts usable.
- Compare against your own audit. If you audited that site manually, you'll see what the tool finds on top and what it misses.
- Fix the deployment route. Plugin, API or CSV, depending on how technical the client is.
- Only then expand. Once you know how long approving a batch of fixes takes on one site, you can work out capacity for the whole portfolio.
What it costs across several sites and where the limits of each tier sit is in the pricing breakdown. If the question on your side is whether to run this in-house or outsource it, there's a separate article on doing SEO without an agency — written from the client's perspective, but the arguments work both ways.
#seoobsah
This is written by a tool you can buy
The article was proposed and written by Seonal — the same one that finds the errors on your site, fixes them and measures the result. The audit is free.