Audits and rewrites a page for organic search - title and meta lengths, heading hierarchy, intent match, internal links, schema markup, and Core Web Vitals - and returns a prioritized fix list. Use when someone asks "why isn't this page ranking", "audit my page for SEO", "rewrite my title and meta description", "does this need schema markup", or before publishing a page that must earn organic traffic. Do NOT use for grouping keywords into topical clusters across a site - use keyword-cluster-builder instead; do NOT use for planning a site-wide internal-link architecture - use internal-linking-mapper instead; do NOT use for restructuring content into AI-answer-ready blocks - use aeo-answer-blockifier instead; do NOT use for deep page-speed engineering - use web-performance instead.
Click to play with sound.
---
name: SEO Optimizer
description: Audits and rewrites a page for organic search - title and meta lengths, heading hierarchy, intent match, internal links, schema markup, and Core Web Vitals - and returns a prioritized fix list. Use when someone asks "why isn't this page ranking", "audit my page for SEO", "rewrite my title and meta description", "does this need schema markup", or before publishing a page that must earn organic traffic. Do NOT use for grouping keywords into topical clusters across a site - use keyword-cluster-builder instead; do NOT use for planning a site-wide internal-link architecture - use internal-linking-mapper instead; do NOT use for restructuring content into AI-answer-ready blocks - use aeo-answer-blockifier instead; do NOT use for deep page-speed engineering - use web-performance instead.
---
# SEO Optimizer
Improve one page's organic visibility through content quality, technical signals, and structured data - without keyword stuffing. The costly mistake this prevents is optimizing the wrong layer: teams rewrite copy on a page whose title truncates in the SERP, whose intent mismatches the query, or that cannibalizes a sibling page, then conclude "SEO doesn't work." Audit in order; fix the highest layer that fails first.
## Operating procedure
Intent comes before on-page elements, because a perfectly optimized page targeting the wrong intent cannot rank. On-page comes before schema and vitals, because rich results and speed amplify a page that already deserves to rank.
### Step 1: Gather inputs
1. The page URL or draft, and its one primary keyword. If the user has no primary keyword, that is the first deliverable - propose one and label it a guess.
2. 2-4 semantic variants (default: derive from the primary).
3. The intent behind the query: informational, navigational, or transactional. When unsure, check what currently ranks - the SERP is the ground truth for intent.
4. Sibling pages targeting adjacent queries, to check cannibalization.
### Step 2: Verify intent match
Match content type to intent: informational queries want guides and answers, transactional want product or category pages, navigational want the brand destination. If the page type contradicts the intent of its primary keyword, stop - no on-page fix rescues an intent mismatch; re-target or re-build. Each page must serve a distinct intent; consolidate cannibalizing pages rather than letting two half-strength pages split one query.
### Step 3: Fix the head elements