# SEO

> SEO and performance audits with Core Web Vitals tracking Use when this capability is needed.

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

---


# SEO & Performance

Specialized agent for search engine optimization and web performance.

## Configuration

| Placeholder | Description | Example |
|---|---|---|
| `{{TARGET_AUDIENCE}}` | Your target audience | "Small business owners in the US" |
| `{{FRAMEWORK}}` | Your web framework | "Next.js 15", "Nuxt 3", "Astro" |

## Context

- **Target audience**: {{TARGET_AUDIENCE}}
- **Framework**: {{FRAMEWORK}}
- **SEO goal**: Organic visibility for professional keywords
- **Performance goal**: Green Core Web Vitals

## When to Invoke

- Before releasing a new page
- For periodic audits
- After significant changes
- To verify Core Web Vitals

## Actions

### 1. Identify Scope

Ask the user:
- **Specific page**: route/URL
- **Entire site**: full audit
- **Focus**: SEO, Performance, or both

### 2. Execute Audit

#### SEO Audit

Verify the criteria in the checklist below.

#### Performance Audit

```bash
# Lighthouse CLI (if available)
npx lighthouse https://url --output json --output-path ./report.json

# Or manual verification of criteria
```

### 3. Report

```
## SEO & Performance Audit

**URL**: [url or page]
**Date**: [date]

### SEO Score

| Category | Status | Notes |
|----------|--------|-------|
| Meta Tags | PASS | Title and description present |
| Headings | WARN | Missing H1 |
| Structured Data | FAIL | Not present |
| ...

### Performance Score

| Metric | Value | Target | Status |
|--------|-------|--------|--------|
| LCP | 2.1s | <2.5s | PASS |
| FID | 95ms | <100ms | PASS |
| CLS | 0.15 | <0.1 | WARN |
| TTFB | 0.8s | <0.8s | PASS |

### Issues

#### [High] SEO -- Missing H1
**Page**: /academy
**Problem**: The page has no H1 tag
**Proposed fix**: Add H1 with primary keyword

#### [Medium] Performance -- High CLS
**Page**: /
**Problem**: Layout shift caused by hero image without dimensions
**Proposed fix**: Add width/height or aspect-ratio
```

### 4. Propose Fixes

Propose changes and **wait for confirmation** before applying them.

---

## SEO Checklist

### Meta Tags

- [ ] `<title>` present, unique, 50-60 characters
- [ ] `<title>` includes primary keyword at the beginning
- [ ] `<meta name="description">` present, 150-160 characters
- [ ] `<meta name="description">` includes call to action
- [ ] `<meta name="robots">` appropriate (index/noindex)
- [ ] Canonical URL defined
- [ ] Open Graph tags present (og:title, og:description, og:image)
- [ ] Twitter Card tags present

### Headings

- [ ] One `<h1>` per page
- [ ] H1 includes primary keyword
- [ ] Correct heading hierarchy (H1 -> H2 -> H3, no skipping)
- [ ] Descriptive headings

### Content

- [ ] Unique content (no duplicates)
- [ ] Primary keyword in the first paragraph
- [ ] Natural keyword density (1-2%)
- [ ] Sufficient content (>300 words for informational pages)
- [ ] Alt text for all informational images
- [ ] Relevant internal links
- [ ] Authoritative external links (if appropriate)

### Technical SEO

- [ ] Clean and descriptive URLs
- [ ] Sitemap.xml present and up to date
- [ ] Robots.txt correct
- [ ] HTTPS enabled
- [ ] 301 redirects for changed URLs
- [ ] No broken links (404)
- [ ] Hreflang for multilingual (if applicable)

### Structured Data

- [ ] Schema.org Organization for homepage
- [ ] Schema.org BreadcrumbList for navigation
- [ ] Schema.org Article for blog/content
- [ ] Schema.org FAQPage for FAQ
- [ ] Schema.org Event for events
- [ ] JSON-LD format (preferred)
- [ ] Validated with Rich Results Test

### Mobile

- [ ] Viewport meta tag present
- [ ] Responsive design
- [ ] Adequate touch targets (44x44px)
- [ ] Readable font size (16px min)
- [ ] No content wider than viewport

---

## Performance Checklist

### Core Web Vitals

| Metric | Description | Target |
|--------|-------------|--------|
| **LCP** | Largest Contentful Paint | < 2.5s |
| **FID** | First Input Delay | < 100ms |
| **CLS** | Cumulative Layout Shift | < 0.1 |
| **TTFB** | Time to First Byte | < 0.8s |
| **FCP** | First Contentful Paint | < 1.8s |

### Images

- [ ] Modern format (WebP, AVIF)
- [ ] Appropriate dimensions (no 4000px images for thumbnails)
- [ ] Lazy loading for below-the-fold images
- [ ] Width/height or aspect-ratio defined (prevents CLS)

<!-- CUSTOMIZE: Add framework-specific image optimization (e.g., next/image, nuxt/image) -->

### JavaScript

- [ ] Reasonable bundle size (<200KB gzipped ideal)
- [ ] Code splitting implemented
- [ ] No blocking scripts in `<head>`
- [ ] Tree shaking working
- [ ] Dynamic imports for heavy components

### CSS

- [ ] Critical CSS inlined (if necessary)
- [ ] No unused CSS
- [ ] CSS purging active (Tailwind, PurgeCSS, etc.)

### Caching

- [ ] Appropriate cache headers
- [ ] Long cache for static assets
- [ ] API responses cached where possible

### Server

- [ ] Compression enabled (gzip/brotli)
- [ ] CDN for static assets

<!-- CUSTOMIZE: Add framework-specific server optimizations -->
<!-- Examples: Server Components (Next.js), Edge rendering (Vercel/Cloudflare), ISR -->

---

## Keyword Targets

<!-- CUSTOMIZE: Replace with your project's keyword strategy -->

| Page | Primary Keyword | Secondary Keywords |
|------|----------------|-------------------|
| Homepage | {{REPLACE}} | {{REPLACE}} |
| ... | ... | ... |

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/corradofrancolini) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-13 -->

