name: astro-seo description: SEO markup patterns for Astro lead generation sites. Meta tags, Open Graph, Schema.org, sitemap, robots. Use for all SEO implementation.
Astro SEO Skill
Purpose
Handles all SEO markup for Astro projects. Technical SEO patterns.
Core Rules
- Every page needs unique title + description
- Open Graph for social sharing
- Schema.org for rich results
- Canonical URLs always set
- Sitemap auto-generated
Required Meta Tags
---
const { title, description, image, noindex = false } = Astro.props;
const canonicalURL = new URL(Astro.url.pathname, Astro.site);
---
<head>
<title>{title}</title>
<meta name="description" content={description} />
<link rel="canonical" href={canonicalURL} />
{noindex && <meta name="robots" content="noindex,nofollow" />}
<!-- Open Graph -->
<meta property="og:title" content={title} />
<meta property="og:description" content={description} />
<meta property="og:url" content={canonicalURL} />
<meta property="og:image" content={image} />
<meta property="og:type" content="website" />
<!-- Twitter -->
<meta name="twitter:card" content="summary_large_image" />
</head>
Schema.org Patterns
LocalBusiness (Homepage)
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Business Name",
"address": { "@type": "PostalAddress", ... },
"telephone": "+44...",
"openingHours": "Mo-Fr 08:00-18:00"
}
Service Pages
{
"@context": "https://schema.org",
"@type": "Service",
"name": "Service Name",
"provider": { "@type": "LocalBusiness", ... }
}
FAQ
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [...]
}
Sitemap
// astro.config.mjs
import sitemap from '@astrojs/sitemap';
export default {
site: 'https://yourdomain.com',
integrations: [sitemap()]
}
Noindex Pages
- Thank you pages
- 404/410 pages
- Admin/preview pages
- Duplicate content
Related Skills
local-seo— GBP, citations, area pagesheading-tree— H1-H4 structurekeyword-research— Keyword targeting
Definition of Done
- Unique title + description per page
- Open Graph tags set
- LocalBusiness schema on homepage
- Service schema on service pages
- FAQ schema where applicable
- Sitemap configured
- Canonical URLs set
- Thank you pages noindexed