diff --git a/apps/docs/app/[lang]/blog/[[...slug]]/page.tsx b/apps/docs/app/[lang]/blog/[[...slug]]/page.tsx index b66ed759cf..a2fca0b2e2 100644 --- a/apps/docs/app/[lang]/blog/[[...slug]]/page.tsx +++ b/apps/docs/app/[lang]/blog/[[...slug]]/page.tsx @@ -5,6 +5,14 @@ import { getMDXComponents } from '@/mdx-components'; import { HomeLayout } from 'fumadocs-ui/layouts/home'; import { baseOptions } from '@/lib/layout.shared'; import { absoluteUrl } from '@/lib/site'; +import { + compact, + JsonLd, + type JsonLdNode, + ORGANIZATION, + ORGANIZATION_REF, + sitemapLastModified, +} from '@/lib/structured-data'; import Link from 'next/link'; import { ArrowLeft } from 'lucide-react'; @@ -20,6 +28,66 @@ interface BlogPostData { const components = getMDXComponents() as any; +/** + * `frontmatter.date` as an ISO 8601 instant, or `undefined`. + * + * The field is declared `z.coerce.string()` in `source.config.ts`, so its type + * says nothing about its shape. Measured against the rendered page rather than + * assumed: what arrives is the plain `2026-07-17` written in the MDX — the same + * string this route already puts in `