Actualizado el 2026-10-28
Despliegue
Build, hosting, dominio y configuración de analytics.
Build
El sitio se construye como HTML estático en tiempo de build con Next.js:
pnpm build
Next.js prerenderiza la home, las páginas de documentación, el sitemap y
los assets estáticos para los siete locales en tiempo de build. Servirlos
aún requiere un runtime que ejecute el middleware de negociación de locale
(apps/web/src/proxy.ts) y los headers de seguridad, así que el objetivo es
Vercel con el preset de Next.js; un host puramente estático pierde la
negociación de locale.
Hosting
El hosting de producción es Vercel:
- framework preset: Next.js
- root directory:
apps/web - build command:
pnpm build
El dominio es ella.yuricunha.com, configurado en
apps/web/src/data/site.ts y en la metadata de la app, que dirige las URLs
canónicas, el Open Graph y el sitemap.
Rutas de documentación
/docsíndice de páginas de documentación, por idioma;/docs/<slug>página individual de documentación, por idioma.
Ambas son rutas estáticas generadas en el build. El idioma por defecto
(inglés) no tiene prefijo de URL; los otros idiomas llevan su prefijo, por
ejemplo /pt/docs o /ja/docs.
Rutas de localización
- Inglés por defecto:
https://ella.yuricunha.com - Otros idiomas:
https://ella.yuricunha.com/<locale>
Cada página declara alternates hreflang para los siete idiomas, y el
sitemap lista cada variante.
Analytics
Umami está preparado pero inerte por defecto. El componente Analytics solo se renderiza cuando ambas variables de entorno están presentes en el build:
NEXT_PUBLIC_UMAMI_SRC=https://tu-host-umami/script.js
NEXT_PUBLIC_UMAMI_WEBSITE_ID=tu-website-id
Sin ellas, el sitio envía cero JavaScript de analytics. No se commitean IDs de placeholder.
Gates de calidad
Ningún servidor de CI observa los pushes: los pipelines de GitLab se retiraron y el remoto de GitLab es solo un espejo. Corre los gates antes del push:
pnpm type-check && pnpm lint && pnpm test && pnpm format:check && pnpm build
pnpm audit --prod también debe salir limpio. Vercel hace el build de
producción en el deploy; como las páginas son prerenderizadas, el build en
verde es el gate.
SEO
- metadata, Open Graph, Twitter cards, canonical y JSON-LD en el layout del locale;
robots.txty el sitemap se generan en el build;- la social card es
public/og.png(1200x630, generada con las fuentes Geist a partir de una plantilla HTML renderizada); - cada idioma recibe su propia metadata y alternates hreflang.