diff --git a/apps/landing/src/app/(landings)/blog/[slug]/page.tsx b/apps/landing/src/app/(landings)/blog/[slug]/page.tsx
index 8b59b01..8044825 100644
--- a/apps/landing/src/app/(landings)/blog/[slug]/page.tsx
+++ b/apps/landing/src/app/(landings)/blog/[slug]/page.tsx
@@ -12,6 +12,33 @@ import {
BlogSidebar,
BlogShareButtons,
} from '../_components';
+import type { BlogPost } from '../types';
+
+const generateJsonLd = (post: BlogPost) => ({
+ '@context': 'https://schema.org',
+ '@type': 'Article',
+ headline: post.title,
+ description: post.description,
+ image: `https://banatie.app${post.heroImage}`,
+ datePublished: post.date,
+ dateModified: post.date,
+ author: {
+ '@type': 'Person',
+ name: post.author.name,
+ },
+ publisher: {
+ '@type': 'Organization',
+ name: 'Banatie',
+ logo: {
+ '@type': 'ImageObject',
+ url: 'https://banatie.app/banatie-logo.png',
+ },
+ },
+ mainEntityOfPage: {
+ '@type': 'WebPage',
+ '@id': `https://banatie.app/blog/${post.slug}/`,
+ },
+});
interface PageProps {
params: Promise<{ slug: string }>;
@@ -41,8 +68,13 @@ export default async function BlogPostPage({ params }: PageProps) {
const relatedArticles = getPostsBySlugs(post.relatedArticles);
return (
-