From 70a50d89aba495501fb0709b7eada3294a5c6c1d Mon Sep 17 00:00:00 2001 From: "t.indorf" Date: Mon, 11 May 2026 12:23:43 +0200 Subject: [PATCH] added robots udn sitemap --- src/app/robots.ts | 28 ++++++++++++++++++++++++++++ src/app/sitemap.ts | 31 +++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 src/app/robots.ts create mode 100644 src/app/sitemap.ts diff --git a/src/app/robots.ts b/src/app/robots.ts new file mode 100644 index 0000000..9aec5cf --- /dev/null +++ b/src/app/robots.ts @@ -0,0 +1,28 @@ +import type { MetadataRoute } from "next"; + +function getSiteUrl() { + return process.env.NEXT_PUBLIC_SITE_URL ?? "https://mein-kitaplaner.de"; +} + +export default function robots(): MetadataRoute.Robots { + const siteUrl = getSiteUrl(); + + return { + rules: { + userAgent: "*", + allow: ["/", "/impressum", "/datenschutz"], + disallow: [ + "/api/", + "/dashboard/", + "/invite/", + "/alert/", + "/login", + "/register", + "/onboarding/", + "/forbidden", + ], + }, + sitemap: `${siteUrl}/sitemap.xml`, + host: siteUrl, + }; +} diff --git a/src/app/sitemap.ts b/src/app/sitemap.ts new file mode 100644 index 0000000..560dca3 --- /dev/null +++ b/src/app/sitemap.ts @@ -0,0 +1,31 @@ +import type { MetadataRoute } from "next"; + +function getSiteUrl() { + return process.env.NEXT_PUBLIC_SITE_URL ?? "https://mein-kitaplaner.de"; +} + +export default function sitemap(): MetadataRoute.Sitemap { + const siteUrl = getSiteUrl(); + const lastModified = new Date(); + + return [ + { + url: siteUrl, + lastModified, + changeFrequency: "weekly", + priority: 1, + }, + { + url: `${siteUrl}/impressum`, + lastModified, + changeFrequency: "yearly", + priority: 0.2, + }, + { + url: `${siteUrl}/datenschutz`, + lastModified, + changeFrequency: "yearly", + priority: 0.2, + }, + ]; +}