Exact Domains: Plataforma Multidominio y Migración a Next.js para Oasis Hotels

El desafío: 8 marcas, un monolito y un solo equipo
Oasis Hotels & Resorts gestiona múltiples propiedades de lujo en Cancún y la Riviera Maya, cada una con su propio sitio web: the-pyramid-at-grand-cancun.com, grand-oasis-cancun.com, grand-oasis-palm.com, thesescancun.com, oasis-palm.com, smart-cancun.com, oh-cancun.com y grand-oasis-tulum.com.
Originalmente, todos estos dominios compartían una única aplicación legacy en Laravel (monolito MVC) hospedada en DigitalOcean. Si bien la solución cumplía, presentaba serios cuellos de botella:
- Mantenimiento costoso: cualquier cambio en un sitio requería modificar el código del monolito y desplegar todo el sistema, con riesgo de afectar a los otros 7 hoteles.
- Rendimiento inconsistente: en picos de tráfico turístico, el servidor único se saturaba, afectando la velocidad de carga y la tasa de conversión de reservas.
- Gestión de contenido desordenada: el contenido estático (imágenes, folletos) se servía desde el mismo servidor de la aplicación, sin CDN ni estrategia de cacheo eficiente.
- Google Tag Manager (GTM) no gobernado: píxeles de marketing y tracking se insertaban manualmente, generando inconsistencias entre dominios y afectando la precisión de los reportes.
- Obsolescencia tecnológica: el frontend basado en Blade y jQuery dificultaba la adopción de estándares modernos de SEO y performance.
La dirección del grupo pidió unificar la experiencia visual, mejorar la velocidad de carga y reducir el costo operativo de mantenimiento, todo sin detener las campañas de marketing activas en los 8 sitios.
La solución: migración progresiva hacia una plataforma moderna y desacoplada
Abordamos el proyecto en tres frentes complementarios, permitiendo que el negocio siguiera operando mientras transformábamos la infraestructura y el código.
1. Migración de infraestructura: de DigitalOcean a AWS (S3 + CloudFormation)
El primer paso fue separar el contenido estático del dinámico y asegurar una entrega rápida y confiable a nivel global.
- Extracción de assets: todas las imágenes, PDFs y recursos multimedia se trasladaron a Amazon S3, organizados por dominio y tipo de contenido.
- CDN con CloudFront: configuramos distribuciones de Amazon CloudFront para cada dominio, reduciendo la latencia para visitantes internacionales.
- Infraestructura como código: utilicé AWS CloudFormation para definir y validar el aprovisionamiento de buckets, políticas de acceso y distribuciones, garantizando reproducibilidad y revisiones de seguridad antes de cualquier cambio.
- Verificación de suministro: implementé comprobaciones automatizadas (checksums y pruebas de accesibilidad) para confirmar que los 8 sitios servían correctamente desde el nuevo origen sin romper rutas antiguas.
2. Refactorización del frontend: del monolito Laravel a Next.js
Paralelamente a la migración de assets, extraje el frontend del monolito Blade y lo reescribí como una aplicación moderna en Next.js.
- Renderizado híbrido: combinamos SSR para páginas de alta demanda (home, detalles de habitaciones) con ISR (Incremental Static Regeneration) para contenido que cambia con poca frecuencia, aliviando la carga del backend.
- Arquitectura multidominio unificada: con Next.js configuramos un middleware que detecta el dominio solicitado y sirve la skin correspondiente (colores, logos, tipografías) desde un solo código base. Así, un solo deploy actualiza los 8 sitios.
- Colaboración en la migración: apoyé directamente la extracción de la lógica de presentación del antiguo proyecto Laravel, transformando las vistas Blade en componentes React reutilizables.
3. Segunda fase: adopción de TypeScript y Tailwind CSS
Una vez estabilizada la nueva plataforma en Next.js, lideré una segunda migración para elevar la calidad y velocidad de desarrollo.
- TypeScript: tipamos todo el proyecto, capturando errores en tiempo de compilación y documentando las propiedades de los componentes. Esto redujo los bugs en producción relacionados con datos de API.
- Tailwind CSS: reemplazamos hojas de estilo tradicionales por utilidades de Tailwind, alineando el diseño con la guía de marca de Oasis y acelerando la creación de nuevas páginas estacionales.
4. Mantenimiento proactivo de código y Google Tag Manager
Paralelamente asumí la responsabilidad continua de:
- Mantenimiento de código: corrección de incidencias, actualización de dependencias y optimización de bundles.
- Gobierno de Google Tag Manager: centralicé y normalicé los contenedores GTM. Implementé una capa de datos única para los 8 dominios, eliminando píxeles duplicados y asegurando que los eventos de conversión (reservas, clics en teléfono) se dispararan con precisión. Esto mejoró la confiabilidad de los reportes de marketing y facilitó el lanzamiento de nuevas campañas sin intervención del equipo de desarrollo.
Resultados: una plataforma, 8 marcas, rendimiento 5x superior
La transformación trajo métricas contundentes:
- Velocidad de carga: el tiempo de First Contentful Paint pasó de 3.8s a 0.9s en promedio, gracias al CDN y al SSR de Next.js.
- Reducción de costos: el gasto mensual en servidores disminuyó un 40 % al eliminar el sobreaprovisionamiento y usar servicios gestionados de AWS.
- Mantenimiento ágil: un solo desarrollador puede ahora gestionar los 8 sitios, cuando antes se requería un equipo de tres.
- Tracking confiable: la normalización de GTM eliminó discrepancias entre los datos de Google Analytics y el motor de reservas, aumentando la confianza del equipo de marketing.
- Tiempo de publicación de contenido: actualizar una imagen o un texto en los 8 dominios pasó de horas a minutos, gracias a la arquitectura de componente único.
Tecnologías utilizadas
- Frontend: Next.js 14, React 18, TypeScript, Tailwind CSS
- Infraestructura: AWS S3, CloudFront, CloudFormation (IaC)
- Backend (legado migrado): Laravel (PHP) como API temporal durante la transición
- Marketing: Google Tag Manager (multiconfiguración), Google Analytics 4
- DevOps: GitHub Actions para CI/CD, pruebas automatizadas con Jest y Cypress
¿Gestionas múltiples sitios con tecnología heredada?
Centralizar dominios bajo una sola base de código moderna puede reducir costos y disparar la velocidad de tu equipo. Contáctame para una auditoría gratuita de tu infraestructura.