diff --git a/components/JsonLd.tsx b/components/JsonLd.tsx
new file mode 100644
index 00000000..0565cb51
--- /dev/null
+++ b/components/JsonLd.tsx
@@ -0,0 +1,16 @@
+import Script from 'next/script';
+
+interface JsonLdProps {
+ id?: string;
+ data: any;
+}
+
+export default function JsonLd({ id, data }: JsonLdProps) {
+ return (
+
+ );
+}
diff --git a/lib/schema.ts b/lib/schema.ts
new file mode 100644
index 00000000..b64bfaee
--- /dev/null
+++ b/lib/schema.ts
@@ -0,0 +1,33 @@
+import { getTranslations } from 'next-intl/server';
+
+export const SITE_URL = 'https://klz-cables.com';
+export const LOGO_URL = `${SITE_URL}/logo.png`;
+
+export const getOrganizationSchema = () => ({
+ '@context': 'https://schema.org',
+ '@type': 'Organization',
+ name: 'KLZ Cables',
+ url: SITE_URL,
+ logo: LOGO_URL,
+ sameAs: [
+ 'https://www.linkedin.com/company/klz-cables',
+ ],
+ contactPoint: {
+ '@type': 'ContactPoint',
+ telephone: '+49-881-92537298',
+ contactType: 'customer service',
+ email: 'info@klz-vertriebs-gmbh.com',
+ availableLanguage: ['German', 'English']
+ }
+});
+
+export const getBreadcrumbSchema = (items: { name: string; item: string }[]) => ({
+ '@context': 'https://schema.org',
+ '@type': 'BreadcrumbList',
+ itemListElement: items.map((item, index) => ({
+ '@type': 'ListItem',
+ position: index + 1,
+ name: item.name,
+ item: item.item.startsWith('http') ? item.item : `${SITE_URL}${item.item}`,
+ })),
+});