seo

Use when the user wants better search visibility, SEO remediation, schema markup, sitemap/robots work, or keyword mapping — audits and implements technical SEO, on-page optimization, Core Web Vitals, and structured data

8 stars

Best use case

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

Use when the user wants better search visibility, SEO remediation, schema markup, sitemap/robots work, or keyword mapping — audits and implements technical SEO, on-page optimization, Core Web Vitals, and structured data

Teams using seo 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/SKILL.md --create-dirs "https://raw.githubusercontent.com/drvoss/everything-copilot-cli/main/skills/content/seo/SKILL.md"

Manual Installation

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

How seo Compares

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

Frequently Asked Questions

What does this skill do?

Use when the user wants better search visibility, SEO remediation, schema markup, sitemap/robots work, or keyword mapping — audits and implements technical SEO, on-page optimization, Core Web Vitals, and structured data

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.

SKILL.md Source

# SEO

Improve search visibility through technical correctness, performance, and content relevance — not gimmicks.

> **Distinct from [`ai-visibility`](../ai-visibility/SKILL.md):** This skill covers traditional search engine optimization (Google, Bing). `ai-visibility` covers GEO — optimizing for AI crawlers, llms.txt, and AI citation surfaces.

## When to Use

- Auditing crawlability, indexability, canonicals, or redirects
- Improving title tags, meta descriptions, and heading structure
- Adding or validating structured data (JSON-LD)
- Improving Core Web Vitals (LCP, INP, CLS)
- Keyword research and URL-to-keyword mapping
- Planning internal linking or sitemap/robots changes

## Principles

1. Fix technical blockers before content optimization
2. One page — one clear primary search intent
3. Prefer long-term quality signals over manipulative patterns
4. Mobile-first: indexing is mobile-first
5. Recommendations should be page-specific and implementable

## Technical SEO Checklist

### Crawlability

- `robots.txt` allows important pages, blocks low-value surfaces
- No important page is unintentionally `noindex`
- Important pages reachable within shallow click depth
- No redirect chains longer than two hops
- Canonical tags are self-consistent and non-looping

### Indexability

- Preferred URL format is consistent
- Multilingual pages have correct `hreflang` if used
- Sitemaps reflect the intended public surface
- No duplicate URLs without canonical control

### Core Web Vitals targets

| Metric | Target |
|--------|--------|
| LCP (Largest Contentful Paint) | < 2.5s |
| INP (Interaction to Next Paint) | < 200ms |
| CLS (Cumulative Layout Shift) | < 0.1 |

Common fixes: preload hero assets · reduce render-blocking JS · reserve layout space · trim heavy third-party scripts

## On-Page Rules

### Title tags

- ~50–60 characters
- Primary keyword/concept near the front
- Legible to humans first

### Meta descriptions

- ~120–160 characters
- Honest description of the page
- Include main topic naturally

### Heading structure

- One clear `H1` per page
- `H2`/`H3` reflect actual content hierarchy
- Do not skip levels for visual styling

## Structured Data

| Page type | Schema type |
|-----------|-------------|
| Homepage | `Organization` or `LocalBusiness` |
| Blog/article | `Article` or `BlogPosting` |
| Product page | `Product` + `Offer` |
| Interior nav | `BreadcrumbList` |
| Q&A sections | `FAQPage` (only when content truly matches) |

```json
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Page Title Here",
  "author": { "@type": "Person", "name": "Author Name" },
  "publisher": { "@type": "Organization", "name": "Brand Name" }
}
```

## Keyword Mapping

1. Define the search intent
2. Gather realistic keyword variants
3. Prioritize by intent match, value, and competition
4. Map one primary keyword/theme to one URL
5. Detect and avoid keyword cannibalization

## Audit Output Format

```text
[HIGH] Duplicate title tags on product pages
Location: src/routes/products/[slug].tsx
Issue: Dynamic titles collapse to the same default string.
Fix: Generate unique titles using product name + primary category.

[MEDIUM] Missing structured data on blog posts
Location: src/routes/blog/[slug].tsx
Issue: No Article schema — missing potential rich snippet eligibility.
Fix: Add JSON-LD BlogPosting schema with headline, author, datePublished.
```

## Anti-Patterns

| Anti-pattern | Fix |
|-------------|-----|
| Keyword stuffing | Write for users first |
| Thin near-duplicate pages | Consolidate or differentiate |
| Schema for content that doesn't match | Remove or align content |
| `noindex` on indexable pages | Audit robots meta tags |
| Missing canonical on paginated series | Add canonical pointing to series root |

## See Also

- [ai-visibility](../ai-visibility/SKILL.md) — GEO optimization for AI crawlers and llms.txt
- [content-strategy](../content-strategy/SKILL.md) — keyword research, topic clusters, content calendar

Related Skills

verification-before-completion

8
from drvoss/everything-copilot-cli

Use before claiming any task is done — run the exact command that proves the fix works, read the output, and only then report success.

using-git-worktrees

8
from drvoss/everything-copilot-cli

Use when you need multiple branches checked out at once — create isolated working directories for parallel development without cloning the repository repeatedly

triage

8
from drvoss/everything-copilot-cli

Use when a single issue needs structured triage — classify it, reproduce if needed, request missing information, and leave a durable brief or close-out note in the tracker.

to-issues

8
from drvoss/everything-copilot-cli

Use when a plan, spec, or PRD must become an actionable backlog — break it into thin dependency-aware issues that each deliver a verifiable vertical slice

sprint-workflow

8
from drvoss/everything-copilot-cli

Use when starting a new feature, refactor, or multi-step dev task — runs the full sprint cycle (Think → Plan → Build → Review → Test → Ship → Monitor) using Copilot CLI's plan/autopilot modes.

sprint-retro

8
from drvoss/everything-copilot-cli

Use at the end of a sprint to run a data-driven retrospective — analyzes session history and git metrics to surface what shipped, what slowed you down, and concrete improvements.

security-audit

8
from drvoss/everything-copilot-cli

Use when a codebase needs a formal security audit beyond a quick scan — applies OWASP Top 10 and STRIDE threat modeling from a CSO perspective to surface systemic vulnerabilities.

release

8
from drvoss/everything-copilot-cli

Use when a sprint or feature is complete and ready to ship — tags the version, generates GitHub Release notes, runs rollout or smoke verification, and publishes to npm/PyPI/Docker registries.

prompt-optimizer

8
from drvoss/everything-copilot-cli

Use when a rough prompt, vague idea, or task description needs to become a finished copy-pasteable prompt for a chat-based LLM - rewrite it into one ready-to-send prompt with no blanks, no placeholders, and a clear output shape.

outside-voice

8
from drvoss/everything-copilot-cli

Use when you need an independent second opinion before, during, or after implementation — run challenge, consult, or review mode in a direct builder-to-builder voice

llm-wiki

8
from drvoss/everything-copilot-cli

Use when research or domain knowledge keeps getting rediscovered across sessions — build a supplementary markdown wiki that compounds synthesized knowledge without replacing GitHub or committed project guidance

interview-me

8
from drvoss/everything-copilot-cli

Use when a request is underspecified and you need to discover what the user actually wants before writing a plan, spec, or code - ask one question at a time, attach your current hypothesis, and stop only after the intent is explicitly confirmed.