iKidz English
Una acadèmia d'anglès per a nens de Torrejón de Ardoz (Madrid) tenia la web, el blog i la seva app educativa repartits en tres llocs, en un hosting a punt de renovar-se automàticament i amb peces que feia anys que estaven trencades. Ho vaig unificar tot sota el seu domini, en un servidor seu i amb un panell per governar-ho sense dependre de ningú. Web i blog, en producció i amb HTTPS, en menys de 48 hores des de l'encàrrec.
El repte: tres peces, tres llocs i un rellotge en marxa
iKidz English és una acadèmia d'anglès de Torrejón de Ardoz amb programes per a nens, adolescents i adults, model de franquícia i una dècada de contingut educatiu propi. La seva presència online havia crescut per capes, cadascuna per la seva banda:
- La web corporativaVivia en un hosting antic que es renovava automàticament al cap de pocs dies. En entrar-hi amb «https» sortia un avís de perill i la web d'una altra empresa, els formularis de contacte i de franquícies no enviaven res i el botó del menú cap a la seva app portava a una pàgina morta.
- El blog «Vamos Creciendo»Deu anys d'articles en un altre domini i un altre hosting, amb enllaços repartits per internet durant anys. El proveïdor no deixava ni exportar la base de dades.
- iKidz Space, l'app dels alumnesEl seu servidor responia «aquesta aplicació no existeix», l'app d'Android ja no era a Google Play i del programa original només en quedava el codi, sense ni una sola dada.
- El correuLes bústies de l'acadèmia vivien al mateix hosting que caducava.
I una condició clara des del primer correu: el disseny es queda. Estaven contents amb la seva web, així que la feina consistia a canviar-ho tot per sota sense que es notés per fora.
El que vaig construir
1. Un servidor propi i la mateixa web, nova per dins
- Servidor al núvol a nom de l'acadèmianginx, PHP 8.3 i MariaDB, amb tallafocs, fail2ban i HTTPS de Let's Encrypt que es renova automàticament. L'allotjament el paga i el controla el client: no depèn de mi.
- Les sis pàgines refetes en PHP, amb les mateixes URLsCapçalera, menú i peu comuns, comparades captura a captura amb les originals: mateix aspecte i mateixes adreces, per no perdre ni una posició a Google.
- Portada de 4.001 KB a 1.902 KB i zero peticions a tercersLa tipografia i l'avís de galetes se serveixen des del mateix servidor, sense Google Fonts ni CDN externs. En una web per a nens, amb la seva pròpia política de privadesa, això importa.
- Formularis reescrits des de zeroArriben al correu i, a més, es desen al panell i en un fitxer a part, per si un email es perd o acaba al correu brossa.
- Accessibilitat i analítica28 fotos amb text alternatiu escrit mirant-les una per una, i Google Analytics 4 connectat: l'analítica antiga no mesurava res des del 2023.
2. El blog: deu anys de contingut sense perdre ni un enllaç
- Bolcat complet a través de l'API REST de WordPressEl hosting no deixava exportar, així que es va extreure tot a través de l'API: 166 articles, 3 pàgines, 706 categories i etiquetes, 737 comentaris i 2.414 fitxers (812 MB), comptats i comprovats un per un.
- Importador propi a blocs editablesCada article es converteix en blocs que l'equip pot editar. Comprovat que tornar a desar-ne qualsevol dona exactament el mateix HTML: 166 de 166.
- 875 redireccions 301, en un sol saltCada enllaç antic porta directament al seu article al domini nou, que és el que conserva el posicionament. Les fotos antigues i l'RSS continuen responent a les adreces de sempre.
- Un llistat que per fi llueixFoto en 164 de 166 articles (gairebé cap no tenia imatge destacada: s'hi fa servir la primera foto del text), botons per compartir que no carreguen rastrejadors i vídeos de YouTube en mode sense galetes.
3. iKidz Space: l'app dels alumnes, ressuscitada al navegador
- Refeta en PHP, al mateix panellComparteix base de dades amb la web, viu al seu propi subdomini i es gestiona des del mateix backoffice que el blog.
- Les 23 activitats originals, sense recompilar resSón jocs HTML5 del 2017 pensats per a una app d'Android. Un pont en JavaScript els dona el que abans els donava l'app nativa, i funcionen en qualsevol navegador. Provades totes 23 en un Chrome real, amb zero errors.
- Accés segur per sessióCada nen només veu i desa el que és seu. Sessions de tres hores per no perdre el progrés a mitja classe i un límit d'intents que no bloqueja una classe sencera que surt a internet per la mateixa connexió.
- Alumnes, invitacions i progrésAlta d'alumnes amb invitació per correu a la família (admet dues adreces), seguiment activitat per activitat i control de quines activitats es veuen i en quin ordre.
- Sense analítica a l'àrea dels nensPer decisió de disseny: la seva navegació no surt del servidor de l'acadèmia.
4. Children's Day Map, rescatada (i descaducada)
- Una app òrfena, de tornada a casaL'app pública del 2014 que enllaçava el blog s'havia quedat sense llar: el seu domini original redirigia a una xarxa de publicitat i ja no era ni a l'App Store ni a Google Play. Ara se serveix des del domini de l'acadèmia, sense dependre de ningú.
- Caducada des del 2024, i arregladaNomés acceptava els anys del 2014 al 2023, així que des de l'1 de gener de 2024 era impossible passar de la primera pantalla. Vaig apedaçar el codi del 2014 per portar el calendari al període 2021-2030, amb il·lustracions noves i els àudios dels anys generats amb IA a partir de la veu original.
5. El correu, traslladat sense perdre ni un missatge
- 4 bústies i 8.438 correusRebuts, enviats, esborranys i carpetes, amb les seves dates, més 80 contactes, traslladats a un allotjament de correu nou.
- Canvi sense buitsEl pas d'un servidor de correu a l'altre es va planificar perquè no es perdés res en la transició, i es va corregir la configuració antispam del domini, que tenia un error que l'anul·lava.
6. Un panell perquè l'acadèmia s'ho gestioni tota sola
- Backoffice a midaPortada editable per seccions, pàgines, editor de blog per blocs, biblioteca d'imatges que alleugereix automàticament les fotos del mòbil i n'elimina la ubicació, missatges dels formularis, alumnes, activitats, usuaris i ajustos.
- Seguretat de sèrieContrasenyes amb Argon2id, protecció CSRF a tots els formularis i neteja de l'HTML que es publica.
- Xarxa de seguretatSi la base de dades no respon, les pàgines es continuen servint. Còpies de seguretat diàries en diversos llocs, provades restaurant-les de veritat.
- Manual de lliurament en PDFPerquè l'equip canviï textos, fotos, articles i accessos sense trucar a ningú.
El resultat
Web, blog i app viuen ara sota un mateix domini, en un servidor de l'acadèmia i governats des d'un únic panell, amb el disseny de sempre. No es va perdre res pel camí: ni un article, ni una foto, ni un correu, ni un enllaç, i cada cosa es va comptar una per una per comprovar-ho.
L'allotjament va passar d'uns 650 dòlars l'any a menys de 100 € (uns 500 € d'estalvi anual) en una màquina força més potent. De passada, es van corregir una desena d'errors heretats que ningú no havia detectat, des de formularis que no enviaven fins a una oferta del 2016 que encara sortia al mòbil.
Algunes captures
La web i el blog, en tots els dispositius
iKidz Space, Day Map i el panell
Stack
Web del client: ikidzenglish.com — acadèmia d'anglès a Torrejón de Ardoz.
La teva web, el teu blog o la teva aplicació estan repartits i fora del teu control? Descobreix el meu servei de desenvolupament web a mida.
Altres projectes
Tu Póliza de Salud
Rescat web d'una corredoria d'assegurances, +1.600 articles i backoffice propi.
Cristina Tol-2
D'una web no responsive a un WordPress bilingüe ben posicionat.
Mi Cuadro Médico
Directori nacional de quadres mèdics amb milers de pàgines programàtiques.
Necessites ordenar i rescatar la teva web?
Migracions sense pèrdues, PHP a mida i panells que el teu equip pot fer servir sol. Trucada de 30 minuts sense compromís.
Demanar pressupost gratuït

