aboutsummaryrefslogtreecommitdiff
path: root/src/utils/schemas/blogPostSchema.ts
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2025-06-14 14:09:34 +0300
committerValentin Popov <valentin@popov.link>2025-06-14 14:09:34 +0300
commit3df02c5304b8faee540694b15041ad2ee43bc1b2 (patch)
treef5bfae6d5096cfddb96ac76ecfd63d4dd45ff91b /src/utils/schemas/blogPostSchema.ts
parent9777d996d172755472dd8127ff9b7a3c579cf454 (diff)
downloadpopov.link-3df02c5304b8faee540694b15041ad2ee43bc1b2.tar.xz
popov.link-3df02c5304b8faee540694b15041ad2ee43bc1b2.zip
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.
Diffstat (limited to 'src/utils/schemas/blogPostSchema.ts')
-rw-r--r--src/utils/schemas/blogPostSchema.ts11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/utils/schemas/blogPostSchema.ts b/src/utils/schemas/blogPostSchema.ts
index b20f248..5393cb1 100644
--- a/src/utils/schemas/blogPostSchema.ts
+++ b/src/utils/schemas/blogPostSchema.ts
@@ -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(),
+ },
});