Skip to content
Julia Raciniewska

SEO

Live

The Weekly SEO Audit: A Rules Engine Instead of 'The Agent Decided'

Every Monday at 07:00, a scheduled audit pulls Search Console signals, checks them against declarative rules, and emails a prioritised action list — with every finding logged and deduplicated in BigQuery.

Last updated · Tools: Claude (Cowork) skills, Google Search Console MCP, WordPress MCP, BigQuery, Scheduled tasks

The problem

SEO health degrades quietly: click-through rates drift, posts decay, two pages start competing for one keyword, indexing breaks. Noticing any of this requires regular, systematic checking — exactly the work that never wins against urgent tasks in a two-person company.

The previous manual process

Occasional, mood-driven looks at Search Console. No record of what was checked, no memory of what was already flagged, no follow-through system.

The AI-assisted workflow

A scheduled audit runs every Monday at 07:00 as part of a fixed weekly timetable:

Weekly automation timetable: Monday audit, backlink research and blog draft; Thursday blog draft; Friday human review

The audit pulls a defined signal set from Search Console in parallel — quick wins (positions 4–25 with impressions but poor CTR), cannibalisation, content decay, indexing coverage, country breakdown, and position tracking for our tracked keyword set — then evaluates tiered checks against the live site content.

The design principle, straight from our strategy playbook: rules must be declarative and auditable — never "the agent decided." Every finding must cite a specific URL plus an evidence snippet, and lands in a BigQuery findings table with a deduplication key, so the same issue is never re-reported as new. Fixes are routed to the right tool: product-page issues to product-seo-optimizer, content issues to seo-blog-writer. The output is a plain-text email with a prioritised plan — including a mandatory EU-markets section, because that's our growth priority.

Human review required

The audit proposes; it doesn't touch anything. Every fix goes through the same drafting-and-review path as all other content. I read the Monday email over coffee and decide what actually gets acted on.

Outcome

The audit runs weekly and maintains a live, deduplicated backlog of findings instead of a vague sense that "we should check the SEO." Its most valuable single catch so far wasn't a ranking issue at all — see below.

What failed or remained difficult

Two honest ones.

Version 1 measured the wrong things. The first audit mixed brand-compliance checks into the weekly email, drowning traffic signals in style notes. The v2 rewrite explicitly excludes brand/medical checks (handled separately) and refocuses on what moves traffic: keyword gaps, CTR underperformance with exact replacement meta copy, decay, cannibalisation.

The system audited rankings while the analytics under it were broken. For months, our GA4 e-commerce tracking silently recorded almost no funnel events — the audit diligently tracked positions while the conversion data beneath it was missing. Found and fixed in July 2026; a verification run now confirms funnel events land. The uncomfortable lesson: an audit system is only as good as the list of things it's told to doubt. "Is the measurement itself working?" is now on that list.

We also made BigQuery logging mandatory after runs where it was silently skipped — the task now aborts loudly rather than proceeding without its memory.

What I would change next time

Define the output format around decisions from day one: every finding either produces an action or explicitly states why not. V1 produced observations; v2 produces a to-do list.

Reusable lesson

Auditing is a memory problem more than a detection problem. Anyone can spot an issue once; the value is a system that knows what it already flagged, what got fixed, and what's still open.

Resources

The audit skill and its scheduled task are published — sanitised of project IDs and credentials — in the SEAR Plugs optimisation repo.

  • seo-site-auditor — say "audit the site" or "check my posts for SEO issues"; runs the rule checks and writes deduplicated findings to BigQuery so nothing is re-flagged as new.
  • weekly-seo-audit — scheduled Mondays 07:00; pulls the Search Console signal set and emails a prioritised, EU-aware action list.
  • Fixes route to product-seo-optimizer and seo-blog-writer — the same skills the blog pipeline uses.

← All workflows