La implementación requiere una cosa más allá de tu configuración habitual: UNIVERSALLY_API_KEY debe configurarse en el entorno donde se ejecuta la compilación, no solo donde se ejecuta el servidor. La integración lee la clave cuando se ejecuta tu configuración de Astro y la compila en el paquete del servidor. Nunca llega al paquete del cliente.
Antes de empezar
- El sitio funciona localmente. Consulta Instala la integración de Astro.
siteenastro.config.mjses tu dominio de producción, por lo que los enlaces hreflang apuntan a él.- Tienes la clave de API de 64 caracteres de Configuración de API. Consulta Encuentra tu clave de API.
Configura la clave para tu host
Tu archivo .env no se incluye en el repositorio, por lo que la máquina de compilación necesita la variable de otro lugar. Los archivos .env.production y otros archivos de modo no se leen.
- Node: configura
UNIVERSALLY_API_KEYen la shell, la unidad systemd o el entorno de contenedor que ejecuta la compilación, y luego inicia el servidor que produjo el adaptador. - Cloudflare: configúrala como una variable de entorno de compilación en la configuración de compilación de Workers o Pages. Donde el tiempo de ejecución expone
waitUntil, la integración lo utiliza, por lo que los informes y las recargas terminan después de la respuesta en lugar de ser cortados. - Vercel: agrégala en las variables de entorno del proyecto, para cada entorno que compiles.
- Netlify: agrégala en las variables de entorno del sitio, disponibles en el momento de la compilación.
Nunca coloques la clave en una variable PUBLIC_, en un componente del cliente o en código confirmado. Puede gastar las palabras de tu proyecto.
Implementar
- Configura la variable como se indicó anteriormente.
- Ejecuta tu compilación e implementación habituales.
- Abre una página bajo un prefijo de destino, como
https://ejemplo.com/es/acerca-de. El servidor Node compilado carga su catálogo en la primera solicitud localizada, por lo que esa solicitud es más lenta.
Una compilación estática imprime N nuevas cadenas traducidas. Recompila para incluirlas. cuando encuentra texto nuevo. Vuelve a compilar e implementar para enviar esas traducciones.
Haz que el punto de inserción sea accesible
Para que las ediciones del panel se muestren de inmediato, https://{tu dominio}/_universally/revalidate debe aceptar solicitudes POST de Internet. La integración responde antes de que Astro enrute, por lo que no agregas ninguna página ni ruta. Si el punto de inserción está detrás de un firewall o inicio de sesión, el sondeo aún capta la edición dentro de revalidateSeconds. Consulta Actualizaciones de traducción en Astro.
Los sitios estáticos no tienen punto de inserción. Vuelve a compilar e implementar para publicar las ediciones del panel.
Varias instancias
Cada instancia del servidor mantiene su propio catálogo en memoria. Una inserción llega a una instancia y las demás se ponen al día mediante sondeo. Configura revalidateSeconds a un retraso que aceptes. Consulta Opciones de integración de Astro.
Después de regenerar la clave
Regenerar en Configuración de la API invalida la clave antigua inmediatamente. Actualiza UNIVERSALLY_API_KEY en tu host y vuelve a implementar, o la próxima compilación fallará y el punto de conexión de inserción de un servidor en ejecución devolverá 401.
Verificar que funcionó
- La página implementada en
/fr/muestra texto traducido después de una recarga. - El código fuente de la página tiene un
<link rel="alternate" hreflang>por idioma, con tu dominio de producción. - Edita una cadena en la pantalla de Traducciones, luego recarga la página. La edición aparece de inmediato si la inserción te alcanzó, o dentro de
revalidateSecondssi la sondeo la detectó.