Mesogeiako — Centro de Formación Profesional y CMS a Medida
Resumen
Mesogeiako es un centro acreditado de aprendizaje permanente y formación profesional en Salónica, y su web había crecido sobre WordPress y el maquetador de BeTheme. La reconstrucción conserva todo el contenido y nada de la plataforma. Es PHP 8.5 puro sobre MySQL — un controlador frontal, un autoloader de quince líneas, sin framework, sin Composer y sin paso de build — unas cinco mil líneas de código y dos mil de plantillas. El griego es el idioma por defecto y el inglés vive bajo /en/, y la paridad es estructural, no añadida: cada proyecto, noticia y página es una fila con una fila de traducción por idioma, los slugs pertenecen a la traducción para que las páginas griegas conserven URL derivadas del griego, y un tercer idioma no exigiría ningún cambio de esquema. La migración es código, no una exportación puntual. Veintiún pasos ordenados y repetibles reconstruyen el sitio entero desde el origen WordPress — leen el contenido del Muffin Builder, eliminan textos repetitivos, normalizan los encabezados, fusionan noticias duplicadas y extraen a archivos las imágenes incrustadas como data-URI — y trasladan 33 proyectos, 90 noticias y 20 páginas en ambos idiomas, con 798 redirecciones para que los enlaces antiguos lleguen a sus páginas nuevas. Cada imagen de la biblioteca es un WebP de menos de 200 KB: la calidad baja de 82 a 40, después las dimensiones se reducen hasta que cabe, y el original se descarta. El panel da al centro sus proyectos, noticias y páginas en ambos idiomas con TinyMCE, una biblioteca de medios, los datos de contacto, y los contadores y bloques de la portada. Los datos estructurados incluyen la dirección postal, el número de registro mercantil y el horario — tres datos que la web antigua publicaba en un widget del pie de página del tema, donde ninguna entrada ni ningún importador podía verlos.
Retos
WordPress había escondido algunos datos. La dirección postal, el número de registro mercantil y el horario estaban en un widget del pie de página del tema y no en ninguna entrada, así que una exportación de contenido nunca los veía, y el segundo teléfono se contradecía en tres lugares de la web antigua. Las URL griegas rompían además el diseño obvio de la base de datos: codificadas con porcentajes, superan a menudo los 191 caracteres compartiendo prefijos largos, de modo que un índice de prefijo rechaza como duplicadas direcciones realmente distintas. Y un editor bilingüe tiene un modo de fallo silencioso: un guardado que omite un idioma es indistinguible de alguien que lo vacía a propósito.
Soluciones
Cada corrección es su propio paso de migración numerado, de modo que una reconstrucción desde cero a partir de WordPress reproduce el teléfono confirmado por el cliente y la dirección recuperada en lugar de volver a importar los errores antiguos. Las redirecciones son únicas sobre un hash SHA-256 de la ruta antigua, no sobre un prefijo. Cada segmento de archivo solo se resuelve en su propio idioma, para que un elemento no viva en dos URL repartiendo su propio posicionamiento. Cada formulario de traducción envía un marcador de presencia por idioma — es lo que permite que un idioma ausente signifique «sin cambios» y no «borrar» —, y la batería de pruebas del panel incluye una prueba de regresión para ello. Los nombres de archivo se normalizan a NFC antes de la transliteración, porque macOS y Linux guardan el mismo nombre griego con bytes distintos.
Galería

Portada — La Licencia del Centro Delante, Sus Proyectos a Un Clic

Proyectos — Activos y Pasados, a Un Clic de Distancia

Páginas de Proyecto — Texto a Todo el Ancho, Escrito y Formateado por el Centro

Noticias — Noventa Artículos Traídos de WordPress, en Ambos Idiomas

Herramientas de Autoformación — Guías y Materiales en un Solo Índice

Sobre Nosotros — Licencias, Registros y Redes Europeas en Una Sola Lectura

Contacto — Correo, Dos Teléfonos y la Dirección en Cuatro Tarjetas

Portada — Estrategia, Acreditaciones y Herramientas de Aprendizaje Bajo la Bienvenida

Proyectos Activos — El Trabajo Actual del Centro, con el Cartel Primero

Anuncios — Quién Puede Participar y a Quién Llamar, de un Vistazo

Colectivos Destinatarios — A Quién Forma el Centro, Sin Rodeos

Nuestra Actividad — Interreg, Erasmus+ y ESPA, Cada Uno a Un Toque

La Portada en el Móvil — Llame o Escriba Antes Incluso de Desplazarse

El Menú del Móvil — Seis Secciones, Cada Una Fácil de Tocar

Contadores de la Portada — Cuatro Cifras que Edita el Propio Centro

La Parte en Inglés — El Mismo Archivo con Sus Propias URL

Las Noticias en el Móvil — Fecha, Titular y Resumen, Legibles al Instante

Autoformación en el Móvil — Una Guía por Tarjeta, Fácil de Abrir

Contacto en el Móvil — Toque para Escribir, Toque para Llamar
Panel de administración

El Panel — Lo que Publica el Centro y Qué Traducciones Faltan o Esperan Revisión

Proyectos — Idiomas, Subproyectos y Traducciones sin Revisar en Cada Fila

El Editor — Pestañas en Griego e Inglés, Campos SEO, Texto Enriquecido

Contadores — Las Cifras de la Portada, Editadas en Ambos Idiomas

Datos de Contacto — Un Formulario, Dos Idiomas, en Toda la Web

Medios — Cada Imagen Convertida a WebP de Menos de 200 KB