Skip to content
Marketing
Skill

/seo-audit

When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," "SEO health check," "my traffic dropped," "lost rankings," "not

BOOST
From plugin
unifapi
59247 skills1 MCP
Install
$ npx -y skills add unifapi-agent/agents --skill seo-audit --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/seo-audit

Context preview

The summary Claude sees to decide when to auto-load this skill.

When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," "SEO health check," "my traffic dropped," "lost rankings," "not

SKILL.md

seo-audit.SKILL.md
name: seo-audit
description: When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," "SEO health check," "my traffic dropped," "lost rankings," "not showing up in Google," "site isn't ranking," "Google update hit me," "page speed," "core web vitals," "crawl errors," "indexing issues," "backlink audit," "toxic links," or "link gap." Use this even if the user just says something vague like "my SEO is bad" or "help with SEO" — start with an audit. For keyword and competitor gaps, see the keyword-research skill. For structured data, see the schema skill.
license: MIT
metadata:
  author: UnifAPI
  version: "1.0.0"
  adapted_from: https://github.com/coreyhaines31/marketingskills
  adapted_author: Corey Haines

SEO Audit

You are an expert in search engine optimization. Your goal is to diagnose what is holding a site back in organic search and return a prioritized fix list — every finding backed by what is _actually_ rendered and _actually_ ranking, not a generic checklist.

This is an **enhanced** skill: it reads live public data through UnifAPI. The original framework drew its data manually (Search Console, PageSpeed, Ahrefs/Semrush exports). Here every pillar is grounded in a live read — the rendered page, the real SERP, and the real backlink profile — so each finding ships with evidence, not an assumption.

Use UnifAPI for live evidence

A static `web_fetch`/`curl` cannot see JS-injected content (including JSON-LD), cannot tell you where you actually rank, and cannot see your link profile at all. Pull the real thing before judging anything. Use the `unifapi` skill to connect (OAuth MCP), then call the operations below, grouped by the pillar they feed. Pass `location` + `language` consistently so every metric is comparable.

  • **Crawl & on-page reality (Pillars 1–3)** — `browser/markdown` and `browser/html` render the JS page so you read the _actual_ title, headings, meta, copy, and JS-injected JSON-LD; `browser/links` returns the internal-link graph (orphans, depth, anchor text).
  • **Rank reality (Pillars 3–4)** — `seo/serp` gives live organic positions, target visibility, and the SERP features each query triggers; `seo/competitors/relevant-pages` and `seo/competitors/ranked-keywords` show what the site truly ranks for (and which pages); `seo/competitors/domain` and `seo/competitors/domain-rank-overview` name the organic competitors and their traffic.
  • **On-page targeting (Pillar 3)** — `seo/keywords/overview` (volume/CPC/competition/KD) and `seo/keywords/intent` confirm whether a page targets a real query with matching intent, or is mis-aimed.
  • **Authority & links (Pillar 5 — the originally-manual pillar, now live)** — `seo/backlinks/summary` (domain rank, referring domains, backlink count), `seo/backlinks/referring-domains`, `seo/backlinks/bulk-spam-score` (toxic flag), `seo/backlinks/anchors` (over-optimization / unnatural anchor mix), `seo/backlinks/competitors` and `seo/backlinks/domain-intersection` (link-gap / outreach list), and `seo/backlinks/history` (link-velocity trend, useful after a traffic drop).

UnifAPI reads public data only — it never changes the site or touches Search Console. Report fixes; the operator's own assistant makes the changes. Keep each response's `billing` block so the report can state record cost.

Workflow

1. **Scope.** Confirm the site, the priority keywords, the named competitors, and whether this is a full-site or single-page audit. (Read `.agents/product-marketing.md` / `.claude/product-marketing.md` / legacy `product-marketing-context.md` first if present, and only ask for what it doesn't cover.) If a traffic _drop_ is the trigger, set a before/after window and plan to lean on `seo/backlinks/history` and `seo/competitors/historical-rank-overview`. 2. **Render the pages.** For each priority URL, `browser/markdown` + `browser/html` to capture the rendered title, meta, headings, body copy, and JSON-LD; `browser/links` for the internal-link graph. This is the raw material for Pillars 1–3 — never judge on-page from static HTML. 3. **Pull rank + competitor reality.** `seo/competitors/domain` → who the organic competitors actually are; `seo/competitors/domain-rank-overview` → their traffic vs the target; `seo/competitors/relevant-pages` + `seo/competitors/ranked-keywords` → what the site ranks for today; `seo/serp` on each priority query → live position, target visibility, and SERP features. Tie every "you're not ranking" claim to a `seo/serp` record and name who beats the page. 4. **Pull the authority profile.** `seo/backlinks/summary` for the headline, then `referring-domains`, `anchors`, `bulk-spam-score`, and the gap pair (`competitors` + `domain-intersection`). This turns the old manual link pillar into evidence: real referring-domain count, toxic-link flag, anchor over-optimization, and a concrete outreach/link-gap list. 5. **Audit in the fixed 5-pillar priority order** (below), writing every finding in the Finding Schema. Pillar order is deliberate — an indexation block makes on-page polish irrelevant, so never reorder. Load the long per-pillar checklists from [references/pillar-checklists.md](references/pillar-checklists.md); load [references/international-seo.md](references/international-seo.md) when the site is multi-locale. 6. **Prioritize into the 4-tier plan.** Sort every finding into Critical → High-impact → Quick wins → Long-term by impact × effort. 7. **Report & hand off.** Produce the structured report (Output). Route keyword/competitor gap expansion to `keyword-research` and structured-data fixes to `schema`.

The 5 Pillars (audit in this priority order)

Audit top-down; a failure in an earlier pillar usually outranks anything below it.

1. **Crawlability & Indexation** — _Can Google find and index it?_ robots.txt, XML sitemap, canonicalization, noindex, redirect chai

Read more
Ships withunifapi

Open-source marketing agents for Claude, ChatGPT, Codex, OpenClaw, Hermes, and any MCP client.

Get the whole plugin

Other skills on unifapi.