Files
klz-cables.com/lib/schema.ts
Marc Mintel 21288a4a45
All checks were successful
Build & Deploy / 🔍 Prepare (push) Successful in 12s
Build & Deploy / 🧪 QA (push) Successful in 4m33s
Build & Deploy / 🏗️ Build (push) Successful in 5m35s
Build & Deploy / 🚀 Deploy (push) Successful in 26s
Build & Deploy / 🧪 Smoke Test (push) Successful in 4m39s
Build & Deploy / ⚡ Lighthouse (push) Successful in 9m39s
Build & Deploy / 🔔 Notify (push) Successful in 2s
perf: finalize PageSpeed 100 and WCAG 2.1 AA stabilization
- Achieved 100/100 Accessibility score across sitemap (pa11y-ci 10/10 parity)
- Stabilized Performance score >= 94 by purging LCP-blocking CSS animations
- Fixed canonical/hreflang absolute URI mismatches for perfect SEO scores
- Silenced client-side telemetry/analytics console noise in CI environments
- Hardened sitemap generation with environment-aware baseUrl
- Refined contrast for Badge and VisualLinkPreview components (#14532d)
2026-02-21 16:46:05 +01:00

37 lines
1.1 KiB
TypeScript

import { config } from './config';
const getSiteUrl = () => {
if (process.env.CI) return 'http://klz.localhost';
return (config.baseUrl as string) || 'https://klz-cables.com';
};
export const SITE_URL = getSiteUrl();
export const LOGO_URL = `${SITE_URL}/logo.png`;
export const getOrganizationSchema = () => ({
'@context': 'https://schema.org' as const,
'@type': 'Organization' as const,
name: 'KLZ Cables',
url: SITE_URL,
logo: LOGO_URL,
sameAs: ['https://www.linkedin.com/company/klz-cables'],
contactPoint: {
'@type': 'ContactPoint' as const,
telephone: '+49-881-92537298',
contactType: 'customer service' as const,
email: 'info@klz-cables.com',
availableLanguage: ['German', 'English'],
},
});
export const getBreadcrumbSchema = (items: { name: string; item: string }[]) => ({
'@context': 'https://schema.org' as const,
'@type': 'BreadcrumbList' as const,
itemListElement: items.map((item, index) => ({
'@type': 'ListItem' as const,
position: index + 1,
name: item.name,
item: item.item.startsWith('http') ? item.item : `${SITE_URL}${item.item}`,
})),
});