diff options
author | Valentin Popov <valentin@popov.link> | 2025-06-12 02:20:36 +0300 |
---|---|---|
committer | Valentin Popov <valentin@popov.link> | 2025-06-12 02:20:36 +0300 |
commit | 67f245a48faf6e89989aca2ea571b657fd4c8888 (patch) | |
tree | 110c7f4f842d30ef1c79d916d40e143d30adec5a /src/components/Head.astro | |
parent | 16fa8a3b5de7dd7c4fa763fecbba0063f6b4369b (diff) | |
download | popov.link-67f245a48faf6e89989aca2ea571b657fd4c8888.tar.xz popov.link-67f245a48faf6e89989aca2ea571b657fd4c8888.zip |
feat: integrate schema.org support and enhance component structure
- Added schema.org support by introducing `schema-dts` for structured data in components.
- Updated `Head`, `BaseLayout`, and various page components to accept and utilize schema props for better SEO.
- Created new utility schemas for blog posts and website to standardize structured data implementation.
- Enhanced the `SocialLinks` section by utilizing dedicated icon components for improved maintainability.
- Refactored the `Header` component to improve accessibility and structure.
- Introduced new icons for social links and integrated them into the layout.
Diffstat (limited to 'src/components/Head.astro')
-rw-r--r-- | src/components/Head.astro | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/components/Head.astro b/src/components/Head.astro index de74ff2..a421915 100644 --- a/src/components/Head.astro +++ b/src/components/Head.astro @@ -1,11 +1,15 @@ --- +import type { WithContext, Thing } from "schema-dts"; +import JsonLd from "./JsonLd.astro"; + type Props = { readonly description: string; readonly title: string; + readonly schema: WithContext<Thing>; }; const canonicalURL = new URL(Astro.url.pathname, Astro.site); -const { description, title } = Astro.props; +const { description, title, schema } = Astro.props; --- <head> @@ -27,4 +31,6 @@ const { description, title } = Astro.props; <link rel="apple-touch-icon" href="/apple-touch-icon.png" /> <link rel="manifest" href="/manifest.json" /> <meta name="theme-color" content="#ffffff" /> + + <JsonLd schema={schema} /> </head> |