iKidz English
Una academia de inglés para niños de Torrejón de Ardoz (Madrid) tenía la web, el blog y su app educativa repartidos en tres sitios, en un hosting a punto de renovarse solo y con piezas que llevaban años rotas. Lo unifiqué todo bajo su dominio, en un servidor suyo y con un panel para gobernarlo sin depender de nadie. Web y blog, en producción y con HTTPS, en menos de 48 horas desde el encargo.
El reto: tres piezas, tres sitios y un reloj en marcha
iKidz English es una academia de inglés de Torrejón de Ardoz con programas para niños, adolescentes y adultos, modelo de franquicia y una década de contenido educativo propio. Su presencia online había crecido por capas, cada una por su lado:
- La web corporativaVivía en un hosting antiguo que se renovaba solo en pocos días. Al entrar con «https» salía un aviso de peligro y la web de otra empresa, los formularios de contacto y de franquicias no enviaban nada y el botón del menú hacia su app llevaba a una página muerta.
- El blog «Vamos Creciendo»Diez años de artículos en otro dominio y otro hosting, con enlaces repartidos por internet durante años. El proveedor no dejaba ni exportar la base de datos.
- iKidz Space, la app de los alumnosSu servidor respondía «esta aplicación no existe», la app de Android ya no estaba en Google Play y del programa original solo quedaba el código, sin un solo dato.
- El correoLos buzones de la academia vivían en el mismo hosting que caducaba.
Y una condición clara desde el primer correo: el diseño se queda. Estaban contentos con su web, así que el trabajo consistía en cambiarlo todo por debajo sin que se notara por fuera.
Lo que construí
1. Un servidor propio y la misma web, nueva por dentro
- Servidor en la nube a nombre de la academianginx, PHP 8.3 y MariaDB, con cortafuegos, fail2ban y HTTPS de Let's Encrypt que se renueva solo. El alojamiento lo paga y lo controla el cliente: no depende de mí.
- Las seis páginas rehechas en PHP, con las mismas URLsCabecera, menú y pie comunes, comparadas captura a captura con las originales: mismo aspecto y mismas direcciones, para no perder ni una posición en Google.
- Portada de 4.001 KB a 1.902 KB y cero peticiones a tercerosTipografía y aviso de cookies se sirven desde el propio servidor, sin Google Fonts ni CDN externos. En una web de niños, con su propia política de privacidad, eso importa.
- Formularios reescritos desde ceroLlegan al correo y además se guardan en el panel y en un fichero aparte, por si un email se pierde o acaba en spam.
- Accesibilidad y analítica28 fotos con texto alternativo escrito mirando cada una, y Google Analytics 4 conectado: la analítica antigua llevaba sin medir nada desde 2023.
2. El blog: diez años de contenido sin perder un enlace
- Volcado completo por la API REST de WordPressEl hosting no dejaba exportar, así que se sacó todo por la API: 166 artículos, 3 páginas, 706 categorías y etiquetas, 737 comentarios y 2.414 ficheros (812 MB), contados y comprobados uno a uno.
- Importador propio a bloques editablesCada artículo se convierte en bloques que el equipo puede editar. Verificado que volver a guardar cualquiera da exactamente el mismo HTML: 166 de 166.
- 875 redirecciones 301, en un solo saltoCada enlace antiguo lleva directo a su artículo en el dominio nuevo, que es lo que conserva el posicionamiento. Las fotos antiguas y el RSS siguen respondiendo en sus direcciones de siempre.
- Un listado que por fin luceFoto en 164 de 166 artículos (casi ninguno tenía imagen destacada: se usa la primera foto del texto), botones para compartir que no cargan rastreadores y vídeos de YouTube en modo sin cookies.
3. iKidz Space: la app de los alumnos, resucitada en el navegador
- Rehecha en PHP, en el mismo panelComparte base de datos con la web, vive en su propio subdominio y se gestiona desde el mismo backoffice que el blog.
- Las 23 actividades originales, sin recompilar nadaSon juegos HTML5 de 2017 pensados para una app de Android. Un puente en JavaScript les da lo que antes les daba la app nativa, y funcionan en cualquier navegador. Probadas las 23 en un Chrome real, con cero errores.
- Acceso seguro por sesiónCada niño solo ve y guarda lo suyo. Sesiones de tres horas para no perder el progreso a mitad de clase y un freno anti-intentos que no bloquea a una clase entera que sale a internet por la misma conexión.
- Alumnos, invitaciones y progresoAlta de alumnos con invitación por correo a la familia (admite dos direcciones), seguimiento actividad por actividad y control de qué actividades se ven y en qué orden.
- Sin analítica en el área de los niñosPor decisión de diseño: su navegación no sale del servidor de la academia.
4. Children's Day Map, rescatada (y descaducada)
- Una app huérfana, de vuelta en casaLa app pública de 2014 que enlazaba el blog había quedado sin hogar: su dominio original redirigía a una red de publicidad y ya no estaba ni en App Store ni en Google Play. Ahora se sirve desde el dominio de la academia, sin depender de nadie.
- Caducada desde 2024, y arregladaSolo aceptaba los años 2014 a 2023, así que desde el 1 de enero de 2024 era imposible pasar de la primera pantalla. Parcheé el código de 2014 para llevar el calendario a 2021-2030, con ilustraciones nuevas y los audios de los años generados con IA a partir de la voz original.
5. El correo, trasladado sin perder un mensaje
- 4 buzones y 8.438 correosRecibidos, enviados, borradores y carpetas, con sus fechas, más 80 contactos, trasladados a un alojamiento de correo nuevo.
- Cambio sin huecosEl paso de un servidor de correo a otro se planificó para que no se perdiera nada en la transición, y se corrigió la configuración antispam del dominio, que tenía un error que la anulaba.
6. Un panel para que la academia lo lleve sola
- Backoffice a medidaPortada editable por secciones, páginas, editor de blog por bloques, biblioteca de imágenes que aligera sola las fotos del móvil y les quita la ubicación, mensajes de los formularios, alumnos, actividades, usuarios y ajustes.
- Seguridad de serieContraseñas con Argon2id, protección CSRF en todos los formularios y limpieza del HTML que se publica.
- Red de seguridadSi la base de datos no contesta, las páginas se siguen sirviendo. Copias de seguridad diarias en varios sitios, probadas restaurándolas de verdad.
- Manual de entrega en PDFPara que el equipo cambie textos, fotos, artículos y accesos sin llamar a nadie.
El resultado
Web, blog y app viven ahora bajo un mismo dominio, en un servidor de la academia y gobernados desde un único panel, con el diseño de siempre. Nada se perdió por el camino: ni un artículo, ni una foto, ni un correo, ni un enlace, y cada cosa se contó una a una para comprobarlo.
El alojamiento pasó de unos 650 dólares al año a menos de 100 € (unos 500 € de ahorro anual) en una máquina bastante más potente. Por el camino se arreglaron una decena de fallos heredados que nadie había detectado, desde formularios que no enviaban hasta una oferta de 2016 que seguía saliendo en el móvil.
Algunas capturas
La web y el blog, en todos los dispositivos
iKidz Space, Day Map y el panel
Stack
Web del cliente: ikidzenglish.com — academia de inglés en Torrejón de Ardoz.
¿Tu web, tu blog o tu aplicación están repartidos y fuera de tu control? Descubre mi servicio de desarrollo web a medida.
Otros proyectos
Tu Póliza de Salud
Rescate web de una correduría de seguros, +1.600 posts y backoffice propio.
Cristina Tol-2
De web no responsive a WordPress bilingüe bien posicionado.
Mi Cuadro Médico
Directorio nacional de cuadros médicos con miles de páginas programáticas.
¿Necesitas ordenar y rescatar tu web?
Migraciones sin pérdidas, PHP a medida y paneles que tu equipo puede usar solo. Llamada de 30 minutos sin compromiso.
Solicitar presupuesto gratuito

