diff --git a/app/datenschutz/page.tsx b/app/datenschutz/page.tsx index 190e55c..1b58124 100644 --- a/app/datenschutz/page.tsx +++ b/app/datenschutz/page.tsx @@ -91,14 +91,15 @@ export default function DatenschutzPage() {
-

5. Cookies und Werbung

+

5. Werbung mit Google AdSense

- Entscheidomat setzt aktuell keine Cookies und keine Werbedienste - ein. Sollte künftig Werbung (z. B. Google AdSense) - hinzukommen, wird diese Datenschutzerklärung vorher aktualisiert - und eine Einwilligungslösung (Consent-Banner) für Nutzerinnen und - Nutzer aus der EU, dem UK und der Schweiz eingebaut, bevor der - Dienst aktiv geschaltet wird. + Entscheidomat ist für die Nutzung von Google AdSense vorbereitet. + Sobald personalisierte oder nicht-personalisierte Anzeigen an + Besucherinnen und Besucher im Europäischen Wirtschaftsraum, im + Vereinigten Königreich oder in der Schweiz ausgeliefert werden, + setzen wir eine geeignete Einwilligungslösung ein und aktualisieren + diese Datenschutzerklärung um die dann konkret verwendeten + Einstellungen und Empfänger.

diff --git a/app/ratgeber/[slug]/page.tsx b/app/ratgeber/[slug]/page.tsx new file mode 100644 index 0000000..eca9fa5 --- /dev/null +++ b/app/ratgeber/[slug]/page.tsx @@ -0,0 +1,100 @@ +import type { Metadata } from "next"; +import Link from "next/link"; +import { notFound } from "next/navigation"; +import Nav from "@/components/nav"; +import Footer from "@/components/footer"; +import { getGuide, GUIDES } from "@/lib/guides"; + +const SITE_URL = "https://entscheidomat.com"; + +export function generateStaticParams() { + return GUIDES.map(({ slug }) => ({ slug })); +} + +export async function generateMetadata({ params }: PageProps<"/ratgeber/[slug]">): Promise { + const { slug } = await params; + const guide = getGuide(slug); + if (!guide) return {}; + + return { + title: guide.title, + description: guide.description, + alternates: { canonical: `/ratgeber/${guide.slug}` }, + openGraph: { + type: "article", + locale: "de_DE", + url: `${SITE_URL}/ratgeber/${guide.slug}`, + title: guide.title, + description: guide.description, + publishedTime: "2026-08-03T08:00:00+02:00", + modifiedTime: "2026-08-03T08:00:00+02:00", + }, + }; +} + +export default async function GuidePage({ params }: PageProps<"/ratgeber/[slug]">) { + const { slug } = await params; + const guide = getGuide(slug); + if (!guide) notFound(); + + const url = `${SITE_URL}/ratgeber/${guide.slug}`; + const jsonLd = { + "@context": "https://schema.org", + "@type": "Article", + headline: guide.title, + description: guide.description, + datePublished: "2026-08-03", + dateModified: "2026-08-03", + inLanguage: "de-DE", + mainEntityOfPage: url, + author: { "@type": "Person", name: "Timo Knuth" }, + publisher: { "@type": "Organization", name: "Entscheidomat", url: SITE_URL }, + }; + + return ( + <> +