feat: SEO cleanup, A11y, Next.js 16 dynamic routes, hide unverified content

This commit is contained in:
MichalC
2026-08-01 13:01:08 +02:00
parent 88cb4c516d
commit f07f2c2407
15 changed files with 59 additions and 398 deletions
+2 -5
View File
@@ -4,6 +4,7 @@ import { getProductBySlug, getProducts } from '@/content/products';
import { companyDetails } from '@/content/company';
import { ProductPageClient } from '@/components/shop/ProductPageClient';
import { getProductVariants } from '@/content/product-variants';
import { JsonLd } from '@/components/ui/JsonLd';
interface Props {
params: Promise<{ slug: string }>;
@@ -51,17 +52,13 @@ export default async function ProductPage({ params }: Props) {
"url": `${baseUrl}/sklep/${product.slug}`,
"priceCurrency": "PLN",
"price": product.price,
"priceValidUntil": "2027-12-31",
"availability": "https://schema.org/InStock",
"seller": { "@type": "Organization", "name": "ThermCool" },
},
} : null;
return (
<>
{productJsonLd && (
<script type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify(productJsonLd) }} />
)}
{productJsonLd && <JsonLd data={productJsonLd} />}
<ProductPageClient
product={product}
seriesProducts={seriesProducts}