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
# 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)
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
Keyword Targets
| Page | Primary Keyword | Secondary Keywords |
|---|---|---|
| Homepage | {{REPLACE}} | {{REPLACE}} |
| ... | ... | ... |
Converted and distributed by TomeVault — claim your Tome and manage your conversions.