refactor(analytics): centralize landing page Umami tracking via env vars

Replace hardcoded Umami website IDs in all 10 Astro landing pages with
import.meta.env.PUBLIC_UMAMI_WEBSITE_ID, following the same pattern
as the web apps.

- Add UMAMI_WEBSITE_ID_*_LANDING vars for all 10 landings in .env.development
- Add landing page configs to generate-env.mjs
- Replace hardcoded IDs with env var in 7 existing Layout.astro files
- Add Umami tracking to 3 missing landings (NutriPhi, Presi, Mukke)
- Fix Todo Landing invalid ID ("todo-landing" -> proper UUID)
- Update ANALYTICS.md with new landing page IDs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-03-22 19:03:02 +01:00
parent f5ee3aae20
commit cc9679dc9f
13 changed files with 216 additions and 25 deletions

View file

@ -38,10 +38,15 @@ const {
/>
<!-- Umami Analytics -->
<script
defer
src="https://stats.mana.how/script.js"
data-website-id="84862d98-727e-4e25-8645-639241dd1544"></script>
{
import.meta.env.PUBLIC_UMAMI_WEBSITE_ID && (
<script
defer
src="https://stats.mana.how/script.js"
data-website-id={import.meta.env.PUBLIC_UMAMI_WEBSITE_ID}
/>
)
}
<title>{title}</title>
</head>

View file

@ -43,10 +43,15 @@ const {
/>
<!-- Umami Analytics -->
<script
defer
src="https://stats.mana.how/script.js"
data-website-id="a264b165-80d2-47ab-91f4-2efc01de0b66"></script>
{
import.meta.env.PUBLIC_UMAMI_WEBSITE_ID && (
<script
defer
src="https://stats.mana.how/script.js"
data-website-id={import.meta.env.PUBLIC_UMAMI_WEBSITE_ID}
/>
)
}
<title>{title}</title>
</head>

View file

@ -38,10 +38,15 @@ const {
/>
<!-- Umami Analytics -->
<script
defer
src="https://stats.mana.how/script.js"
data-website-id="0332b471-a022-46af-a726-0f45932bfd58"></script>
{
import.meta.env.PUBLIC_UMAMI_WEBSITE_ID && (
<script
defer
src="https://stats.mana.how/script.js"
data-website-id={import.meta.env.PUBLIC_UMAMI_WEBSITE_ID}
/>
)
}
<title>{title}</title>
</head>

View file

@ -69,10 +69,15 @@ const lang = getLangFromUrl(Astro.url);
/>
<!-- Umami Analytics -->
<script
defer
src="https://stats.mana.how/script.js"
data-website-id="cef3798d-85ae-47df-a44a-e9bee09dbcf9"></script>
{
import.meta.env.PUBLIC_UMAMI_WEBSITE_ID && (
<script
defer
src="https://stats.mana.how/script.js"
data-website-id={import.meta.env.PUBLIC_UMAMI_WEBSITE_ID}
/>
)
}
<!-- Alternate language links for SEO -->
<AlternateLinks />

View file

@ -43,10 +43,15 @@ const {
/>
<!-- Umami Analytics -->
<script
defer
src="https://stats.mana.how/script.js"
data-website-id="2ac83d50-107f-4d4e-ac23-5540946e96e3"></script>
{
import.meta.env.PUBLIC_UMAMI_WEBSITE_ID && (
<script
defer
src="https://stats.mana.how/script.js"
data-website-id={import.meta.env.PUBLIC_UMAMI_WEBSITE_ID}
/>
)
}
<title>{title}</title>
</head>

View file

@ -17,6 +17,16 @@ const { title } = Astro.props;
<meta name="viewport" content="width=device-width" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="generator" content={Astro.generator} />
<!-- Umami Analytics -->
{
import.meta.env.PUBLIC_UMAMI_WEBSITE_ID && (
<script
defer
src="https://stats.mana.how/script.js"
data-website-id={import.meta.env.PUBLIC_UMAMI_WEBSITE_ID}
/>
)
}
<title>{title}</title>
<style is:global>
* {

View file

@ -24,6 +24,17 @@ const { title, description = 'NutriPhi - KI-gestützte Ernährungsanalyse per Fo
<!-- Theme Color -->
<meta name="theme-color" content="#22C55E" />
<!-- Umami Analytics -->
{
import.meta.env.PUBLIC_UMAMI_WEBSITE_ID && (
<script
defer
src="https://stats.mana.how/script.js"
data-website-id={import.meta.env.PUBLIC_UMAMI_WEBSITE_ID}
/>
)
}
</head>
<body class="bg-[#0F1F0F] text-gray-100 antialiased">
<slot />

View file

@ -36,10 +36,15 @@ const {
<!-- <HeadHrefLangs /> -->
<!-- Umami Analytics -->
<script
defer
src="https://stats.mana.how/script.js"
data-website-id="d3ac98e6-0d1a-47a3-a218-2a81fff596bd"></script>
{
import.meta.env.PUBLIC_UMAMI_WEBSITE_ID && (
<script
defer
src="https://stats.mana.how/script.js"
data-website-id={import.meta.env.PUBLIC_UMAMI_WEBSITE_ID}
/>
)
}
<title>{title}</title>
</head>

View file

@ -42,6 +42,17 @@ const {
rel="stylesheet"
/>
<!-- Umami Analytics -->
{
import.meta.env.PUBLIC_UMAMI_WEBSITE_ID && (
<script
defer
src="https://stats.mana.how/script.js"
data-website-id={import.meta.env.PUBLIC_UMAMI_WEBSITE_ID}
/>
)
}
<title>{title}</title>
</head>
<body class="min-h-screen bg-background-page text-text-primary antialiased">

View file

@ -38,7 +38,15 @@ const {
/>
<!-- Umami Analytics -->
<script defer src="https://stats.mana.how/script.js" data-website-id="todo-landing"></script>
{
import.meta.env.PUBLIC_UMAMI_WEBSITE_ID && (
<script
defer
src="https://stats.mana.how/script.js"
data-website-id={import.meta.env.PUBLIC_UMAMI_WEBSITE_ID}
/>
)
}
<title>{title}</title>
</head>