aboutsummaryrefslogtreecommitdiff
path: root/src/pages/index.astro
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2025-06-12 02:20:36 +0300
committerValentin Popov <valentin@popov.link>2025-06-12 02:20:36 +0300
commit67f245a48faf6e89989aca2ea571b657fd4c8888 (patch)
tree110c7f4f842d30ef1c79d916d40e143d30adec5a /src/pages/index.astro
parent16fa8a3b5de7dd7c4fa763fecbba0063f6b4369b (diff)
downloadpopov.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/pages/index.astro')
-rw-r--r--src/pages/index.astro10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/pages/index.astro b/src/pages/index.astro
index f595b94..fb52e79 100644
--- a/src/pages/index.astro
+++ b/src/pages/index.astro
@@ -3,13 +3,19 @@ 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";
const title = "Valentin Popov – Software Developer & Team Lead | Tech Insights";
-const description = "Valentin Popov is an experienced project manager and team lead sharing expert insights on software development, leadership, and digital innovation.";
+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({
+ siteUrl: new URL("/", Astro.site).toString(),
+ title,
+});
---
-<Layout title={title} description={description} lang={lang}>
+<Layout title={title} description={description} lang={lang} schema={schema}>
<WelcomeSection />
<SocialLinksSection />
<LatestPostsSection />