Claude-skill-registry astro-seo
SEO markup patterns for Astro lead generation sites. Meta tags, Open Graph, Schema.org, sitemap, robots. Use for all SEO implementation.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/astro-seo" ~/.claude/skills/majiayu000-claude-skill-registry-astro-seo && rm -rf "$T"
manifest:
skills/data/astro-seo/SKILL.mdsource content
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
— GBP, citations, area pageslocal-seo
— H1-H4 structureheading-tree
— Keyword targetingkeyword-research
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