Mantenimiento y calidad · Drupal 10, 11 y 12

Mantenimiento Drupal para proyectos donde la calidad importa.

Pensado sobre todo para agencias que entregan proyectos Drupal, aunque también puedes contratarme directamente si eres cliente final. Soy el partner técnico Drupal en el que se apoya tu agencia, el seguro de calidad de lo que se entrega: tests, análisis de código, rendimiento, seguridad y configuración, trabajados cada mes para que ninguna entrega rompa nada. Soy el especialista que no tienes que fichar, un perfil que escasea y sale caro. Y me integro en tu forma de trabajar: todo pasa por Git, tu equipo revisa y despliega, y la relación con tu cliente sigue siendo tuya. Precios cerrados, sin reuniones y sin bolsas de horas.

Tarifa plana mensual por proyecto, sin sorpresas

El plan existe para que tu agencia se despreocupe: del mantenimiento recurrente, de la calidad del código que se entrega y de esos errores que se escapan a producción y acaban quemando al cliente. El plan base es una suscripción mensual de mantenimiento y soporte Drupal, por proyecto, que cubre las cinco áreas que todo proyecto Drupal necesita tener vigiladas, por un único precio cerrado. Si tu agencia lleva varios proyectos, cada uno tiene su propio plan. Sustituye a la consultoría Drupal por horas: lo que las agencias pedían a un consultor Drupal hora a hora queda dentro de la cuota. Y funciona como funciona el mantenimiento: trabajo recurrente cada mes, detectando y arreglando un lote más de cada área, de forma que la deuda técnica se va reduciendo poco a poco y el proyecto después se mantiene al día. No es una dedicación completa, y no significa que el primer mes quede todo arreglado. Si quieres vaciar la lista de pendientes ya, y no a lo largo de los meses, para eso están los sprints de aceleración: pagos únicos de dos semanas que ponen un área al día de golpe. Por ponerle números: hacer todo esto a mano son fácilmente unas diez jornadas al mes de un desarrollador senior que, dependiendo del país, cobra como mínimo 50 € la hora: eso ronda los 4.000 € al mes, y con perfiles más senior un servicio equivalente sube fácilmente por encima de esa cifra. La cuota mensual se queda en menos de la mitad porque parte del trabajo lo hacen mis propios agentes y skills de inteligencia artificial, hechos a medida de este servicio, y ese ahorro se traslada al precio. Nada de lo que producen se mergea en ninguna rama sin mi revisión previa. A partir de ahí solo añades lo que tu proyecto realmente necesite: el ritmo de actualizaciones y los extras.

Todo lo que incluye el plan mensual
  • Tests unitarios y de kernel: comprueban solos que cada cambio no rompe nada.
  • PHPStan y PHPCS: código limpio, más barato de mantener.
  • Rendimiento y frontend: una web más rápida gastando menos servidor.
  • Configuración del sitio: permisos, caché, seguridad y ajustes siempre revisados.
  • Tres tests de Playwright al empezar: un robot navega tu web y avisa si algo clave falla. Y el mantenimiento de todos los tests.
  • El panel DruScan Business y la puesta en marcha, sin coste extra.
4.000 €/mes 1.790 €/mes
El tamaño del proyecto no cambia la cuota. Cambia el tiempo. Cada mes se resuelve el lote de trabajo que da de sí la cuota. Cuanto más código a medida y más configuración tenga tu web, más cosas irán apareciendo y más meses llevará tenerlo todo al día. Un proyecto grande no paga más al mes: paga más meses. Y si quieres acortar ese camino, para eso están justamente los sprints.
Tu parte del trabajo es casi cero. Me das acceso al repositorio Git y una copia actualizada de la base de datos, y ya está: yo hago el trabajo y lo subo a una rama, y tu equipo lo revisa y hace el merge cuando le venga bien. Lo delegas y te olvidas del tema.

DruScan, la auditoría continua de tu proyecto

DruScan.com es un servicio web que he creado y llevo yo mismo. Conectas tu web Drupal y la audita una y otra vez: seguridad, actualizaciones pendientes, configuración, rendimiento y calidad del código, todo convertido en una puntuación que puedes seguir en el tiempo. Es un producto de pago, 399 € al año en el plan Business, y como es mío te incluyo ese plan sin coste mientras trabajemos juntos. Yo necesito el panel para decidir qué merece la pena hacer en tu proyecto, así que no tiene sentido cobrártelo aparte.

Plan Business de DruScan
  • Comparación de entornos: la puntuación de desarrollo, pruebas y producción, una al lado de otra.
  • Avisos automáticos en cuanto algo va a peor.
  • Noventa días de histórico de las puntuaciones, para ver si el proyecto mejora o empeora.
  • Listado de los módulos que tienes instalados, con sus versiones.
399 €/año Incluido
Se apoya en el módulo Audit. Un módulo que escribí y contribuí a la comunidad, gratuito y de código abierto: audita el proyecto y lo puntúa. DruScan es lo que convierte esas puntuaciones en histórico, alertas y una pantalla que se puede leer sin ser desarrollador.
Qué revisa, en concreto. Pasa 24 auditorías y puntúa cada área de 0 a 100: actualizaciones pendientes y avisos de seguridad, permisos y cuentas expuestas, caché a todos los niveles, tamaño de la base de datos, errores en los registros, campos y vistas mal configurados, SEO técnico, imágenes, multilingüe y calidad del código con PHPStan, PHPCS y los tests automáticos. Un detalle que importa: el análisis se ejecuta en tu servidor, y a DruScan solo viajan las puntuaciones y la lista de versiones de módulos. Tu código, tu contenido y tus usuarios no salen de casa. Y tampoco hay que esperar ningún informe mensual: ves el mismo panel en vivo que veo yo.

Puesta en marcha

Antes de empezar necesito tu proyecto funcionando en mi entorno: repositorio, base de datos, configuración. Se hace en los primeros días del servicio, es trabajo de verdad y no te lo cobro: va incluido sin coste.

Tu proyecto montado en mi entorno
  • Tu repositorio clonado y la web levantada en mi máquina.
  • Tu configuración reproducida, trabajando con una copia sanitizada de la base de datos: si no podéis sanitizarla vosotros, la sanitizo yo antes de instalar nada.
  • DruScan conectado y la primera auditoría pasada, para tener una referencia con la que comparar.
  • La forma de trabajar acordada por escrito: ramas en tu repositorio, changelog y quién aprueba qué antes de que salga a producción.
Sin coste

Contrato y facturación

Todo el trato cabe en tres reglas.

Lo que firmas
  • La facturación es mensual y siempre por adelantado. Solo trabajo con el mes ya pagado, así nadie tiene que perseguir facturas.
  • No hay permanencia: es una cuota mensual que puedes dejar cuando quieras. Lo único que pido es un mes de preaviso, no unos pocos días.
  • La cuota compra un lote de trabajo cada mes, mes tras mes: casi nunca el primer mes lo deja todo arreglado. Si quieres un área al día ya, para eso están los sprints.
Por qué no hay permanencia. La puesta en marcha es tiempo que pongo sin facturarlo, y solo lo recupero si te quedas. Así que la presión es mía, cada mes: el servicio tiene que seguir valiendo más de lo que cuesta, o te vas.

Actualizaciones de core y contrib

Lo que te llevas es una preocupación menos: que un aviso de seguridad nunca pille la web sin parchear y que actualizar deje de ser esa tarea para la que nunca hay hueco. Si me encargas esta parte, actualizo Drupal y los módulos de la comunidad de forma recurrente, vía Composer, al ritmo que elijas. Drupal publica sus versiones nuevas los miércoles, así que me adapto a ese calendario de lanzamientos. Cada tanda va en una rama de tu propio repositorio (update/YYYY-WW): paso las pruebas automáticas y te envío un resumen de qué cambia y qué riesgo tiene cada cosa. Tú lo revisas y decides cuándo entra en producción.

Frecuencia

El core de Drupal publica sus correcciones de errores el primer miércoles de mes y sus alertas de seguridad el tercero, y yo preparo la rama siguiendo ese calendario. Los módulos de la comunidad van por su cuenta: pueden sacar versiones nuevas, de seguridad o no, cualquier semana. Con un ciclo semanal esas versiones se recogen según salen. Con uno mensual se van acumulando. Si tu equipo ya se encarga de actualizar, déjalas fuera y esta sección no cuesta nada. Si las hago yo, el ritmo que elijas se suma a la cuota.

Frecuencia

Qué se actualiza

Es una decisión aparte de la frecuencia y no cambia el precio. Mi recomendación es actualizarlo todo: así no se acumula nada y cada tanda es pequeña. En portales muy grandes, con muchísimos módulos de la comunidad y donde la estabilidad pesa más que estar en la última versión, puede tener más sentido coger solo las de seguridad y pedir cada cierto tiempo una puesta al día completa.

Qué se actualiza

Quién lo pasa a producción

Quién lo pasa a producción
Las versiones mayores no entran en la cuota. La cuota cubre las actualizaciones dentro de la versión en la que estés: todas las 10.x si vas por Drupal 10 y todas las 11.x si vas por Drupal 11. Saltar de la 10 a la 11, o de la 11 a la 12, es otro trabajo: una migración de versión mayor, el upgrade. Hay que comprobar que todos los módulos sean compatibles, sustituir el código que haya quedado obsoleto y hacer muchas más pruebas, así que eso se presupuesta aparte y con un precio cerrado antes de empezar.
Producción nunca se toca de forma automatizada. Ni desde el proceso de actualización ni desde ninguna otra herramienta. La rama llega revisada y con los tests del proyecto pasados, pero el botón lo pulsa siempre una persona.
Qué pueden prometer los tests y qué no. En cada tanda paso los tests que el proyecto tenga, y cuantos más haya, más tranquilos nos quedamos los dos. Pero te lo digo claro: la mayoría de proyectos llegan con muy poca cobertura, y los tests cubren tu código a medida, no los módulos de la comunidad. No hay tests que garanticen que actualizar veinte módulos de golpe no rompa nada. Por eso la rama te llega para revisar, por eso merece la pena la cobertura del paso de Tests, y por eso en portales muy grandes quedarse solo con las de seguridad no es ninguna dejadez.

Pruebas automáticas del código (tests unitarios y de kernel)

Los tests automáticos repasan el proyecto entero en minutos, cada vez que alguien toca el código. Sin ellos, de que algo se ha roto te enteras cuando un usuario se lo encuentra en producción. Estos tests cubren la lógica hecha a medida para tu proyecto, no lo que Drupal trae de serie, y avisan antes de que la rama salga. En concreto son tests unitarios y de kernel escritos con PHPUnit, el estándar de Drupal: los unitarios prueban cada pieza de lógica por separado, y los de kernel prueban esa pieza funcionando contra un Drupal real, con su base de datos, su configuración y sus módulos. Y un apunte que me parece importante: ahora que tanto código se escribe o se revisa con inteligencia artificial, los tests son lo único que separa «funciona» de «no da error».

Cobertura mensual

Cobertura progresiva, incluida en el plan mensual Cada mes se cubre un trozo más del código a medida, empezando por lo que más se toca, hasta la cobertura mínima que acordemos juntos. Todo lo nuevo que entra sale ya con sus tests, así que la cifra sube en vez de quedarse atrás. Incluido en el plan mensual

Pruebas de interfaz de usuario (Playwright)

Estos tests abren un navegador de verdad y usan tu web como lo haría una persona. Cada test reproduce un recorrido completo, paso a paso. En una tienda, por ejemplo: abrir un producto, añadirlo al carrito, cambiar la cantidad en el checkout, rellenar el formulario, hacer el pedido, y después comprobar en el panel de administración que el pedido se ha creado de verdad. En una web de contenidos: abrir el buscador desde la home, escribir una palabra, comprobar que la página correcta sale entre los primeros resultados, entrar en ella y comprobar que su imagen se abre en grande en un modal, con su texto alternativo en su sitio. La idea es siempre la misma: los recorridos que tu web no se puede permitir romper se recorren solos después de cada cambio de código, de configuración o de actualización, antes de que nada llegue a producción. Son tests end-to-end (E2E), escritos con Playwright: no trabajo con Cypress ni con Behat.

Lo que el plan mensual ya cubre

Tres tests sin coste, y el mantenimiento de todos La primera vez que se contrata el plan mensual escribo tres tests gratis: que la home cargue lo que debe, que el login funcione y un tercero que importe a tu proyecto, por ejemplo que el buscador encuentre lo que tiene que encontrar. Solo esa primera vez. Cualquier test más allá de esos tres se contrata en los lotes del paso de Extras. El plan mensual además mantiene todos los tests, míos o no, antiguos o nuevos: cuando una actualización o un cambio en el código hace que alguno falle, arreglarlo o adaptarlo para que vuelva a estar en verde entra en la cuota. Incluido en el plan mensual
Quién los ejecuta, y dónde. Todos los tests, de un tipo o del otro, los escribo y los paso en mi máquina antes de entregar, así no te llega nada roto. Viven en tu repositorio, y cualquiera de tu equipo puede lanzarlos en local, en cualquier rama. La integración continua y las ejecuciones programadas en vuestro servidor las monta tu equipo: en infraestructura mía no se ejecuta nada de forma automatizada.

Análisis del código: PHPStan y PHPCS

PHPStan lee el código sin ejecutarlo y encuentra PHP roto que de otra forma solo aparecería en producción: una llamada a algo que ya no existe, un valor que llega vacío donde nadie lo espera. PHPCS comprueba que todo el código sigue el estándar de la comunidad Drupal. Parece una manía de estilo, pero no lo es: el código que sigue el estándar lo puede coger cualquier desarrollador y cambiarlo sin tener que descifrarlo antes, y esa es la diferencia entre un proyecto barato de mantener y uno caro. Herramientas como SonarQube miden este mismo terreno, así que también es lo que sale en una auditoría técnica. Los dos los paso en mi máquina con cada cambio, y tu equipo puede hacer lo mismo o meterlos en su pipeline. El trabajo consiste en dejar el proyecto limpio la primera vez y en conseguir que no se vuelva a ensuciar.

Limpieza mensual

Limpieza progresiva, incluida en el plan mensual Cada mes despacho un lote de los avisos pendientes, y el código nuevo que entra al repositorio lo mantengo limpio desde el principio para que la lista no vuelva a crecer. Incluido en el plan mensual

Rendimiento y buenas prácticas de frontend

Reviso tu código a medida, tanto la parte de servidor como la que se ejecuta en el navegador, buscando lo que hace lenta la web, lo que penaliza tus Core Web Vitals y lo que la va a encarecer con el tiempo: consultas a la base de datos que se repiten cientos de veces en una sola página, caché mal configurada que puede llegar a enseñarle a un visitante el contenido de otro, plantillas Twig que impiden que la caché se refresque cuando toca, y hojas de estilo y JavaScript que se cargan en toda la web para usarse en una sola pantalla. Lo que aparece se arregla en entregas pequeñas y revisables, un tema cada vez.

Trabajo mensual

Trabajo progresivo, incluido en el plan mensual Voy resolviendo los hallazgos por orden de lo que más le cuesta a la web, y el código que entra mientras tanto lo reviso con el mismo criterio para no añadir nada al montón. Incluido en el plan mensual

Configuración del sitio

En DruScan.com, el panel incluido en el plan mensual, tienes el resumen de lo que se va detectando en el proyecto. Buena parte son cuestiones de configuración: módulos que siguen en el repositorio sin estar activos y se pueden quitar, caché mal puesta tanto en la web como en cada listado, permisos que dan más acceso del que deberían y ajustes de SEO que están dejando escapar visitas. A partir de ahí hay que ir decidiendo hallazgo por hallazgo si es una falsa alarma o algo que corregir. Ese es el trabajo que cubre esta sección. Además, cada versión nueva de la auditoría saca a la luz cosas que antes pasaban desapercibidas.

Correcciones mensuales

Correcciones progresivas, incluidas en el plan mensual Lo que el panel señala se va corrigiendo por lotes, lo peor primero, y la configuración que cambie por el camino se revisa con el mismo criterio. Todo llega como una entrega revisable o como configuración exportada, nunca como un retoque directo en producción. Incluido en el plan mensual

Sprints de aceleración

Los sprints son pagos únicos que aceleran un área concreta, en vez de esperar meses mientras el plan mensual la va trabajando poco a poco. Son también tu forma de marcar prioridades: si quieres todos los tests posibles antes de que toque siquiera el PHPCS, contratas el sprint de cobertura y esa área se salta la cola. Se contratan al empezar o en cualquier momento del servicio. Cada uno son dos semanas de calendario, no dos semanas de dedicación exclusiva, trabajadas con los mismos agentes y la misma revisión que todo lo demás, y por eso pueden tener un precio cerrado en vez de un presupuesto de consultoría por horas.

Tests unitarios y de kernel

PHPStan y PHPCS

Rendimiento y frontend

Configuración del sitio

Un sprint compra dos semanas, no un proyecto terminado. En cada sprint abarco todo lo que dan de sí dos semanas, empezando siempre por lo más importante. Hasta dónde se llega depende de cuánto código a medida tenga el proyecto y de cómo esté: en una web pequeña puede significar dejar la lista a cero, y en una grande harán falta varios sprints. Lo que quede sigue avanzando con el plan mensual, y siempre puedes contratar otro más adelante.

Más tests de interfaz (Playwright)

Son los tests de Playwright del paso de Tests automáticos: recorridos que se comprueban en un navegador real. El plan mensual incluye tres, que se escriben una sola vez, al darte de alta, no tres nuevos cada mes. A partir de ahí el plan mantiene vivos todos los tests, y cualquier recorrido más allá de esos tres se desarrolla como lote de pago único: cuanto mayor es el lote, más barato sale cada test, porque el trabajo de preparación se comparte.

Más tests de interfaz (Playwright)

Confidencialidad y uso de inteligencia artificial

Parte de mi trabajo se apoya en inteligencia artificial, pero no en una IA cualquiera: en mis propios agentes y skills, construidos y afinados para este flujo de trabajo concreto, que leen código, detectan patrones y redactan una primera versión con una calidad que de otra forma costaría mucho alcanzar. Ese trabajo lo reviso siempre a mano, y nada se mergea en una rama sin esa revisión. Esta sección trata solo de dónde se ejecutan esos modelos, porque es la única decisión de esta página que pone tu código delante de un tercero. Todo lo demás se queda conmigo: trabajo en mi propia máquina y siempre con una copia sanitizada de la base de datos, así que nunca manejo los nombres ni los correos reales de tus usuarios.

Confidencialidad y uso de inteligencia artificial

Sobre tu proyecto

Estas respuestas no cambian el precio de lo que has configurado. Me dicen si encaja tal cual en tu proyecto o si en la propuesta te propondré algún ajuste. Todas son obligatorias.

Es mi única forma de trabajar: todo pasa por Git y cada entrega es una rama. Si tu proyecto aún no lo usa, montarlo es lo primero que hacemos.
Entornos propios*
Marca todos los que tengas.

Datos de contacto

Enviar esta solicitud no te compromete a nada: en dos días laborables como máximo te llega la propuesta cerrada por escrito, con el alcance detallado. Los precios se indican sin IVA y la cuota es mes a mes, sin permanencia.

Ahorro vs hecho a mano 2.210 €/mes Coste mensual 1.790 €/mes Pago único 0 €