0
mirror of https://github.com/valentineus/popov.link.git synced 2025-07-03 08:00:26 +03:00

feat: enhance blog post schema and structure

- Added description and lang parameters to the blogPostSchema for improved structured data.
- Updated the blog post layout to include a header section for better semantic structure and accessibility.
This commit is contained in:
2025-06-14 11:09:34 +00:00
parent 9777d996d1
commit 3df02c5304
2 changed files with 14 additions and 5 deletions

View File

@ -33,9 +33,11 @@ const data = post.data.pubDate.toISOString();
const schema = blogPostSchema({
siteUrl: new URL("/", Astro.site).toString(),
title,
description,
slug: post.slug,
datePublished: data,
author,
lang,
});
---
@ -49,11 +51,9 @@ const schema = blogPostSchema({
<Layout title={title} description={description} lang={lang} schema={schema}>
<article>
<section>
<header>
<h1>{title}</h1>
</section>
<section>
<p>
<small>
Posted
@ -63,7 +63,7 @@ const schema = blogPostSchema({
<span>{remarkPluginFrontmatter.minutesRead}</span>
</small>
</p>
</section>
</header>
<section>
<Content />

View File

@ -3,19 +3,28 @@ import type { WithContext, BlogPosting } from "schema-dts";
export type BlogPostSchemaParams = {
readonly siteUrl: string;
readonly title: string;
readonly description: string;
readonly slug: string;
readonly datePublished: string;
readonly author: string;
readonly lang: string;
};
export default ({ siteUrl, title, slug, datePublished, author }: BlogPostSchemaParams): WithContext<BlogPosting> => ({
export default ({ siteUrl, title, description, slug, datePublished, author, lang }: BlogPostSchemaParams): WithContext<BlogPosting> => ({
"@context": "https://schema.org",
"@type": "BlogPosting",
"url": new URL(`/blog/${slug}`, siteUrl).toString(),
"headline": title,
"description": description,
"datePublished": datePublished,
"dateModified": datePublished,
"inLanguage": lang,
"author": {
"@type": "Person",
"name": author,
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": new URL(`/blog/${slug}`, siteUrl).toString(),
},
});