feat(seo): migrate to build-time prerendering with vite-react-ssg

Fixes SeoHead (title/canonical/hreflang/JSON-LD) to render during SSR via
vite-react-ssg's Head component instead of a client-only useEffect, so
crawlers see real tags without executing JS. Also fixes an SSR crash in
useTheme (localStorage access with no window during server render) and
removes now-duplicated static meta tags from index.html.
This commit is contained in:
2026-08-02 10:30:26 +02:00
parent 8dcc5f3405
commit 3b53d82b3d
18 changed files with 2137 additions and 271 deletions
+4 -3
View File
@@ -4,8 +4,8 @@
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"dev": "vite-react-ssg dev",
"build": "vite-react-ssg build",
"lint": "oxlint",
"preview": "vite preview"
},
@@ -16,7 +16,8 @@
"react": "^19.2.7",
"react-dom": "^19.2.7",
"react-i18next": "^17.0.11",
"react-router-dom": "^6.30.4"
"react-router-dom": "^6.30.4",
"vite-react-ssg": "^0.9.2"
},
"devDependencies": {
"@types/react": "^19.2.17",