Las webs que nos llegan después de años sin mantenimiento no tienen cada una su historia. Tienen la misma, con pequeñas variaciones de fecha. Funcionan, la portada se ve bien y nadie en la organización tiene la sensación de que haya un problema. Hasta que lo hay, y entonces suele haber varios a la vez.
Hemos escrito esa historia como la contaría la propia web. Ninguna entrada corresponde a un cliente concreto, pero todas las hemos visto más de una vez.
Querido diario
Junio de 2023. Hoy me han publicado. Todo el mundo dice que estoy muy bien. Tengo Drupal 10, que salió hace seis meses, y una treintena de módulos. En la reunión de cierre alguien ha dicho que ya hablaríamos del mantenimiento.
Septiembre de 2023. Ha salido una versión nueva de uno de mis módulos. Corrige un fallo de seguridad. Nadie se ha enterado, así que yo tampoco.
Marzo de 2024. El formulario de contacto lleva tres semanas sin enviar nada. Lo ha descubierto un cliente que ha llamado por teléfono para preguntar si alguien leía los mensajes.
Noviembre de 2024. Me llega mucho spam. Alguien propone poner un captcha. Para instalarlo hay que actualizar antes otros tres módulos, y para actualizar esos hay que actualizar Drupal. Se deja para después de Navidad.
Enero de 2026. El hosting ha enviado un correo: la versión de PHP con la que funciono dejó de tener soporte el 31 de diciembre y van a actualizar el servidor. Lo ha recibido una persona que ya no trabaja aquí.
Febrero de 2026. Me han actualizado el servidor. La página de noticias muestra un error en blanco. La portada sigue preciosa.
Mayo de 2026. Marketing quiere una página nueva para una campaña. La respuesta del proveedor: antes hay que poner la web al día. El presupuesto de ponerla al día es bastante mayor que el de la página.
Octubre de 2026. He leído que el 9 de diciembre dejo de recibir actualizaciones de seguridad. Creo que no lo ha leído nadie más.
Miércoles, 9 de diciembre de 2026. Hoy es el primer día de mi vida sin actualizaciones de seguridad. Por fuera, estoy igual que siempre.
Lo que no se ve desde la portada
La última entrada es la que más se repite y la que menos alarma, porque no pasa nada visible. Para entender por qué importa hay que saber cómo funciona Drupal por dentro.
Una web Drupal está hecha de un núcleo y de decenas de módulos que mantiene la comunidad. Drupal tiene un equipo de seguridad que revisa los fallos que se descubren y publica las actualizaciones con un calendario fijo: las de los módulos, cualquier miércoles; las del núcleo, un miércoles al mes, a partir de las seis de la tarde en España.
Cada una de esas actualizaciones va acompañada de un aviso público que explica qué falla y en qué versiones. Es lo correcto, porque permite a todo el mundo protegerse. También significa que, desde ese momento, quien quiera aprovechar el fallo sabe dónde buscarlo. El caso más conocido es de 2014: el equipo de seguridad de Drupal publicó una actualización crítica del núcleo y, horas después, ya había ataques automáticos buscando webs sin actualizar. Su recomendación oficial fue dar por comprometida cualquier web que no se hubiera actualizado en las siete horas siguientes al anuncio.
Una web sin mantenimiento no es una web que no cambia. Es una web que se queda quieta mientras todo a su alrededor se mueve: los módulos, el núcleo, la versión de PHP del servidor, los navegadores, los proveedores de correo. Cada aviso que nadie aplica es una puerta que se queda abierta, y la lista de puertas abiertas está publicada.
Diciembre de 2026, un mes con fechas
El 9 de diciembre de 2026 Drupal 10 llega al final de su vida. No habrá más versiones, tampoco de seguridad. Ese mismo mes está previsto el lanzamiento de Drupal 12, y el 31 de diciembre PHP 8.2 deja de recibir actualizaciones de seguridad. PHP 8.1 dejó de recibirlas el 31 de diciembre de 2025. Una web en Drupal 10 sobre PHP 8.2 se queda sin soporte por las dos partes casi a la vez.
La salida es Drupal 11, que a su vez pide PHP 8.3 o superior. Pasar de una versión mayor a otra no es pulsar un botón, y el código propio de cada web es lo que más trabajo da:
- funciones que Drupal 10 marcaba como obsoletas y que Drupal 11 ya no incluye;
- módulos de la comunidad que hay que comprobar uno por uno, porque no todos tienen versión para Drupal 11 o la tienen con cambios;
- plantillas y JavaScript que dependían de piezas que han cambiado;
- un servidor que hay que actualizar en paralelo.
Ya vivimos algo parecido con Drupal 7, que se quedó sin soporte el 5 de enero de 2025 después de varios años de prórroga. Las organizaciones que llegaron a la fecha sin plan tuvieron que elegir entre migrar con prisa o seguir sin actualizaciones. Con Drupal 10, la fecha se fijó con antelación y no depende de cuándo salga Drupal 12.
Cómo lo hacemos nosotros
Lo primero es saber en qué estado está la web. Nuestra auditoría técnica revisa, entre otros ejes, la plataforma y su ciclo de soporte, las actualizaciones pendientes y las vulnerabilidades conocidas, los parches aplicados y la calidad del código propio. El resultado es una lista de hallazgos clasificados por gravedad y esfuerzo, en lenguaje de negocio para ti y con el detalle técnico para el equipo.
Con ese diagnóstico, la migración a Drupal 11 sigue un proceso escrito y verificado: refactorización automática del código propio, análisis estático al nivel de la versión de destino, comprobación de la compatibilidad de cada módulo y validación del proyecto migrado en un entorno real antes de tocar producción. Si tu equipo sigue publicando o desarrollando mientras migramos, el proceso integra esos cambios con lo ya migrado.
El mantenimiento, después, se apoya en un registro de versiones validadas. Cada actualización se prueba en una copia de la web antes de aplicarse, y al terminar recibes un resumen de qué se ha cambiado, por qué y con qué resultado. Lo contamos con más detalle en IA con método propio: así construimos y mantenemos Drupal.
El mismo diario, con mantenimiento
Miércoles. Ha salido una actualización para uno de mis módulos. La han probado en una copia mía y la han aplicado. No me he enterado.
Octubre de 2026. Me han pasado a Drupal 11 y a PHP 8.4. Durante unos días he vivido en un entorno de pruebas. Después, nadie ha notado nada.
Miércoles, 9 de diciembre de 2026. Un miércoles cualquiera.
Es un diario muy aburrido, y es justo lo que se contrata. Mantener una web es conseguir que su diario sea aburrido.
Mantener una web es conseguir que su diario sea aburrido.
Cuatro preguntas antes del 9 de diciembre
Valen para cualquier web Drupal, la mantenga quien la mantenga.
01 Versión. ¿Sabes en qué versión de Drupal y de PHP funciona tu web? Aparece en el panel de administración, en Informes > Informe de estado.
02 Responsable. ¿Quién aplica hoy las actualizaciones de seguridad de tu web, y cuándo lo hizo por última vez?
03 Código propio. ¿Cuánto desarrollo a medida tiene tu web? Es lo que más pesa en una migración de versión.
04 Plan. ¿Hay una fecha para pasar a Drupal 11? Si no la hay, el 9 de diciembre tu web empezará a escribir el primer diario.
Si alguna respuesta se queda en el aire, hasta el 9 de diciembre se puede resolver con calma. Después, con prisa.
Fuentes
- Drupal.org, Drupal core release schedule: fin de vida de Drupal 10 el 9 de diciembre de 2026, lanzamiento previsto de Drupal 12 y fin de vida de Drupal 7 el 5 de enero de 2025.
- Drupal Security Team, Security release numbers and release timing: calendario de publicación de las actualizaciones de seguridad (módulos, cada miércoles; núcleo, normalmente el tercer miércoles de cada mes, desde las 12:00 de Nueva York).
- Drupal Security Team, PSA-2014-003: aviso posterior al fallo crítico SA-CORE-2014-005; recomienda dar por comprometidas las webs no actualizadas en las siete horas siguientes al anuncio.
- Drupal.org, Drupal 10 will be supported until the release of Drupal 12 in mid-late 2026: la fecha de fin de soporte de Drupal 10 se fija en diciembre de 2026, salga cuando salga Drupal 12.
- Drupal.org, PHP requirements: versiones de PHP compatibles con Drupal 10 y Drupal 11.
- PHP, Supported versions y Unsupported branches: fin del soporte de seguridad de PHP 8.1 (31 de diciembre de 2025) y PHP 8.2 (31 de diciembre de 2026).
