feat: implement advanced Service, CreativeWork and Breadcrumb schema markup
This commit is contained in:
@@ -25,5 +25,58 @@ export default async function ProjectDetailPage({ params }: { params: Promise<{
|
||||
const data = await getProjectBySlug(slug);
|
||||
if (!data) notFound();
|
||||
|
||||
return <WorkDetailClient project={data.project} nextProject={data.nextProject} />;
|
||||
const breadcrumbLd = {
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BreadcrumbList",
|
||||
"itemListElement": [
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 1,
|
||||
"name": "Ana Sayfa",
|
||||
"item": "https://mugladijitalmedya.com"
|
||||
},
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 2,
|
||||
"name": "Çalışmalarımız",
|
||||
"item": "https://mugladijitalmedya.com/works"
|
||||
},
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 3,
|
||||
"name": data.project.title,
|
||||
"item": `https://mugladijitalmedya.com/works/${data.project.slug}`
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
const creativeWorkLd = {
|
||||
"@context": "https://schema.org",
|
||||
"@type": "CreativeWork",
|
||||
"name": data.project.title,
|
||||
"description": data.project.subtitle,
|
||||
"image": data.project.hero_image,
|
||||
"author": {
|
||||
"@type": "Organization",
|
||||
"name": "Muğla Dijital"
|
||||
},
|
||||
"publisher": {
|
||||
"@type": "Organization",
|
||||
"name": "Muğla Dijital"
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
<script
|
||||
type="application/ld+json"
|
||||
dangerouslySetInnerHTML={{ __html: JSON.stringify(breadcrumbLd) }}
|
||||
/>
|
||||
<script
|
||||
type="application/ld+json"
|
||||
dangerouslySetInnerHTML={{ __html: JSON.stringify(creativeWorkLd) }}
|
||||
/>
|
||||
<WorkDetailClient project={data.project} nextProject={data.nextProject} />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user