aboutsummaryrefslogtreecommitdiff
path: root/src/utils/schemas/blogPostSchema.ts
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2025-06-14 14:47:17 +0300
committerValentin Popov <valentin@popov.link>2025-06-14 14:47:17 +0300
commita65e9c845543abcda641f51f4dd8cd77ab50b60d (patch)
tree44b3abbcd198aade2dccfeefde650118de3d8b4c /src/utils/schemas/blogPostSchema.ts
parent17f9a467d7c0f427ae9d1cd579988a26615311c7 (diff)
downloadpopov.link-a65e9c845543abcda641f51f4dd8cd77ab50b60d.tar.xz
popov.link-a65e9c845543abcda641f51f4dd8cd77ab50b60d.zip
feat: enhance blog post and page schema with new properties
- Added optional `basedOn` field to blog post schema for better content attribution. - Updated blog post markdown to include `basedOn` reference for improved context. - Refactored page schema to replace deprecated website schema, enhancing structured data representation. - Adjusted 404 and index pages to utilize the new page schema for consistency and SEO improvements.
Diffstat (limited to 'src/utils/schemas/blogPostSchema.ts')
-rw-r--r--src/utils/schemas/blogPostSchema.ts4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/utils/schemas/blogPostSchema.ts b/src/utils/schemas/blogPostSchema.ts
index 00395dd..9445448 100644
--- a/src/utils/schemas/blogPostSchema.ts
+++ b/src/utils/schemas/blogPostSchema.ts
@@ -5,13 +5,14 @@ export type BlogPostSchemaParams = {
readonly dateModified: string;
readonly datePublished: string;
readonly description: string;
+ readonly isBasedOn?: string;
readonly lang: string;
readonly siteUrl: string;
readonly slug: string;
readonly title: string;
};
-export default ({ siteUrl, slug, title, description, datePublished, dateModified, author, lang }: BlogPostSchemaParams): WithContext<BlogPosting> => ({
+export default ({ siteUrl, slug, title, description, datePublished, dateModified, author, lang, isBasedOn }: BlogPostSchemaParams): WithContext<BlogPosting> => ({
"@context": "https://schema.org",
"@type": "BlogPosting",
"url": new URL(`/blog/${slug}`, siteUrl).toString(),
@@ -28,4 +29,5 @@ export default ({ siteUrl, slug, title, description, datePublished, dateModified
"@type": "WebPage",
"@id": new URL(`/blog/${slug}`, siteUrl).toString(),
},
+ ...(isBasedOn && { isBasedOn: isBasedOn }),
});