astro-seo
SkillAI & modelsUse when optimizing SEO for an Astro site — meta tags, Open Graph, JSON-LD structured data, sitemap/RSS, canonical URLs, hreflang, Core Web Vitals.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the astro-seo skill
What this skill tells your AI
The instructions your AI receives, as published by fusengine/agents in plugins/astro-expert/skills/astro-seo/SKILL.md and read by ahel’s review.
Does not cover locale routing mechanics beyond hreflang tag generation (astro-i18n), Content Layer schema design (astro-content), or image-specific optimization like <Image />/<Picture /> (astro-assets) — those are separate skills.
Astro SEO
Complete SEO strategy for Astro 7 sites — zero JS by default makes Astro naturally SEO-friendly.
Agent Workflow (MANDATORY)
Before ANY implementation, spawn 3 agents in parallel, one Agent call each with a name:
- fuse-ai-pilot:explore-codebase - Analyze existing layouts, head components, and metadata
- fuse-ai-pilot:research-expert - Verify latest SEO best practices via Context7/Exa
- mcp__context7__query-docs - Check Astro 7 sitemap/RSS integration docs
After implementation, run fuse-ai-pilot:sniper for validation.
Overview
When to Use
- Adding meta tags and Open Graph to any Astro page
- Generating JSON-LD structured data for rich snippets
- Setting up @astrojs/sitemap for search indexing
- Configuring RSS feeds with @astrojs/rss
- Creating robots.txt and canonical URL patterns
- Adding hreflang for multilingual SEO
- Measuring and improving Core Web Vitals
Why Astro for SEO
| Feature | Benefit |
|---|---|
| Zero JS by default | Pure HTML for crawlers, instant indexing |
| Static output | Sub-second TTFB, top Core Web Vitals |
Astro.site | Canonical URL construction built-in |
| Islands Architecture | Only hydrate interactive parts |
Core Concepts
Head Component Pattern
Create a reusable <SEO /> or <Head /> component accepting title, description, og, canonical props. Place in all layouts. Use Astro.site for absolute URL construction.
Canonical URLs
Always construct canonicals with Astro.site:
const canonical = new URL(Astro.url.pathname, Astro.site);
Structured Data
Inject JSON-LD via <script type="application/ld+json" set:html={JSON.stringify(schema)} />. Use set:html to avoid XSS — never template string interpolation.
Reference Guide
Concepts
| Topic | Reference | When to Consult |
|---|---|---|
| Meta Tags & OG | meta-tags.md | Setting up head metadata |
| JSON-LD | structured-data.md | Rich snippets, schema.org |
| Sitemap & RSS | sitemap-rss.md | Search indexing, feeds |
| Canonical & hreflang | canonical-hreflang.md | Duplicate content, i18n |
| Core Web Vitals | core-web-vitals.md | LCP, CLS, FID optimization |
Templates
| Template | When to Use |
|---|---|
| seo-head.md | Reusable SEO head component |
| json-ld.md | JSON-LD BlogPosting, WebSite schemas |
Best Practices
- One Head component - Centralize all meta in a reusable component
- Absolute URLs - Use
Astro.sitefor og:image and canonicals set:htmlfor JSON-LD - Prevents XSS vulnerabilities- sitemap + robots.txt - Always configure both for crawlability
- hreflang on all locales - Include x-default for language variants
Signals
- GitHub stars
- 25
- Forks
- 4
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
astro-seo- Source
- github.com/fusengine/agents