Make every served byte crawlable without executing JS, remove off-brand copy, and cut third-party requests. - Copy: replace off-brand terms (survival/crisis/collapse) in title, meta, OG/Twitter, JSON-LD and webmanifest with on-brand preparedness copy. Update App.vue i18n page_title/meta_description (EN+DE) too, since the app overwrites the head at runtime. Reconcile area count to the real 6. - Prerender: vite-plugin-seo-snapshot injects a static <noscript> snapshot (real <h1>, content, <a href>) after #app. JS users ignore <noscript>, so the live app/UX is unchanged; curl/no-JS crawlers get real content. - 404: nginx now returns true 404s on unknown paths (no soft-200 SPA fallback) with a branded 404 page. - Sitemap: drop no-op hreflang alternates, add <lastmod>. - Fonts: self-host Space Mono / DM Serif Display / Barlow (woff2, latin + latin-ext, font-display: swap); preload above-the-fold faces. No more fonts.googleapis/gstatic requests. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
36 lines
1.2 KiB
HTML
36 lines
1.2 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8"/>
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||
<meta name="robots" content="noindex, follow"/>
|
||
<title>Page not found — Plan-B</title>
|
||
<link rel="icon" href="/images/favicon.svg" type="image/svg+xml"/>
|
||
<style>
|
||
:root { color-scheme: light; }
|
||
html, body { height: 100%; margin: 0; }
|
||
body {
|
||
display: flex; align-items: center; justify-content: center;
|
||
background: #FAFAFA; color: #2a3010;
|
||
font-family: "Barlow", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
|
||
text-align: center; padding: 2rem;
|
||
}
|
||
.wrap { max-width: 32rem; }
|
||
h1 { font-size: 3.5rem; margin: 0 0 .5rem; font-weight: 600; letter-spacing: -0.02em; }
|
||
p { font-size: 1.125rem; line-height: 1.6; margin: 0 0 1.75rem; color: #4a5340; }
|
||
a.home {
|
||
display: inline-block; padding: .75rem 1.5rem; border-radius: .5rem;
|
||
background: #5A9A78; color: #fff; text-decoration: none; font-weight: 500;
|
||
}
|
||
a.home:hover { background: #4d8567; }
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="wrap">
|
||
<h1>404</h1>
|
||
<p>This page isn’t here. The plan still is — head back to the start and check your household readiness.</p>
|
||
<a class="home" href="/">Back to Plan-B</a>
|
||
</div>
|
||
</body>
|
||
</html>
|