raydrift-meta
v0.2.2
Published
SEO-first Astro components with Schema.org JSON-LD helpers
Downloads
280
Maintainers
Readme
raydrift-meta
SEO-first Astro primitives with Schema.org JSON-LD helpers.
Install
pnpm add raydrift-metaQuick start
pnpm dlx raydrift-meta initCreates src/seo.config.ts in your app. Add a path alias so components can read it:
{
"compilerOptions": {
"paths": {
"@/seo.config": ["./src/seo.config.ts"]
}
}
}Components
SEO Head
---
import BaseLayout from '@/layouts/BaseLayout.astro';
import SEOHead from 'raydrift-meta/seo/SEOHead.astro';
---
<BaseLayout>
<SEOHead
slot="head"
title="My Article"
description="A great article about Astro."
/>
<main>...</main>
</BaseLayout>Article Schema
---
import ArticleSchema from 'raydrift-meta/seo/ArticleSchema.astro';
---
<ArticleSchema
headline="My Article"
description="A great article about Astro."
authorName="Jane Doe"
datePublished="2026-03-01"
dateModified="2026-03-02"
canonicalUrl="https://example.com/blog/my-article"
image="https://example.com/og-image.jpg"
publisherName="Raydrift Meta"
publisherLogo="https://example.com/logo.png"
/>FAQ Schema
---
import FAQSchema from 'raydrift-meta/seo/FAQSchema.astro';
---
<FAQSchema
items={[
{
question: 'Does Raydrift Meta support Astro?',
answer: 'Yes, every primitive is built for Astro.',
},
{
question: 'Do I get JSON-LD out of the box?',
answer: 'Yes, structured data is rendered automatically.',
},
]}
/>Breadcrumbs
---
import Breadcrumbs from 'raydrift-meta/seo/Breadcrumbs.astro';
---
<Breadcrumbs
items={[
{ label: 'Home', href: '/' },
{ label: 'Docs', href: '/docs' },
{ label: 'SEO', href: '/docs/seo' },
]}
/>Commands
| Command | Action |
| :--------------- | :----------------------------- |
| pnpm typecheck | Run typechecks across packages |
