# Creo SEO

> Next.js SEO + GEO specialist. Full 7-phase audits covering technical SEO, content quality with AI-pattern detection, build validation, live Core Web Vitals, AI search readiness (citability, llms.txt, 14 AI crawlers), schema deprecation sweep, and composite scoring. Auto-builds per-project cached profile for faster repeat audits. Also runs the ongoing SEO operation: closed-loop GSC autofix with allowlist and ledger, coverage triage, semantic-core prioritization, weekly rank + LLM-citability monitoring, freshness guards, and off-page authority planning. Trigger keywords: SEO audit, technical SEO, structured data, meta tags, schema markup, core web vitals, sitemap, hreflang, LLMO, GEO, citability, llms.txt, AI crawlers, Search Console, GSC, indexation, coverage, semantic core, rank tracking.

- Skill: `oyusypenko/creo-seo` (Agent Skill, multi-file: 23 files)
- Install (CLI): `npx skillmds@latest add oyusypenko/creo-seo`
- Raw SKILL.md: https://api.skillmd.com/api/skills/oyusypenko/creo-seo/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Marketing & Growth
- Author: oyusypenko (https://skillmd.com/u/oyusypenko)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/oyusypenko/creo-seo

---


# creo-seo — Next.js SEO + GEO specialist

Elite SEO specialist for Next.js applications. Covers technical SEO auditing, AI search optimization (LLMO/GEO), content E-E-A-T compliance, Core Web Vitals, schema deprecation awareness, citability scoring, and llms.txt generation.

## Commands

| Command | What it does |
|---------|-------------|
| `/creo seo onboard <url>` | **Main lifecycle command** — audit, implementation plan, guided GSC/Bing configuration, monitoring + autofix scaffold, standing cadence. See `references/seo-onboarding.md`. |
| `/creo seo plan <url>` | Analyze + produce a prioritized implementation plan (Problem/Fix/Verify, DEV/YOU tags, phased forecast) without the setup stages |
| `/creo seo init` | Scan codebase and write cached project profile to `.claude/skills/creo-seo/creo-seo-{project_id}.md`. Run this first. |
| `/creo seo audit <url>` | **Main full-site audit** — runs all 7 phases, produces markdown + JSON report |
| `/creo seo audit --brief <url>` | Fast audit: Technical + Build + Live + Scoring only |
| `/creo seo technical <url>` | Phase 1 + 3 + 4 — codebase/build/live tech checks |
| `/creo seo content <url>` | Phase 2 — content quality, E-E-A-T, AI-pattern detection |
| `/creo seo schema [<url>]` | Schema audit: generation, deprecation, validation |
| `/creo seo sitemap` | Sitemap audit + generation recommendations |
| `/creo seo citability <url>` | Passage-level AI citability score + rewrite priorities |
| `/creo seo llms-txt [--generate]` | Validate existing `/llms.txt` or generate new one |
| `/creo seo crawlers [--fix]` | Audit robots.txt for 14 AI crawlers; optionally rewrite |
| `/creo seo compare <old.md> <new.md>` | Delta between two prior audits |
| `/creo seo autofix [--dry-run]` | Closed-loop GSC remediation: detect, allowlisted fix, verify, notify, ledger (needs gsc-analyzer extension) |
| `/creo seo triage <bucket>` | Triage a GSC coverage bucket: expected vs concern, direction over level |
| `/creo seo semantic-core` | Build/refresh the focused query core with noise filtering and P0-P3 priorities |
| `/creo seo freshness` | Audit freshness signals: lastmod/dateModified divergence, year-staleness |
| `/creo seo offpage` | Off-page authority plan: directories, LLM citation slots, trust-killer sweep |
| `/creo seo weekly [--setup]` | Read the latest weekly snapshot, or scaffold the weekly monitoring workflow |
| `/creo seo page-rules` | Generate a project-scoped `.claude/rules/seo-page-rule.md` for page-creation-time enforcement |

## Core instructions

### Configuration

1. Check for `.claude/project-config.md`. Read: `project_id`, `project_url`, `dev_server_url`, `locales`, `seo` settings, `reports_path`.
2. Load project profile if it exists: `.claude/skills/creo-seo/creo-seo-{project_id}.md`. This file caches page inventory, detected stack, and prior findings. Always prefer it over rescanning.
3. If project profile is missing, auto-run init logic (`/creo seo init`) as Phase 1 of the audit.
4. If project profile is stale (>30 days OR `package.json`/`next.config.*` modified since), flag as stale and refresh.

### Expertise areas

- **Next.js SEO** — App Router + Pages Router, static + dynamic, SSR/SSG/ISR
- **Internationalization** — hreflang in sitemap, `alternates.languages`, x-default
- **E-E-A-T** — Experience/Expertise/Authoritativeness/Trustworthiness alignment
- **AI Search (GEO)** — Google AI Overviews, ChatGPT, Perplexity, Gemini, Copilot
- **Core Web Vitals** — LCP, INP, CLS (INP replaced FID March 2024)
- **Structured Data** — JSON-LD with deprecation awareness (HowTo, FAQPage, SpecialAnnouncement)
- **Citability** — passage-level AI-citation likelihood scoring
- **AI Crawlers** — 14-bot matrix, allow/block strategy

### 7-phase audit pipeline

1. **Codebase audit** — page inventory, meta coverage, schema detection, i18n, images, links
2. **Content quality** — humanity score, specificity, structure, SEO, readability (delegate to `creo-seo-content` agent if available)
3. **Build audit** — `npm run build`, output validation, sitemap coverage
4. **Live site audit** — DOM meta check, CWV field data, rendering, security, redirects
5. **AI search readiness** — citability scoring, AI crawler access, llms.txt, brand entity signals
6. **Schema deprecation & validation sweep** — 10 validation rules
7. **Composite scoring + report** — 8-dimension weighted score, letter grade, revenue impact

See the agent file for phase-by-phase details.

### Default composite score weights

```
Technical SEO      22%
Content Quality    20%
On-Page SEO        15%
Schema             10%
Core Web Vitals    10%
AI Search          12%
Images              5%
Sitemap / robots    6%
```

Weights adjust per business type (SaaS, e-commerce, agency, local, creator, marketplace).

### Schema templates by page type

| Page type | Primary | Complementary |
|-----------|---------|---------------|
| Homepage | Organization + WebSite | sameAs, SearchAction |
| Product | Product | Offer, AggregateRating, Review |
| Pricing | SoftwareApplication / Offer catalog | — |
| Blog post | BlogPosting | Person, BreadcrumbList |
| Local | LocalBusiness (+subtype) | PostalAddress, GeoCoordinates |
| Event | Event | Offer, Place |
| Course | Course | CourseInstance |
| Job | JobPosting | — |
| Video | VideoObject | — |

Full catalog of 23 types: see `references/schema-templates.md`.

### Meta tag requirements (every page)

- `<title>` — unique, 30–60 chars
- `<meta name="description">` — unique, 140–160 chars
- `<link rel="canonical">` — absolute HTTPS URL
- Open Graph: title, description, image, type, url
- Twitter Card: card, title, description, image
- For i18n sites: `alternates.languages` + x-default

### AI crawler defaults

Allow by default (see `references/ai-crawlers.md` for full matrix):
- Tier 1: GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, PerplexityBot
- Tier 2: Google-Extended, GoogleOther, Applebot-Extended, Amazonbot, FacebookBot

Block: Bytespider (aggressive, low Western value).

### Report output

Save to `{reports_path}/seo-audit-{YYYYMMDD}-{HHMM}.md` + sibling `.json`. See `references/audit-report-template.md`.

Default `reports_path`: `.claude/reports/seo/`.

## Reference library

Loaded on demand based on command / phase:

| File | Purpose |
|------|---------|
| `references/project-profile-template.md` | What `/creo seo init` writes |
| `references/audit-report-template.md` | What `/creo seo audit` writes |
| `references/scoring-rubric.md` | Composite score formulas + weights + business-type adjustments |
| `references/schema-templates.md` | 23 JSON-LD templates + deprecation calendar + Next.js helpers |
| `references/schema-validation-checklist.md` | 10 pre-publish schema rules |
| `references/sitemap-patterns.md` | Native + next-sitemap, dynamic, i18n, news/image/video, index splitting |
| `references/ai-crawlers.md` | 14-bot matrix + robots.txt templates + Next.js `app/robots.ts` |
| `references/llms-txt-generator.md` | Spec, sections, validation, scoring, Next.js generator |
| `references/geo-citability.md` | 5-dimension passage scoring + 134-167w window + multipliers |
| `references/content-quality-rubric.md` | 5-dimension content score + page-type word-count gates |
| `references/ai-pattern-detection.md` | 26 AI phrases, 24 vague words, specificity/conversational boosters |
| `references/internal-linking-recipe.md` | Link-per-page gates, anchor strategy, cluster model, Next.js patterns |
| `references/gsc-autofix-loop.md` | Closed-loop GSC remediation: fix allowlist, anti-thrash ledger, run sequence |
| `references/coverage-triage.md` | Reading GSC indexing buckets: expected vs concern, direction over level |
| `references/deploy-verification.md` | Edge-vs-origin checks, redirect assertions, canaries, validation windows |
| `references/semantic-core.md` | Focused query core: noise filtering, P0-P3, opportunity buckets, trend labels |
| `references/freshness-signals.md` | git-mtime as single source of truth, year policy, staleness CI guard |
| `references/page-seo-rules.md` | Page-creation-time SEO rules (metadata vs JSON-LD, route enums, checklists) |
| `references/seo-program-conventions.md` | DEV/YOU tags, Problem/Fix/Verify, changelogs, repeat-audit reports |
| `references/indexation-runbook.md` | Hypothesis-branch template for missing/unindexed route families |
| `references/offpage-authority.md` | Directory playbook, LLM citation slots, trust-killer sweep, Bing coverage |
| `references/seo-onboarding.md` | `/creo seo onboard` lifecycle: audit -> plan -> GSC setup -> monitoring cadence |

## Quality gates

- Every finding includes exact file path + line number + concrete fix
- Issues prioritized by business impact
- Validation steps provided per fix
- All recommendations use project profile context
- Reports saved to disk, never console-only
- Every indexable page must have unique title + meta description
- JSON-LD must validate against `schema-validation-checklist.md`
- Sitemap must include every indexable page from inventory

## Operations mode (Search Console lifecycle)

Beyond point-in-time audits, this skill runs an ongoing SEO operation when the
`gsc-analyzer` extension is installed (`extensions/gsc-analyzer/` — scripts,
templates, GSC API reference, UI automation):

- **Autofix** (`/creo seo autofix`) — the weekly closed loop per
  `references/gsc-autofix-loop.md`: detect via budgeted URL inspection, fix
  only allowlisted issue classes, verify live at origin AND edge
  (`references/deploy-verification.md`), notify Google, track everything in
  an anti-thrash ledger. Judgment-shaped issues become GitHub issues, never
  edits.
- **Triage** (`/creo seo triage`) — before fixing anything from a coverage
  report, apply `references/coverage-triage.md`: many buckets are expected
  canonicalization behavior, most 404/redirect rows self-heal, direction
  matters more than level.
- **Monitoring** (`/creo seo weekly`) — weekly rank-history snapshot on the
  focused core, optional Bing merge and LLM-citability tracking, year-
  staleness check, delivered as a PR (extension `templates/seo-weekly.yml`).
- **Semantic core** (`/creo seo semantic-core`) — per
  `references/semantic-core.md`, with the per-project taxonomy in
  `seo-site-config.json` (extension template).

Without the extension, the operational commands still work in degraded mode:
the skill reads exported CSVs, runs curl-based verification, and produces the
same reports manually.

## Companion skill

For deep content-only audits without running the full pipeline, route to `creo-seo-content` skill/agent (same repo). It reuses this skill's `content-quality-rubric.md`, `ai-pattern-detection.md`, and `internal-linking-recipe.md` refs.

