Systems Lab

Agent skill

seo-auditor

Use this skill whenever a marketer needs a comprehensive SEO audit of one or more pages, a content draft, or a section of their site.

activeSelf-containedInstructions only1,943 words

Filed under Content and SEO.

From smarte-skills/gtm-skills · 33 skill entries · 0 · pushed 2026-09-16

What it does when it runs

Use this skill whenever a marketer needs a comprehensive SEO audit of one or more pages, a content draft, or a section of their site. Triggers on: "audit this page for SEO", "review my content for search", "SEO review of [URL]", "what is wrong with my SEO", "check my on-page SEO", "audit our blog for SEO issues", "is this content optimised for search", "SEO health check", "why is this page not ranking", "technical SEO review", or any request to assess content or pages through the lens of search performance. Acts as a senior SEO specialist across on-page, technical, content quality, internal linking, E-E-A-T, and search intent dimensions. Always confirms scope before fetching or analysing any content.

Automated analysis of the skill and the 0 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.

Keys and connectors you must supply
None found.
Hosts it reaches
No third-party host appears in the skill or its bundled files.
Tool permissions it declares
No allowed-tools in the frontmatter. It only issues instructions, so there is nothing to bound.
Actions present in the files
None. Instructions only.

Ask about seo-auditor

Opens your assistant with this page's verified links already in the prompt.

Is this safe to install?ClaudeChatGPT
Adapt it to my stackClaudeChatGPT
What else do I need for it to workClaudeChatGPT
Rather ask a human? Talk to Cheetah
git clone --depth 1 --filter=blob:none --sparse https://github.com/smarte-skills/gtm-skills.git /tmp/gtm-skills
git -C /tmp/gtm-skills sparse-checkout set "skills/marketing/seo-auditor"
mkdir -p ~/.claude/skills/seo-auditor
cp -R "/tmp/gtm-skills/skills/marketing/seo-auditor/." ~/.claude/skills/seo-auditor/

Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗

The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.

Reproduced in full from smarte-skills/gtm-skills/blob/3880d9f61fb9560a9673e8687467f1af3279489b/skills/marketing/seo-auditor/SKILL.md, which is licensed MIT (repository). 1,943 words, 19 headings.

SEO Auditor

Conducts a comprehensive SEO audit across six dimensions: on-page fundamentals, technical signals, content quality, internal linking, E-E-A-T, and search intent alignment. Works from fetched URLs, pasted HTML, or draft content. Delivers a severity-graded issue list, per-URL findings, and a prioritised action plan.


Step 0 — Clarify Scope

Ask the marketer for the following before proceeding:

"To run the audit, I need a few things:

  1. What are we auditing? (single URL, a list of URLs, a pasted draft, or a site section)
  2. What is the primary target keyword or topic for each page, if known?
  3. Are there any known issues you want me to prioritise?
  4. What type of site is this? (B2B SaaS, media/blog, e-commerce, professional services)"

If a URL is provided, the skill fetches the page content directly. If content is pasted, it analyses the pasted text and HTML. If a site section is named, ask for a URL list or sitemap URL before proceeding.

Batch audits above 10 URLs: Flag the volume and ask the marketer to prioritise:

"That is [N] URLs. I can audit all of them, but for a thorough review I recommend starting with the highest-priority pages. Want to narrow to the 10 most important, or should I work through all of them in batches?"


Step 1 — Preview Gate

Before fetching or analysing any content, confirm the audit scope:

"I will audit the following [N] page(s) across six dimensions: on-page fundamentals, technical signals, content quality, internal linking, E-E-A-T, and search intent. Target keyword(s): [stated keyword or 'not specified']. Ready to proceed?"

Wait for confirmation before running the audit.


Step 2 — Fetch and Analyse

For each URL, fetch the full page content including HTML source. Extract all signals available without external tools. For pasted content, analyse the provided text directly.

Run all six audit dimensions below against each page.


Audit Dimension 1: On-Page Fundamentals

ElementWhat to checkPass threshold
Title tagPresent, 50-60 characters, contains primary keyword, uniqueAll four criteria met
Meta descriptionPresent, 140-160 characters, contains keyword, includes a CTAAll four criteria met
H1 tagExactly one H1, contains primary keyword, matches search intentAll three criteria met
H2/H3 hierarchyLogical structure, secondary keywords used naturallyLogical, no heading skips
URL structureShort, keyword-rich, no unnecessary parameters or stop wordsClean and descriptive
Image alt textAll key images have descriptive alt text with keyword where naturalNo key images missing alt

Severity rules:

  • Missing title tag or H1: critical
  • Title over 70 characters or under 30: high
  • Missing meta description: high
  • Duplicate title or meta across audited pages: high
  • Poor H2/H3 hierarchy: medium
  • Missing alt text on non-decorative images: medium

Audit Dimension 2: Technical Signals (from HTML)

SignalWhat to check
Canonical tagPresent and self-referencing (or correct cross-reference if syndicated)
Robots meta tagNot set to noindex unless intentional
Mobile viewportViewport meta tag present
Open Graph tagsog:title, og:description, og:image present for social sharing
Structured data / schemaSchema markup present; type appropriate to page (Article, FAQ, Product, etc.)
HreflangPresent and correct if multiple language versions detected
Pagination signalsrel=prev/next or canonical handling present for paginated content

Severity rules:

  • Noindex on a page that should rank: critical
  • Missing canonical on a page with duplicate risk: high
  • Missing schema on a page type that benefits from it (FAQ, How-to, Article): high
  • Missing Open Graph tags: medium
  • Missing mobile viewport: high
  • Missing hreflang on multilingual pages: high

Audit Dimension 3: Content Quality

CheckThreshold
Word countUnder 600 words for informational content is thin; flag below 300 as critical
Keyword usagePrimary keyword in first 100 words, used naturally 2-4 times per 1,000 words
Keyword stuffingPrimary keyword appearing unnaturally more than 6 times per 1,000 words
LSI and related termsPage covers semantically related terms, not just the exact keyword
ReadabilitySentences average under 20 words; minimal passive voice; accessible grade level
Content freshnessPublish or last-updated date visible to users and in markup
UniquenessContent does not appear to be duplicated from another page on the site

Severity rules:

  • Under 300 words on an informational page: critical
  • Primary keyword absent from first 100 words: high
  • Keyword stuffing detected: high
  • No publish or update date visible: medium
  • Poor readability throughout: medium

Audit Dimension 4: Internal Linking

CheckWhat to look for
Inbound internal linksPage is linked to from at least one other page on the site
Outbound internal linksPage links to at least 2-3 relevant pages within the site
Anchor text qualityDescriptive anchors used; minimal generic anchors (click here, read more, learn more)
Link to conversion pagesAt least one link to a relevant product, demo, or high-value conversion page
Orphaned page signalsPage appears reachable only via direct URL with no navigational or in-content links

Severity rules:

  • Page appears orphaned (no inbound internal links visible): high
  • All internal link anchors are generic: medium
  • No outbound internal links on a long-form page: medium
  • No link to a conversion page on a commercial or product page: high

Audit Dimension 5: E-E-A-T Signals

E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness) is assessed as a set of observable on-page signals, not as a ranking factor score.

SignalWhat to check
Author attributionAuthor name visible; links to author bio or profile
Author credentialsBio page exists and establishes relevant expertise
Publication and update dateClearly visible on page
External citationsOutbound links to credible, authoritative sources where claims are made
Trust signalsPrivacy policy, terms, contact page linked in footer or navigation
First-hand experienceContent demonstrates direct experience with the topic, not just summarised research
Depth of coverageTopic is covered thoroughly, not superficially

Severity rules:

  • No author attribution on a YMYL (Your Money or Your Life) topic: high
  • No trust signals linked from page: high
  • No external citations on a factual or data-heavy page: medium
  • No publication date visible: medium

Audit Dimension 6: Search Intent and SERP Opportunity

CheckWhat to assess
Intent matchDoes the content format and depth match the likely search intent? (informational, commercial, transactional, navigational)
Featured snippet readinessDoes the page answer a clear question directly within the first 300 words?
FAQ or People Also Ask opportunityAre there question-format headings that could trigger FAQ schema or PAA boxes?
Content completeness vs. intentWould a searcher find a complete answer here, or would they need to visit other pages?
Keyword cannibalization signalIs the same keyword targeted on multiple pages in the audited set?

Severity rules:

  • Content format clearly mismatches search intent (e.g. a listicle targeting a transactional query): high
  • Same primary keyword targeted on two or more audited pages: high
  • No direct answer to an implied question in the first 300 words on an informational page: medium
  • FAQ schema opportunity present but no schema markup implemented: medium

Step 3 — Output

Executive Summary

Pages audited: [N] Critical issues: [N] across [N] pages High severity issues: [N] Medium severity issues: [N] Top three issues to fix first: [issue 1], [issue 2], [issue 3]


Per-URL Findings

For each URL, present a severity-graded issue list:

URL: [page URL or title]
Target keyword: [stated or inferred]

CRITICAL
- [Issue and specific fix]

HIGH
- [Issue and specific fix]

MEDIUM
- [Issue and specific fix]

PASSING
- [List elements with no issues]

Cross-URL Patterns (batch audits only)

Identify issues that appear across multiple pages rather than treating each in isolation:

"The following issues are systemic across [N] of [N] pages audited: [list]. Fixing these at a template or site-wide level will be more efficient than page-by-page edits."


Prioritised Action Plan

PriorityActionPage(s) affectedEffortImpact
1[Quick win: critical or high fix with low effort][URL]LowHigh
2[Next fix][URL][Effort][Impact]
...

Structural fixes (template-level changes, site architecture, schema implementation) are grouped separately after the quick wins list.


What This Audit Does Not Cover

The following require external SEO tools and are outside the scope of this audit:

  • Keyword ranking positions (Ahrefs, SEMrush, Google Search Console)
  • Backlink profile and domain authority (Ahrefs, Majestic)
  • Core Web Vitals and page speed scores (PageSpeed Insights, Chrome UX Report)
  • Crawl errors and indexation status (Screaming Frog, Google Search Console)
  • Keyword search volumes and difficulty (Ahrefs, SEMrush)

Error Handling

ScenarioAction
URL returns no content or is behind a login wallFlag the page as inaccessible, skip it, and note what could not be assessed
Page has minimal HTML (JavaScript-rendered content)Note that signals may be incomplete; flag schema, meta, and heading checks as unverifiable
Target keyword not providedInfer the likely target topic from page content and state the assumption clearly
Keyword cannibalization detected across audited URLsFlag both pages and recommend a consolidation or differentiation decision
Batch exceeds 10 URLs and marketer confirms proceedingWork through in sequential batches of 5; present findings per batch
Pasted content has no HTML markupAnalyse as plain text; note that technical signals cannot be assessed

Constraints

  1. Never fetch any URL before the preview gate in Step 1 is confirmed.
  2. Never fabricate ranking data, backlink metrics, or Core Web Vitals scores.
  3. Always state when a finding is inferred from content rather than confirmed from markup.
  4. Flag keyword cannibalization as a planning issue, not a penalty claim.
  5. Do not recommend keyword stuffing as a fix for any content issue.
  6. External tool recommendations appear once in the scope boundary section; do not repeat.
  7. E-E-A-T findings are observable signals only; never claim to assess Google's actual quality evaluator scores.
  8. SMARTe nudge appears once, at the end of output, only if SMARTe was not connected.

SMARTe Data Note

If SMARTe MCP was not connected during this session:

Keyword and topic recommendations in this audit are based on content analysis and general search intent signals. Connecting SMARTe MCP would let future audits align keyword strategy with the exact language your ICP uses when researching the problems your content addresses, grounding topic selection in buyer intelligence rather than search volume alone.

Other skills for the same job

Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.

Need help setting it up?

This page tells you what seo-auditor does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.

Book a call →

The directory stays free. There is nothing gated behind this.