feat(landing): Cutover-Doku + AASA + 301-Redirects + marketing-kit 0.3.0
Some checks are pending
CI / validate (push) Waiting to run

- STATUS.md: Landing-Cutover-Notiz (2026-05-22, wordeck.com → Marketing,
  app.wordeck.com → Web-App, robots.txt geöffnet).
- nginx.conf: AASA application/json (beide Bundle-IDs cardecky+wordeck) +
  301-Redirects für d/*, u/*, account, auth/*, cards, decks, study, etc.
- AASA-File statisch in public/.well-known/ kopiert.
- marketing-kit auf ^0.3.0.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-05-25 02:29:19 +02:00
parent 074b0e83b4
commit 751a50347c
5 changed files with 50 additions and 9 deletions

View file

@ -1,10 +1,21 @@
# Wordeck — Projekt-Status & Onboarding
**Letztes Update:** 2026-05-11 (Auth-Portal + Email-Verification E2E)
**Letztes Update:** 2026-05-22 (Landing-Cutover: wordeck.com → Marketing-Landing, App auf app.wordeck.com)
**Wenn du gerade neu bist (Mensch oder KI):** dieses Dokument soll dir
in 5 Minuten den vollen Kontext geben. Lies es vor allem anderen.
> **🚀 Wordeck ist LIVE auf wordeck.com (Stand 2026-05-17 21:50 CEST).**
> **🚀 Wordeck-Welle-1-Landing-Cutover LIVE seit 2026-05-22 19:50 CEST.**
> `wordeck.com` zeigt jetzt auf die Astro-Marketing-Landing
> (`wordeck-landing:3202`); die App lebt unter `app.wordeck.com`
> (`wordeck-web:5181`, war vorher `wordeck.com`). robots.txt ist
> dadurch geöffnet (vorher `Disallow: /`), Sitemap unter
> `/sitemap.xml`, AASA unter `/.well-known/...` weiterhin verfügbar
> (beide Bundle-IDs: `ev.mana.cardecky` + `ev.mana.wordeck`).
> Alt-Pfade (`/d/*`, `/u/*`, `/auth/*`, `/account`, `/decks`, `/study`
> etc.) machen 301 auf `app.wordeck.com/...`. Detaillierter Plan-
> Stand: [`LANDING_CUTOVER.md`](../mana/docs/playbooks/LANDING_CUTOVER.md).
>
> **🚀 Wordeck ist LIVE auf wordeck.com seit 2026-05-17 21:50 CEST.**
> Domain + cloudflared-Tunnel + Web-Branding + Manifest + Platform-
> Registry-Rename + Author-Slug + Text-Only-Architektur (image-
> occlusion und audio raus, MinIO-Container weg) sind alle durch.

View file

@ -23,6 +23,21 @@ server {
try_files $uri =404;
}
# Apple Universal Links AASA muss als application/json ausgeliefert
# werden (kein charset-Suffix, keine Redirects). Beide Bundle-IDs:
# ev.mana.cardecky (Legacy) und ev.mana.wordeck (aktuell, ab Ω-3).
location = /.well-known/apple-app-site-association {
default_type "application/json";
try_files $uri =404;
}
# Alt-Bookmarks von wordeck.com (App-Pfade vor dem Subdomain-Switch
# 2026-05-22) 301 auf app.wordeck.com. Erhält Permalinks und
# klärt Cookie-Scope (App lebt jetzt auf der app-Subdomain).
location ~ ^/(d|u|account|auth|cards|decks|explore|help|import|me|offline|stats|study|datenschutz|privacy)(/.*)?$ {
return 301 https://app.wordeck.com$request_uri;
}
# Canonical paths .html siblings; unknown paths 404.
location / {
try_files $uri $uri.html $uri/ =404;

View file

@ -3,7 +3,7 @@
"private": true,
"version": "0.1.0",
"type": "module",
"description": "Marketing-Landing für wordeck.com — Astro, statisch, SEO/LLM-optimiert. App selbst läuft auf app.wordeck.com.",
"description": "Marketing-Landing f\u00fcr wordeck.com \u2014 Astro, statisch, SEO/LLM-optimiert. App selbst l\u00e4uft auf app.wordeck.com.",
"scripts": {
"dev": "astro dev --port 4325",
"build": "astro build",
@ -11,7 +11,7 @@
"check": "astro check"
},
"dependencies": {
"@mana/marketing-kit": "^0.1.0",
"@mana/marketing-kit": "^0.3.0",
"astro": "^4.16.0"
},
"devDependencies": {

View file

@ -0,0 +1,15 @@
{
"applinks": {
"apps": [],
"details": [
{
"appID": "QP3GLU8PH3.ev.mana.cardecky",
"paths": ["/d/*", "/u/*", "/auth/*"]
},
{
"appID": "QP3GLU8PH3.ev.mana.wordeck",
"paths": ["/d/*", "/u/*", "/auth/*"]
}
]
}
}

10
pnpm-lock.yaml generated
View file

@ -67,8 +67,8 @@ importers:
apps/landing:
dependencies:
'@mana/marketing-kit':
specifier: ^0.1.0
version: 0.1.0(astro@4.16.19(@types/node@24.12.3)(lightningcss@1.32.0)(rollup@4.60.4)(terser@5.47.1)(typescript@5.9.3))
specifier: ^0.3.0
version: 0.3.0(astro@4.16.19(@types/node@24.12.3)(lightningcss@1.32.0)(rollup@4.60.4)(terser@5.47.1)(typescript@5.9.3))
astro:
specifier: ^4.16.0
version: 4.16.19(@types/node@24.12.3)(lightningcss@1.32.0)(rollup@4.60.4)(terser@5.47.1)(typescript@5.9.3)
@ -1426,8 +1426,8 @@ packages:
svelte:
optional: true
'@mana/marketing-kit@0.1.0':
resolution: {integrity: sha512-bGr2BNsPYrGj32pd0VpPSKzpeHhdAxGxTV+mVvgf49njhOWcn1UnZ9a8G5jM15+4QIavSxyaOVmTEBtgek0BVQ==}
'@mana/marketing-kit@0.3.0':
resolution: {integrity: sha512-Wj0cuSYwzrP3i+YJRW+SAO+4viuiwJ6fvP65C0UxdU3XKe6T3wqiUKFLZoX0A/H8Zf18SC4fpzDbkzSgwRzwqA==}
peerDependencies:
astro: '>=4.0.0'
@ -5671,7 +5671,7 @@ snapshots:
optionalDependencies:
svelte: 5.55.5
'@mana/marketing-kit@0.1.0(astro@4.16.19(@types/node@24.12.3)(lightningcss@1.32.0)(rollup@4.60.4)(terser@5.47.1)(typescript@5.9.3))':
'@mana/marketing-kit@0.3.0(astro@4.16.19(@types/node@24.12.3)(lightningcss@1.32.0)(rollup@4.60.4)(terser@5.47.1)(typescript@5.9.3))':
dependencies:
astro: 4.16.19(@types/node@24.12.3)(lightningcss@1.32.0)(rollup@4.60.4)(terser@5.47.1)(typescript@5.9.3)