mirror of
https://github.com/valentineus/popov.link.git
synced 2025-07-04 08:30:27 +03:00
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.
This commit is contained in:
@ -1,15 +1,17 @@
|
||||
---
|
||||
import Layout from "../layouts/BaseLayout.astro";
|
||||
import websiteSchema from "../utils/schemas/websiteSchema";
|
||||
import pageSchema from "../utils/schemas/pageSchema";
|
||||
|
||||
const title = "404 — Page Not Found | Valentin Popov";
|
||||
const description = "The page you're looking for doesn't exist!";
|
||||
const lang = "en";
|
||||
|
||||
const schema = websiteSchema({
|
||||
const schema = pageSchema({
|
||||
siteUrl: new URL("/", Astro.site).toString(),
|
||||
page: "/404",
|
||||
title,
|
||||
description,
|
||||
lang,
|
||||
});
|
||||
---
|
||||
|
||||
|
@ -22,15 +22,16 @@ const post = Astro.props;
|
||||
|
||||
const { Content, remarkPluginFrontmatter } = await post.render();
|
||||
|
||||
const title = post.data.title;
|
||||
const description = post.data.description;
|
||||
const author = post.data.author;
|
||||
const description = post.data.description;
|
||||
const isBasedOn = post.data.basedOn;
|
||||
const lang = post.data.lang;
|
||||
|
||||
const formattedDate = dayjs(post.data.datePublished.toString()).format("MMMM DD, YYYY");
|
||||
const datePublished = post.data.datePublished.toISOString();
|
||||
const dateModified = post.data.dateModified?.toISOString();
|
||||
const slug = post.slug;
|
||||
const title = post.data.title;
|
||||
|
||||
const dateModified = post.data.dateModified?.toISOString();
|
||||
const datePublished = post.data.datePublished.toISOString();
|
||||
const formattedDate = dayjs(post.data.datePublished.toString()).format("MMMM DD, YYYY");
|
||||
|
||||
const schema = blogPostSchema({
|
||||
siteUrl: new URL("/", Astro.site).toString(),
|
||||
@ -41,6 +42,7 @@ const schema = blogPostSchema({
|
||||
dateModified,
|
||||
author,
|
||||
lang,
|
||||
isBasedOn,
|
||||
});
|
||||
---
|
||||
|
||||
@ -61,7 +63,6 @@ const schema = blogPostSchema({
|
||||
<small>
|
||||
Posted
|
||||
<time datetime={datePublished} lang="en">{formattedDate}</time>
|
||||
by {author}
|
||||
<span> • </span>
|
||||
<span>{remarkPluginFrontmatter.minutesRead}</span>
|
||||
</small>
|
||||
|
@ -3,16 +3,18 @@ import Layout from "../layouts/BaseLayout.astro";
|
||||
import LatestPostsSection from "../components/Sections/LatestPosts.astro";
|
||||
import SocialLinksSection from "../components/Sections/SocialLinks.astro";
|
||||
import WelcomeSection from "../components/Sections/Welcome.astro";
|
||||
import websiteSchema from "../utils/schemas/websiteSchema";
|
||||
import pageSchema from "../utils/schemas/pageSchema";
|
||||
|
||||
const title = "Valentin Popov – Software Developer & Team Lead | Tech Insights";
|
||||
const description = "Blog by Valentin Popov — software developer and team lead writing about code, side projects, digital tools, and fun experiments.";
|
||||
const lang = "en";
|
||||
|
||||
const schema = websiteSchema({
|
||||
const schema = pageSchema({
|
||||
siteUrl: new URL("/", Astro.site).toString(),
|
||||
page: "/",
|
||||
title,
|
||||
description,
|
||||
lang,
|
||||
});
|
||||
---
|
||||
|
||||
|
Reference in New Issue
Block a user