Добавить пререндер, партнёров, реквизиты, SEO-улучшения

- SSR-пререндер через Vite + react-dom/server (entry-server.jsx, scripts/prerender.mjs)
- Секция партнёров: RU-CENTER, REG.RU, МТВ, КОНТУР
- Реквизиты компании в футере (ИНН, ОГРН, банк)
- Копирайт с 2011 года
- Логотип увеличен (h-8→h-12 навбар, h-7→h-10 футер)
- favicon.ico пересобран с 16×16, 32×32, 48×48 из logo.png
- og:image и twitter:image переключены на .png
- apple-touch-icon.png и og-image.png сгенерированы через sharp
- SSR-safe: localStorage и window.location проверяются на typeof

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-14 05:24:01 +03:00
parent 0804264d3b
commit 3cb42a4466
16 changed files with 729 additions and 11 deletions

19
scripts/prerender.mjs Normal file
View File

@@ -0,0 +1,19 @@
import { readFileSync, writeFileSync, rmSync } from 'fs'
import { resolve, dirname } from 'path'
import { fileURLToPath } from 'url'
const __dirname = dirname(fileURLToPath(import.meta.url))
const root = resolve(__dirname, '..')
// Import SSR bundle built by vite build --ssr
const { render } = await import('../dist/server/entry-server.js')
const template = readFileSync(resolve(root, 'dist/index.html'), 'utf-8')
const appHtml = render()
const html = template.replace('<div id="root"></div>', `<div id="root">${appHtml}</div>`)
writeFileSync(resolve(root, 'dist/index.html'), html)
// Cleanup SSR bundle
rmSync(resolve(root, 'dist/server'), { recursive: true, force: true })
console.log('✓ Prerendered index.html')