Find website faults before your clients have to point them out. This guide shows agencies how to check the right sites each week and save the findings. Start with the current client list, then use the same test and track each fix.
This guide is part of SEO Audits by Dennis Yu. Next, explore How We Audit: Which Exam to Run, What Pass Means, or How to Do MAA (Metrics, Analysis, Action) Like a Pro.
Where this task fits in the Content Factory
This task supports work across the Content Factory (our four-stage process for using real content). Its inputs and next handoff determine which stage uses it.
Start, finish, and next step
- Start when
- The agreed weekly audit schedule fires for a verified in-scope client list.
- Have ready
- Authorized client/site scope
- Live site URLs
- Last audit
- Verified project thread and publishing authority
- Follow the steps
- Read the authorized run list
- Crawl each live site
- Score each checklist item
- Compare with the previous audit
- Post findings to the existing project thread
- Repeat and recheck the next cycle
Use the detailed instructions in this article for each step.
- Finish with
- A dated per-client audit with PASS, FAIL, UNKNOWN or a justified not-applicable result, with recurring failures distinguished from new findings.
- Measure the result
- Every check has a specific result and explanation
- Resolved and unresolved prior findings are identified
- The findings exist in the intended project thread
- Hand off next
- The team prioritizes and fixes findings; the next weekly audit verifies the result.
Reference material for the inputs
- The Client Roster: The Safety Gate for Every Client Operation
- How to QA a Personal Brand Website
- How to Do MAA (Metrics, Analysis, Action) Like a Pro
Open this article’s tasks in the Task Library (our directory of tasks and recipes; see current Task Library). The library connects the current recipe, its smaller tasks, and the records of work performed.
Related method. The canonical map of which exam when is How we audit. The seven-component exam and published list: SEO Audits by Dennis Yu.
A Definitive Guide for Agencies That Want Automated, Transparent Client QA
Most agencies run SEO audits manually, quarterly at best. Things slip through the cracks: a homepage meta description still referencing services the client dropped months ago, landing pages that should be noindexed but are not, schema markup with a typo in the Instagram URL, neighborhood pages still advertising old services. These are not edge cases. They are the norm at agencies that rely on human memory and quarterly review cycles.
The original April 7, 2026 article described a weekly audit setup using an AI agent, a Google Sheet and a project thread, with a stated Friday 9 AM PST schedule. Use that account as a worked example. For a current run, verify the owning roster, agreed audit scope, actual worker and configured timezone, then retain the trigger and run receipts. Deliver findings to the client’s existing thread within the recorded authority and verify the posted copy.
We are publishing this process publicly because the goal is not competitive advantage through secrecy. The goal is a repeatable method for automated client QA that applies the MAA loop (Metrics, Analysis, Action) and that an agency can implement with the required tools, access, scope and tested first result.
What You Need Before You Start
To replicate this system, you need four components: an active client Google Sheet, an AI agent with web browsing capability, a scheduling mechanism, and a project management tool where findings get posted.
The Google Sheet is a working run list. Confirm each relationship against the Client Roster: Active Client work follows its agreed scope, a Special Project needs its own scope, and Not Active work stops. Ours has four columns: a row number, the client name, a link to the client’s Basecamp project, and the client’s website URL(s). Some clients have multiple websites, and the agent audits each one. The April 2026 account described 29 clients, ranging from local service businesses like ARDMOR Windows and Doors and Plumbing Pros PA to SaaS companies like Kartra and WebinarJam to personal brands like Ross Franklin and Richard Canfield. Those names and that count belong to the historical example; use the current roster to establish today’s relationships and scope. The variety matters because the audit criteria must work across verticals, not just for one type of business.
The original example named Claude Opus 4.6 with browsing tools. For a current run, choose and test a worker that can perform the scoped checks with the available tools and source access. A model name does not supply a browser, account permission, persistent state or schedule. The agent needs to be able to read HTML source, check meta tags, validate schema markup, verify robots directives, and assess content relevance. Verify its actual ability to read the ordinary live pages and inspect their rendered state. Source HTML, screenshots and browser checks serve different tests; none alone proves all private analytics, indexation or runtime facts. Keep unsupported checks UNKNOWN with their evidence owner.
For the existing Friday variant, inspect the configured trigger and record whether “9 AM” means a fixed PST offset or a named local timezone that observes daylight saving. Use the agreed cadence for each engagement. A scheduling tool must have a supported route to the actual worker, its inputs and result destination; verify a triggered run before reporting it as operating. Do not create a duplicate schedule merely to copy this example.
The project management delivery endpoint is where audit findings get posted. The example uses Basecamp. Another agreed project system needs its own supported posting route, verified destination and existing delivery authority; an API’s existence alone does not establish usable access. The key is that findings are posted directly into the client’s existing project thread, not sent as a separate email or dropped into a shared drive. The team needs to see findings in context alongside the work they are already doing for that client.
The Complete SEO Audit Checklist
The agent crawls each client’s live website and checks the following elements. Use the agreed checklist for each in-scope client and state which routes and checks were inspected in this run. Publishing these criteria openly means everyone, including clients and the public, knows exactly what is being measured and can work toward passing.
Title tags: The agent checks every indexable page for title tag presence, clarity and concise length (under 60 characters is our editorial target, not a guarantee against search-result truncation), keyword relevance, and uniqueness across pages. Duplicate title tags across different pages are flagged because they signal sloppy site management and confuse search engines about which page to rank for a given query.
Meta descriptions: Each page is checked for meta description presence, length, relevance to the page content, and whether the description still accurately reflects current services. A meta description that references services the client no longer offers is a common and damaging issue.
H1 structure: The agent verifies that every page has exactly one H1 tag, that the H1 is relevant to the page content, and that H1 tags are not duplicated across pages. Multiple H1 tags on a single page or missing H1 tags are flagged.
Robots directives: The agent checks robots.txt configuration and per-page robots meta tags. It flags pages that should be indexed but are marked noindex, and pages that should be noindexed but are not.
Schema markup: The agent validates structured data present on the site, checking for proper JSON-LD formatting, accurate business information (name, address, phone, social profiles), and common errors like typos in URLs.
Image alt text: Every image on audited pages is checked for alt text presence and relevance. Describe informative images by their purpose, use empty alt for purely decorative images, and describe the action for functional images. A missing alt attribute and a deliberately empty decorative alternative are different cases.
Sitemap configuration: The agent checks for the existence and accessibility of XML sitemaps, verifies that important pages are included, and flags pages in the sitemap that return non-200 status codes.
Internal linking: The agent analyzes the internal link structure of the site, checking for orphan pages, broken internal links, and excessively deep page hierarchies. Important pages should be reachable within three clicks from the homepage.
Landing page indexation status: For clients with dedicated landing pages, check accessibility and indexing controls separately from actual indexation. Use the authorized search-account evidence when available; a browser fetch or a noindex check alone cannot prove Google’s index state. Record unavailable indexation evidence as UNKNOWN.
Content accuracy: This is the check that catches the most issues. The agent reads page content and flags references to services the client no longer offers, outdated year references, incorrect business hours, old team member names, and neighborhood or location references that no longer apply.
Step-by-Step: How the Agent Runs Each Friday
Here is the exact workflow, broken into concrete steps that another agency can implement.
Step 1: Confirm scope, then read the run list. When the agreed weekly schedule fires, check the Client Roster and the engagement scope before using the sheet’s client name, Basecamp thread, and website URLs. Run only authorized Active Client work or an explicitly scoped Special Project. Stop for Not Active status, and leave missing or conflicting status unresolved for the relationship owner.
Step 2: For each client, crawl the live website. The agent navigates to the client’s website and crawls the homepage plus key interior pages. It reads the raw HTML to extract title tags, meta descriptions, H1 tags, robots meta directives, schema markup, image alt attributes, and internal link structure.
Step 3: Run the checklist. The agent evaluates what it found against the standardized audit criteria. Each check records PASS, FAIL, UNKNOWN or a justified not-applicable result, with the exact route, evidence and explanation. Failed access or an uninspected route must not look like a pass.
Step 4: Compare against last week’s audit. Items that were flagged last week and fixed this week are noted as resolved. Recurring failures keep their prior evidence and owner; escalate by impact, urgency and the agreed response date rather than treating age alone as proof of severity.
Step 5: Post findings to Basecamp. The agent compiles the scoped audit results and uses the supported posting rail for the already-authorized client update. Verify the exact project/thread before posting and read back the comment afterward. If delivery is not authorized or fails, retain the report and its specific next owner without calling it posted.
Step 6: Move to the next client. Repeat Steps 2 through 5 for the eligible clients confirmed in Step 1, preserving each site’s actual inspection coverage and delivery result. The original 29-client account estimated 30–60 minutes. Current duration depends on scope, page coverage, tools and failed checks; record actual elapsed time for the present run instead of promising that range.
The MAA Loop: Metrics, Analysis, Action
The weekly SEO audit is a practical implementation of the MAA loop, the framework that separates agencies that measure from agencies that actually improve.
The Metrics section records direct measurements from the inspected pages. Keep semantic judgments and unavailable evidence in separately labeled fields so the report shows how each finding was reached.
Analysis is what the team does with those metrics. Not every issue has the same priority. The team reviews the audit findings and prioritizes based on SERP impact, client sensitivity, and fix difficulty.
Action is the fix carried out by the assigned owner within the existing scope and agreed response date. Retain the actual change and retest evidence, and name any unresolved dependency and next owner.
The loop closes when the agent runs again the following Friday and checks whether the fix took effect. This weekly cycle creates accountability without micromanagement. The agent does the measuring. The team does the fixing. The next audit does the verification.
How Your Team Should Respond to Audit Findings
When your team sees an audit comment posted by the agent in a Basecamp thread, treat it like a QA report. The agent identifies what is broken. Your team fixes it. Here is the triage protocol.
Priority 1 items are critical-impact issues or overdue failures whose agreed response requires escalation. For a recurring failure, compare the saved source, normal public result and prior evidence before deciding whether a fix was omitted, overwritten, hidden by stale delivery or failed for another reason. Priority 1 items get addressed first, ideally the same day.
Priority 2 items are new issues that may affect search presentation or discovery: incorrect meta descriptions, missing H1 tags, noindex directives on pages that should be indexed, broken schema markup. These should be resolved within two business days.
Priority 3 items are new issues with indirect or long-term impact: missing image alt text, suboptimal internal linking, content accuracy issues on low-traffic pages. These should be resolved before the next audit.
What This Looks Like for the Client
When the agreed report is authorized, posted to the verified project thread and read back there, clients can see what was checked, the recorded results and what needs attention. This demonstrates proactive care, creates transparency, builds trust through accountability, and reduces client anxiety about things falling through the cracks.
For agencies that want to go further, you can give clients read access to the audit criteria document itself. When the client understands what is being measured, they become an ally in maintaining quality rather than an adversary questioning whether work is being done.
Real-World Example: The Zooby Audit
The first full audit we ran was on Zooby (zooby.com), a client managed under Jeffrey Eisenberg’s Quickstart project. The agent found 15 issues that were live on the production website, several of which had been there for months without being caught.
The homepage meta description still referenced handyman services, a service category Zooby had stopped offering. Three landing pages were internally documented as noindexed but were actually still indexable. The schema markup contained an Instagram URL with a typo. Multiple neighborhood pages still referenced services Zooby had dropped months ago.
In the April 2026 Zooby account, many fixes were estimated at 15 minutes each, under three hours in total, and the audit was reported to take less than five minutes. These are the original estimates and observations, not a new timing test. Technical correction, recrawl and measured search effects are separate results; no immediate search-result impact was established by those estimates. The example shows how routine checks can surface overlooked work. Keep the observed audit duration, estimated repair effort and later measured outcome distinct.
Beyond SEO: Apply the Same Review Pattern to Other Agreed Jobs
The original plan placed this audit among 18 proposed recurring jobs. That historical planning count is not proof that all 18 are currently configured or appropriate for every agency. Extend the pattern only to a scoped job with an owner, required access and checked output. The same architecture can be applied to other recurring jobs: weekly Google Business Profile audits, weekly social media presence checks, monthly website performance audits, weekly ad account health checks, and monthly content freshness audits.
Each of these follows the same MAA loop: the agent measures, the team analyzes and acts, and the next run verifies. The system is integrated by design through the LDT/CCS framework (Learn, Do, Teach / Content, Community, System), and these SOPs are published as definitive articles so that the process is transparent, teachable, and replicable across any agency.
Getting Started Today
If you want to implement this at your agency, start with these concrete actions. Create your active client Google Sheet with four columns: client number, client name, project management thread, and website URL(s). Choose your AI agent platform. Run one authorized pilot audit to calibrate the checklist, coverage and evidence states. Review the actual report and destination, then use the agreed existing schedule or configure a new one only when required and authorized. Retain a trigger receipt and the first observed scheduled result.
• The Quick Audit: how we audit any business
• MAA (Metrics, Analysis, Action): the framework behind every audit
• The SEO Tree: how all our content connects (how content links to its main topic)
• Entity Linking: the decision tree for every link
• Knowledge Panels: getting Google to recognize you
• Every digital audit Dennis Yu has done

