SEO
Improve search visibility through technical correctness, performance, and content relevance, not gimmicks.
When to Use
Use this skill when:
- auditing crawlability, indexability, canonicals, or redirects
- improving title tags, meta descriptions, and heading structure
- adding or validating structured data
- improving Core Web Vitals
- doing keyword research and mapping keywords to URLs
- planning internal linking or sitemap / robots changes
How It Works
Principles
- Fix technical blockers before content optimization.
- One page should have one clear primary search intent.
- Prefer long-term quality signals over manipulative patterns.
- Mobile-first assumptions matter because indexing is mobile-first.
- Recommendations should be page-specific and implementable.
Technical SEO checklist
Crawlability
robots.txt should allow important pages and block low-value surfaces
- no important page should be unintentionally
noindex
- important pages should be reachable within a shallow click depth
- avoid redirect chains longer than two hops
- canonical tags should be self-consistent and non-looping
Indexability
- preferred URL format should be consistent
- multilingual pages need correct hreflang if used
- sitemaps should reflect the intended public surface
- no duplicate URLs should compete without canonical control
Performance
- LCP < 2.5s
- INP < 200ms
- CLS < 0.1
- common fixes: preload hero assets, reduce render-blocking work, reserve layout space, trim heavy JS
Structured data
- homepage: organization or business schema where appropriate
- editorial pages:
Article / BlogPosting
- product pages:
Product and Offer
- interior pages:
BreadcrumbList
- Q&A sections:
FAQPage only when the content truly matches
On-page rules
Title tags
- aim for roughly 50-60 characters
- put the primary keyword or concept near the front
- make the title legible to humans, not stuffed for bots
Meta descriptions
- aim for roughly 120-160 characters
- describe the page honestly
- include the main topic naturally
Heading structure
- one clear
H1
H2 and H3 should reflect actual content hierarchy
- do not skip structure just for visual styling
Keyword mapping
- define the search intent
- gather realistic keyword variants
- prioritize by intent match, likely value, and competition
- map one primary keyword/theme to one URL
- detect and avoid cannibalization
Internal linking
- link from strong pages to pages you want to rank
- use descriptive anchor text
- avoid generic anchors when a more specific one is possible
- backfill links from new pages to relevant existing ones
Examples
Title formula
Primary Topic - Specific Modifier | Brand
Meta description formula
Action + topic + value proposition + one supporting detail
JSON-LD example
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Page Title Here",
"author": {
"@type": "Person",
"name": "Author Name"
},
"publisher": {
"@type": "Organization",
"name": "Brand Name"
}
}
Audit output shape
[HIGH] Duplicate title tags on product pages
Location: src/routes/products/[slug].tsx
Issue: Dynamic titles collapse to the same default string, which weakens relevance and creates duplicate signals.
Fix: Generate a unique title per product using the product name and primary category.
Anti-Patterns
| Anti-pattern |
Fix |
| keyword stuffing |
write for users first |
| thin near-duplicate pages |
consolidate or differentiate them |
| schema for content that is not actually present |
match schema to reality |
| content advice without checking the actual page |
read the real page first |
| generic “improve SEO” outputs |
tie every recommendation to a page or asset |
Related Skills
seo-specialist
frontend-patterns
brand-voice
market-research
1---2name: seo3description: Audit, plan, and implement SEO improvements across technical SEO, on-page optimization, structured data, Core Web Vitals, and content strategy. Use when the user wants better search visibility, SEO remediation, schema markup, sitemap/robots work, or keyword mapping.4metadata:5 origin: ECC6---78# SEO910Improve search visibility through technical correctness, performance, and content relevance, not gimmicks.1112## When to Use1314Use this skill when:15- auditing crawlability, indexability, canonicals, or redirects16- improving title tags, meta descriptions, and heading structure17- adding or validating structured data18- improving Core Web Vitals19- doing keyword research and mapping keywords to URLs20- planning internal linking or sitemap / robots changes2122## How It Works2324### Principles25261. Fix technical blockers before content optimization.272. One page should have one clear primary search intent.283. Prefer long-term quality signals over manipulative patterns.294. Mobile-first assumptions matter because indexing is mobile-first.305. Recommendations should be page-specific and implementable.3132### Technical SEO checklist3334#### Crawlability3536- `robots.txt` should allow important pages and block low-value surfaces37- no important page should be unintentionally `noindex`38- important pages should be reachable within a shallow click depth39- avoid redirect chains longer than two hops40- canonical tags should be self-consistent and non-looping4142#### Indexability4344- preferred URL format should be consistent45- multilingual pages need correct hreflang if used46- sitemaps should reflect the intended public surface47- no duplicate URLs should compete without canonical control4849#### Performance5051- LCP < 2.5s52- INP < 200ms53- CLS < 0.154- common fixes: preload hero assets, reduce render-blocking work, reserve layout space, trim heavy JS5556#### Structured data5758- homepage: organization or business schema where appropriate59- editorial pages: `Article` / `BlogPosting`60- product pages: `Product` and `Offer`61- interior pages: `BreadcrumbList`62- Q&A sections: `FAQPage` only when the content truly matches6364### On-page rules6566#### Title tags6768- aim for roughly 50-60 characters69- put the primary keyword or concept near the front70- make the title legible to humans, not stuffed for bots7172#### Meta descriptions7374- aim for roughly 120-160 characters75- describe the page honestly76- include the main topic naturally7778#### Heading structure7980- one clear `H1`81- `H2` and `H3` should reflect actual content hierarchy82- do not skip structure just for visual styling8384### Keyword mapping85861. define the search intent872. gather realistic keyword variants883. prioritize by intent match, likely value, and competition894. map one primary keyword/theme to one URL905. detect and avoid cannibalization9192### Internal linking9394- link from strong pages to pages you want to rank95- use descriptive anchor text96- avoid generic anchors when a more specific one is possible97- backfill links from new pages to relevant existing ones9899## Examples100101### Title formula102103```text104Primary Topic - Specific Modifier | Brand105```106107### Meta description formula108109```text110Action + topic + value proposition + one supporting detail111```112113### JSON-LD example114115```json116{117 "@context": "https://schema.org",118 "@type": "Article",119 "headline": "Page Title Here",120 "author": {121 "@type": "Person",122 "name": "Author Name"123 },124 "publisher": {125 "@type": "Organization",126 "name": "Brand Name"127 }128}129```130131### Audit output shape132133```text134[HIGH] Duplicate title tags on product pages135Location: src/routes/products/[slug].tsx136Issue: Dynamic titles collapse to the same default string, which weakens relevance and creates duplicate signals.137Fix: Generate a unique title per product using the product name and primary category.138```139140## Anti-Patterns141142| Anti-pattern | Fix |143| --- | --- |144| keyword stuffing | write for users first |145| thin near-duplicate pages | consolidate or differentiate them |146| schema for content that is not actually present | match schema to reality |147| content advice without checking the actual page | read the real page first |148| generic “improve SEO” outputs | tie every recommendation to a page or asset |149150## Related Skills151152- `seo-specialist`153- `frontend-patterns`154- `brand-voice`155- `market-research`