Scholar HeistScholar Heist
← All skills
SEOv1.0.0 · 2026-08-07

Seo Audit

Runs after every publish, and weekly on top posts. Search stopped being one game: a post now competes in classic rankings, answer boxes, AI Overviews, and generative engines simultaneously — so the audit scores all four at once and returns a scorecard out of 100 with concrete fixes.

Download skill

What it does

  • Score the four frameworks
  • Build the scorecard
  • Return, never apply
  • Route the follow-ups
SKILL.md
---
name: seo-audit
description: Score a live post across four frameworks at once — traditional SEO, AEO answer engines, AI Overviews, and generative engines — returning a scorecard out of 100 with concrete fixes, read-only. Use when asked to audit a post or page's SEO, score published content, check AEO or GEO readiness, find why a post isn't ranking or getting cited, prioritise content fixes, or someone says 'we published it, now what's wrong with it'. For site-wide structure, see site-architecture. For applying fixes, see content-refresher.
metadata:
  version: 1.0.0
---

# SEO audit

Runs **after every publish, and weekly on top posts**. Search stopped being one
game: a post now competes in classic rankings, answer boxes, AI Overviews, and
generative engines simultaneously — so the audit scores all four at once and
returns **a scorecard out of 100 with concrete fixes**.

Two properties define it: **read-only — it never auto-applies**, and its
threshold is fixed: **anything scoring under 70 is a critical fix**, separated
from the quick wins.

## Before you start

| Input | Why |
| --- | --- |
| The live URL | The audit reads what is actually rendered, not the draft |
| The post's focus keyword and pillar assignment | Scores are relative to intent, not generic |
| Search Console access, if available | Real queries and positions beat inference |
| Approval authority | Findings return to a human; nothing applies itself |

## Step 1 — Score the four frameworks

| Framework | What it checks on the post |
| --- | --- |
| **Traditional SEO** | Title/meta budgets and intent match, H-structure, internal links (8–15, real URLs), image alt text, slug, category fit |
| **AEO** (answer engines) | Do H2s answer one question each, standalone? Is the FAQ block liftable? Does the first paragraph answer the query directly? |
| **AIO** (AI Overviews) | Are claims sourced and dated? Are definitions quotable in one sentence? Do sections survive extraction out of context? |
| **GEO** (generative engines) | Entity clarity — is the brand named consistently (10–20 naturally)? Are facts stated as facts, attributable to this page? |

Plus **keyword strategy**: is the post targeting its intended term, drifting,
or cannibalising a sibling?

## Step 2 — Build the scorecard

One score out of 100, then the split that makes it actionable:

- **Critical fixes** — anything under 70 on its framework: fix before anything
  new is published to this cluster.
- **Quick wins** — cheap changes with visible effect: a truncated title, a
  missing FAQ schema, three absent internal links.

Every finding names the element and the fix — "H2 #4 is a noun label; rewrite
as the question it answers" — never "improve headings".

## Step 3 — Return, never apply

The audit reports. Changes go through the operator's approval, then execute via
**content-refresher** (same URL, freshness signal) — because an audit that
edits is an auditor nobody can trust twice.

## Step 4 — Route the follow-ups

| Finding class | Routes to |
| --- | --- |
| Content gaps, stale sections | content-refresher |
| Missing internal links | link-orchestrator |
| Pillar without a cluster | cluster-planner |
| Structural/site-wide patterns | site-architecture |
| Metadata field fixes | seo-metadata-generator, republished via wordpress-publisher's update path |

## Output

```
# Audit: <URL> · <post type> · keyword: <term>

Score: <n>/100
| Framework | Score | Top finding |
| SEO | | |  | AEO | | |  | AIO | | |  | GEO | | |
Keyword strategy: <on-target / drift / cannibalises <url>>

## Critical (under 70 — fix first)
1. [<framework>] <element> — <what's wrong> → <the fix>  → routes to <skill>

## Quick wins
...

Read-only: no changes applied. Approval → content-refresher.
Cadence note: next audit <after next publish / weekly if top post>
```

## When it breaks

| What you see | What it means | The fix |
| --- | --- | --- |
| Score 90+, post invisible | Audited against no keyword — generic checklist | Score relative to the intended term and its SERP |
| Findings say "improve content" | Element-less findings | Every finding names the element and the fix |
| Audit applied its own fixes | The read-only line crossed | Findings → approval → refresher; restore the boundary |
| Same criticals every audit | Findings reported, never routed | Step 4's routing table is the point of the audit |
| Four framework scores identical | One checklist run four times | Each framework asks different questions of the same post |
| Post scores well, cluster still flat | Post-level audit answering a site-level question | Route to site-architecture; the graph, not the post, is the issue |
| Audit only ever runs at launch | Cadence forgotten | After every publish, weekly on top posts |

Never inflate the score to make the report friendlier. Under 70 means fix
before publishing more — a kind 74 that should be a 61 publishes three more
posts onto a broken foundation.

## Rules

- **Read-only, always**, because an auditor that edits cannot be trusted to
  audit its own edits.
- **Under 70 is critical, and criticals come first**, because publishing onto a
  broken post compounds the break.
- **Every finding names its element and its fix**, because "improve headings"
  is homework, not a finding.
- **Four frameworks, scored separately**, because ranking, answering, and being
  cited are different games with different failures.
- **Findings route to their fixing skill**, because an audit that ends at a PDF
  is a cost, and one that feeds the pipeline is a system.

## Related skills

- **content-refresher** — applies approved content fixes, same URL.
- **link-orchestrator** — the internal-link findings' executor.
- **cluster-planner** — when the finding is "this pillar stands alone".
- **answer-engine-optimisation** — the deeper AEO/GEO build guidance.

Reviews

Sign in to leave a review.