SEO Audit

Audit web pages for search engine optimization: meta tags, heading hierarchy, structured data, image optimization, mobile-friendliness, and content quality. Complements SKL-0013 (Growth & Distribution) by validating what was built.

5 stars

Best use case

SEO Audit is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Audit web pages for search engine optimization: meta tags, heading hierarchy, structured data, image optimization, mobile-friendliness, and content quality. Complements SKL-0013 (Growth & Distribution) by validating what was built.

Teams using SEO Audit should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/seo-audit/SKILL.md --create-dirs "https://raw.githubusercontent.com/BasharAmso/Bashi/main/create-bashi-app/template/custom-skills/seo-audit/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/seo-audit/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How SEO Audit Compares

Feature / AgentSEO AuditStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Audit web pages for search engine optimization: meta tags, heading hierarchy, structured data, image optimization, mobile-friendliness, and content quality. Complements SKL-0013 (Growth & Distribution) by validating what was built.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Skill: SEO Audit

## Metadata

| Field | Value |
|-------|-------|
| **Skill ID** | SKL-0032 |
| **Version** | 1.0 |
| **Owner** | builder |
| **Inputs** | HTML/JSX/TSX files, PRD.md, STATE.md |
| **Outputs** | SEO audit report, STATE.md updated |
| **Triggers** | `SEO_AUDIT_REQUESTED` |

---

## Purpose

Audit web pages for SEO readiness after they're built. SKL-0013 (Growth & Distribution) creates landing pages and SEO components; this skill validates that the output is actually optimized for search engines. Catches the gap between "we built a landing page" and "the landing page ranks."

---

## Procedure

### Step 1 — Identify Pages to Audit

Read the project's page/route structure. Prioritize:
1. Landing page / homepage
2. Any page with marketing intent (pricing, features, about)
3. Blog/content pages (if applicable)

### Step 2 — Technical SEO Check

For each page, verify:

| Check | Pass Criteria | Severity |
|-------|--------------|----------|
| `<title>` tag | Present, 50-60 chars, includes target keyword | HIGH |
| `<meta name="description">` | Present, 150-160 chars, compelling CTA | HIGH |
| `<h1>` tag | Exactly one per page, contains primary keyword | HIGH |
| Heading hierarchy | H1 → H2 → H3 (no skipped levels) | MEDIUM |
| `<html lang="">` | Present and correct | MEDIUM |
| Canonical URL | `<link rel="canonical">` present | MEDIUM |
| Open Graph tags | `og:title`, `og:description`, `og:image` present | MEDIUM |
| Twitter Card tags | `twitter:card`, `twitter:title`, `twitter:description` | LOW |
| Viewport meta | `<meta name="viewport">` for mobile | HIGH |
| Robots meta | Not accidentally blocking indexing of public pages | CRITICAL |
| Admin/internal `noindex` | Admin, staging, and internal pages have `noindex` meta or `X-Robots-Tag` header | CRITICAL |

### Step 3 — Content Quality Check

| Check | Pass Criteria | Severity |
|-------|--------------|----------|
| Word count | Landing pages: 300+ words; blog: 800+ words | MEDIUM |
| Keyword presence | Target keyword in title, H1, first 100 words, and meta description | HIGH |
| Image alt text | All `<img>` have meaningful alt text (not empty, not "image") | MEDIUM |
| Internal links | At least 2 internal links per content page | LOW |
| External links | Outbound links use `rel="noopener"` | LOW |
| Structured data | JSON-LD schema markup where appropriate (Organization, Product, FAQ) | MEDIUM |

### Step 4 — Performance Signals

| Check | Pass Criteria | Severity |
|-------|--------------|----------|
| Image optimization | Images use modern formats (WebP, AVIF) or are reasonably sized (<200KB) | MEDIUM |
| Lazy loading | Below-fold images use `loading="lazy"` | LOW |
| Render-blocking resources | Critical CSS inlined or minimal blocking JS | MEDIUM |
| Mobile responsiveness | No horizontal scroll, tap targets ≥44px | HIGH |

### Step 5 — Generate Report

Organize findings by severity. For each issue:
- Page and element affected
- Current state vs. recommended state
- Specific fix (code snippet when possible)

### Step 6 — Update STATE.md

---

## Constraints

- Audits HTML/JSX/TSX output, not runtime behavior (no Lighthouse-style testing)
- Recommendations follow current Google Search guidelines
- Does not write or modify code — provides actionable recommendations
- SEO is a moving target — findings are best-practice guidance, not guarantees

---

## Primary Agent

builder

---

## Definition of Done

- [ ] All target pages identified and audited
- [ ] Technical SEO checks completed (title, meta, headings, OG tags)
- [ ] Content quality checks completed (keywords, alt text, links)
- [ ] Performance signals checked (images, mobile)
- [ ] Each finding has specific fix recommendation
- [ ] STATE.md updated

## Output Contract

| Field | Value |
|-------|-------|
| **Artifacts** | SEO audit report (findings by severity with fix recommendations) |
| **State Update** | `.claude/project/STATE.md` — mark task complete, log pages audited and findings |
| **Handoff Event** | `TASK_COMPLETED` (SEO audit complete) |

Related Skills

Supply Chain Audit

5
from BasharAmso/Bashi

Audit the dependency supply chain for security risks beyond what `npm audit` or `pip audit` catches. Analyzes dependency health, maintainer trust signals, typosquatting risk, and transitive dependency exposure.

Token Audit

5
from BasharAmso/Bashi

Audit the current project for token waste patterns. Produces a Token Health Report with scored findings and actionable fixes. Use this skill when token usage feels high, sessions are hitting limits, or before optimizing costs.

Security Audit

5
from BasharAmso/Bashi

Audit code and dependencies for security vulnerabilities. Use this skill when a security review is requested, including OWASP checks, secrets scanning, and dependency audits.

Friction Audit

5
from BasharAmso/Bashi

Audit user-facing flows for unnecessary friction. Produces a friction report with scored findings and actionable fixes. Use this skill before launch readiness checks, after major UX changes, or when user drop-off is suspected.

Pitch Deck

5
from BasharAmso/Bashi

Create a structured pitch deck outline for investors, stakeholders, or partners. Covers problem, solution, market, traction, team, and ask. Natural output after PRD + Problem Stress Test validation.

Launch Checklist

5
from BasharAmso/Bashi

Pre-launch validation covering everything deployment (SKL-0021) doesn't: analytics, error tracking, social meta, legal pages, email setup, DNS, SSL, and go-live readiness. Produces a launch readiness report with pass/fail checklist. Use this skill before going live on any project.

Insecure Defaults Detection

5
from BasharAmso/Bashi

Detect insecure default configurations, hardcoded credentials, fail-open security patterns, and dangerous default values in application code and configuration files. Complements SKL-0015 (Security Audit) by focusing on configuration-level vulnerabilities that dependency scanners miss.

Differential Security Review

5
from BasharAmso/Bashi

Security-focused review of code changes using git diff analysis. Identifies security implications of recent modifications — new attack surfaces, removed protections, changed auth logic, and risky refactors. Complements SKL-0016 (Code Review) with a security lens on diffs.

Copywriting

5
from BasharAmso/Bashi

Write conversion-focused copy using proven frameworks (AIDA, PAS, BAB). Produces headlines, CTAs, landing page copy, email sequences, and micro-copy. Ensures copy matches brand voice and target audience.

Competitor Analysis

5
from BasharAmso/Bashi

Structured competitor research: features, pricing, positioning, gaps, and differentiation strategy. Feeds into PRD Writing (SKL-0004) and Problem Stress Test (SKL-0027) with better market context.

UX Design

5
from BasharAmso/Bashi

Design user experiences including wireframes, flows, and interaction patterns. Use this skill when UX design work is requested, including onboarding flows and interface layouts.

User Acceptance Testing

5
from BasharAmso/Bashi

Structured QA testing with four modes: diff-aware (auto-scoped to branch changes), full (systematic exploration), quick (30-second smoke test), and regression (compare against baseline). Produces health score, structured reports, and actionable bug lists. Use this skill when UAT is requested or a feature is ready for acceptance testing.