Arquitectura · Entrega estática + runtime explícito

WordPress estático con runtime dinámico en AWS

Mantenga la entrega pública de páginas WordPress en S3 y CloudFront y asigne a cada función interactiva su propio runtime del navegador al servicio, sin devolver todo el sitio a PHP y MySQL.

CMS WordPress
   ↓ Static Publisher
S3 + CloudFront
   ├→ Gatey → Amazon Cognito
   ├→ Flow → backend de workflows
   ├→ AI-Kit → backend configurado de IA/conocimiento
   ├→ rutas protegidas → acceso firmado
   └→ acciones de aplicación → API protegidas

Límite de ejecución

Clasifique el runtime por función, no por sitio

«Estático» describe cómo se entrega la página. No obliga a eliminar el inicio de sesión, los formularios, los debates, la IA ni las acciones de aplicación. Cada capacidad puede cruzar un límite de ejecución independiente solo cuando el visitante la utiliza.

Solicitud de página pública → CloudFront → HTML/recursos estáticos

Inicio de sesión → navegador → Cognito
Ruta estática protegida → identidad → acceso firmado → CloudFront
Formulario / borrador / debate → navegador → backend Flow
IA / DocSearch → navegador → modo local o backend configurado
Escritura de aplicación → navegador → API autorizada

Límite de confianza La visibilidad en el frontend no es autorización. La identidad, el acceso a archivos protegidos, la validación de formularios, el acceso a IA y las escrituras de API deben ser aplicados por el servicio responsable.

Plano de control y plano de ejecución

Esta matriz separa la propiedad editorial de la responsabilidad de ejecución. Muestra qué permanece en WordPress y qué pasa al navegador o a servicios AWS cuando la entrega pública es estática.

ResponsabilidadPapel de WordPressPapel de AWS/runtimePor qué importa
Contenido y diseñoLos editores crean páginas en Gutenberg y publican CPTLa entrega estática sirve el resultado renderizadoEl flujo editorial sigue siendo conocido y el tráfico público evita PHP.
Interfaz de autenticaciónLa página contiene un bloque, shortcode o widget de GateyCognito gestiona acceso, MFA, SSO y tokensEl acceso sobrevive a la exportación porque se ejecuta en el navegador contra Cognito.
Contenido protegidoWordPress define dónde viven las secciones protegidasLas cookies firmadas de CloudFront aplican el acceso a objetosLas páginas privadas estáticas no requieren sesiones de WordPress.
Formularios y workflowsEl diseño y la intención del workflow se editan en WordPressEl backend valida, almacena, enruta y activa accionesLos envíos escalan por separado de la entrega de páginas.
Funciones de IABloques, chatbot, fuentes de KB y ajustes viven en WP AdminLlamadas a modelos, RAG, salvaguardas y registros se ejecutan en el backendLa inteligencia de contenido es una capacidad gobernada, no un proxy PHP.
Funciones de aplicaciónWordPress renderiza botones, contenedores e interfaz según cuentaAPI Gateway y Lambda aplican autorización y escriben estadoEl frontend sigue estático y la aplicación interactiva.

Límite de ejecución de Flow tras la plantilla de backend

La tabla se centra en Flow. Separa rutas de visitantes, administrativas y ejecución asíncrona para mostrar por qué cada responsabilidad queda fuera de la solicitud de página WordPress.

SuperficieRutas de ejemploResponsabilidadPor qué fuera de PHP
Formularios frontend/frontend/forms/{formId}/submit, /drafts, /upload-urlValidar entradas, aceptar borradores y referencias, y activar el procesamiento posterior.El navegador envía desde una página estática; el backend controla validación, abusos y durabilidad.
Operaciones administrativas/admin/forms, /admin/submissions, /admin/templates, /admin/workflows, /admin/webhook-endpointsConfigurar definiciones, plantillas y workflows por rutas protegidas.Las escrituras pueden exigir Cognito/IAM, ámbitos y restricciones IP independientemente de la entrega.
Ejecución de workflowsDispatchers de EventBridge para envíos, estados, correo y webhooksProcesar de forma asíncrona y registrar eventos sin mantener abierta la solicitud.Los formularios se convierten en workflows fiables, no en un POST síncrono frágil.

Mapa de superficies de ejecución

Use esta matriz como lista de seguridad y operaciones. Relaciona cada superficie con su autenticación típica, riesgo principal y límite recomendado.

SuperficieAutenticación típicaComponente WP SuiteRiesgo principalLímite recomendado
Vista anónimaNingunaSalida de Static PublisherPáginas, listados o recursos obsoletosBase verificada, propiedad del manifiesto, invalidación CloudFront y comprobación del destino.
Interfaz de acceso/perfilCliente público CognitoBloques Gatey Authenticator y Account AttributeURL de callback o supuestos de token incorrectosCognito App Client, dominio de callback y manejo de tokens.
Ruta estática protegidaCognito antes de emitir cookieFlujo Static Site GuardianÁmbito, caducidad y rotaciónCookies firmadas de CloudFront y servicio firmante.
Llamada pública de formulario o IANONE + reCAPTCHA/WAF o CognitoRutas AI-Kit y endpoints FlowAbuso y coste de modelos/envíosLímites, validación, reCAPTCHA, WAF y cuotas.
Llamada de API de miembroJWT de Cognito o IAMAcceso API protegido por GateyConfundir visibilidad con autorizaciónAutorizador API Gateway, ámbitos o firmas IAM.
Operación administrativaIAM o ámbitos Cognito administrativosRutas administrativas AI-Kit, operaciones KBExponer operaciones privilegiadasRuta /admin separada, autenticación estricta y lista IP.

Diseño de API y caché

La separación de runtime también cambia las reglas de entrega. Esta tabla convierte la arquitectura en decisiones de caché, separación de API, CORS, estado y gestión visible de errores.

ÁreaBuen patrónMal patrónPor qué importa
Caché de HTML estáticoCaché duradera con invalidación determinista tras publicarCaché breve en todo porque un componente es dinámicoUn widget dinámico no debe devolver toda la página al servidor.
Rutas de APISuperficies /frontend y /admin separadas con autenticación y limitación distintasUn endpoint genérico para todoWidgets públicos y operaciones privilegiadas tienen riesgos diferentes.
CORSPermitir dominios estáticos y entornos exactosCORS comodín con solicitudes con credencialesLos sitios estáticos suelen tener varios hostnames; CORS debe ser deliberado.
Widgets con estadoGuardar estado en Cognito, DynamoDB, objetos S3 temporales o backend específicoSuponer que existe sesión WordPress tras exportarLa página exportada no tiene sesión PHP en solicitudes públicas.
Gestión de erroresMostrar estados accionables de autenticación, reintento o no disponibilidadFallo silencioso cuando se bloquea una APIEl frontend es el límite visible para el usuario.

Ruta de implementación

Separe primero la entrega y añada solo los runtimes necesarios

La arquitectura es más fácil de operar cuando cada requisito dinámico tiene un responsable y una ruta de fallo explícitos.

  1. Mantener WordPress como fuente editorial — Cree y revise páginas en WordPress y publique después resultados almacenables en caché mediante Static Publisher en S3 y CloudFront.
  2. Asignar las funciones interactivas a sus límites de servicio — Use Cognito para identidad, Flow para estado de formularios y workflows, AI-Kit para rutas de IA locales o configuradas, acceso firmado para contenido estático protegido y API dedicadas para escrituras.
  3. Proteger cada runtime de forma independiente — Aplique autorización, validación, CORS, WAF, limitación o controles de abuso adecuados en cada límite de servicio, sin depender de una sesión de WordPress ni de estado oculto del frontend.
  4. Probar producción como aplicación de navegador — Verifique recursos exportados, URL de callback, CORS, estados autenticados y anónimos, fallos de API y accesos caducados desde el dominio de producción.

Cuándo esta arquitectura ofrece el límite adecuado

Buena opción

Sitios mayoritariamente cacheables con funciones activas seleccionadas

  • El sitio público es principalmente contenido, pero necesita acceso, formularios, debates, IA o recursos protegidos.
  • Desea conservar WordPress como CMS conocido sin incluir PHP y MySQL en cada solicitud pública.
  • Las distintas funciones de ejecución requieren límites diferentes de seguridad, escalado o propiedad.

Elegir otro modelo

Otro runtime puede ser más sencillo cuando

  • La mayoría de las páginas requieren personalización del lado del servidor antes de renderizarse.
  • Una aplicación frontend separada ya es un requisito, por lo que la arquitectura headless es intencional.
  • WordPress dinámico tradicional ya resuelve bien la carga y separar servicios no añade un límite operativo útil.

Guías de problemas

Adónde ir desde la arquitectura

¿Cómo hago WordPress estático sin perder funciones dinámicas?

Empiece por Haga WordPress estático sin perder funciones dinámicas. Asigna acceso, formularios, debates, valoraciones, IA y contenido protegido a runtimes explícitos.

¿Cómo conservo WordPress para editar sin exponerlo públicamente?

Consulte Conserve WordPress para editar sin exponerlo públicamente para la separación entre origen editorial y entrega pública; después use esta arquitectura para decidir qué runtimes siguen activos.

¿Cómo funcionan los formularios largos y los workflows de revisión tras publicar estáticamente?

Consulte Permita guardar un formulario largo y continuarlo más tarde, Sustituya las aprobaciones por correo y hojas de cálculo por un workflow y Cree un workflow de revisión con formularios, debate y valoraciones para las rutas de Flow.

¿Cómo funcionan el inicio de sesión y el contenido protegido sin sesiones PHP?

Consulte Añada inicio de sesión a WordPress estático sin recuperar las sesiones PHP para la identidad Cognito y WordPress estático seguro con cookies firmadas de CloudFront para el mecanismo de entrega.

Empiece por el problema del comprador

Elija el límite de ejecución según la función que necesita conservar

Use primero las guías de problemas para identificar la interacción necesaria y vuelva después a la arquitectura para definir implementación y confianza.