---
name: seo-on-page-audit
description: |
  On-page SEO analyzer for meta tags, headings, links, images, and Open Graph.
  Triggers: on-page SEO, meta tags, title tag, heading structure, alt text.
---

# SEO On-Page Audit

## Purpose

Analyze single-page SEO elements: meta tags, heading hierarchy, internal/external links, images, and social sharing tags.

## Core Capabilities

1. **Meta Tags** - Title, description, canonical, robots
2. **Headings** - H1-H6 structure and hierarchy
3. **Links** - Internal, external, broken detection
4. **Images** - Alt text, sizing, lazy loading
5. **Social** - Open Graph, Twitter Cards

## MCP Tool Usage

```
mcp__firecrawl__scrape: Extract page HTML and metadata
mcp__perplexity__search: Research SEO best practices
mcp__notion__create-page: Save audit findings
```

## Workflow

1. Scrape target URL with Firecrawl
2. Extract and analyze meta tags
3. Map heading hierarchy
4. Count and categorize links
5. Check image optimization
6. Validate Open Graph tags
7. Generate recommendations

## Checklist

### Meta Tags
- [ ] Title present (50-60 characters)
- [ ] Meta description present (150-160 characters)
- [ ] Canonical URL set
- [ ] Robots meta allows indexing

### Headings
- [ ] Single H1 tag
- [ ] Logical hierarchy (no skips)
- [ ] Keywords in H1

### Links
- [ ] No broken internal links
- [ ] External links use rel attributes
- [ ] Reasonable internal link count

### Images
- [ ] All images have alt text
- [ ] Images are appropriately sized
- [ ] Lazy loading implemented

### Open Graph
- [ ] og:title present
- [ ] og:description present
- [ ] og:image present (1200x630)

## Output Format

```markdown
## On-Page Audit: [URL]

### Meta Tags: X/5
| Element | Status | Value |
|---------|--------|-------|

### Headings: X/5
- H1: [text]
- Hierarchy: Valid/Invalid

### Links
- Internal: X
- External: X
- Broken: X

### Recommendations
1. [Priority fixes]
```

## Limitations

- Single page analysis only
- Cannot detect JavaScript-rendered content issues
- External link status requires additional crawl

## Notion Output (Required)

All audit reports MUST be saved to OurDigital SEO Audit Log:
- **Database ID**: `2c8581e5-8a1e-8035-880b-e38cefc2f3ef`
- **Properties**: Issue (title), Site (url), Category, Priority, Found Date, Audit ID
- **Language**: Korean with English technical terms
- **Audit ID Format**: [TYPE]-YYYYMMDD-NNN

