astro-seo

SkillAI & models

Use 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.

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:

  1. fuse-ai-pilot:explore-codebase - Analyze existing layouts, head components, and metadata
  2. fuse-ai-pilot:research-expert - Verify latest SEO best practices via Context7/Exa
  3. 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

FeatureBenefit
Zero JS by defaultPure HTML for crawlers, instant indexing
Static outputSub-second TTFB, top Core Web Vitals
Astro.siteCanonical URL construction built-in
Islands ArchitectureOnly 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

TopicReferenceWhen to Consult
Meta Tags & OGmeta-tags.mdSetting up head metadata
JSON-LDstructured-data.mdRich snippets, schema.org
Sitemap & RSSsitemap-rss.mdSearch indexing, feeds
Canonical & hreflangcanonical-hreflang.mdDuplicate content, i18n
Core Web Vitalscore-web-vitals.mdLCP, CLS, FID optimization

Templates

TemplateWhen to Use
seo-head.mdReusable SEO head component
json-ld.mdJSON-LD BlogPosting, WebSite schemas

Best Practices

  1. One Head component - Centralize all meta in a reusable component
  2. Absolute URLs - Use Astro.site for og:image and canonicals
  3. set:html for JSON-LD - Prevents XSS vulnerabilities
  4. sitemap + robots.txt - Always configure both for crawlability
  5. 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