En corto: un sitio en Drupal 11, al día, hecho completamente desde código. Cada cambio sale como una imagen de contenedor probada, y el sitio queda detrás de la red de Cloudflare, de modo que el servidor no abre ningún puerto web al público. Es bilingüe desde el primer commit, respeta el consentimiento de cookies y está documentado para que cualquier ingeniero de Drupal lo pueda operar sin nosotros. Lo construimos y lo operamos con agentes de IA que trabajan bajo reglas que bloquean, y una persona revisa cada cambio. Abajo va capa por capa: qué es y por qué le sirve a usted. Los ejemplos salen de nuestros propios sitios, que corren exactamente sobre esto.
¿Sobre qué está construido?
Sobre el núcleo de Drupal 11 (11.4.11 en este sitio, al 27 de octubre de 2026) y un grupo corto de módulos contribuidos conocidos, todos de drupal.org:
- Metatag y Simple XML Sitemap para buscadores;
- Pathauto y Redirect para direcciones limpias que no se rompen;
- COOKiES para el consentimiento;
- Honeypot, Antibot y ALTCHA contra el spam;
- autenticación en dos pasos para el equipo;
- Symfony Mailer Lite, para que los formularios de contacto de verdad lleguen.
Drupal Commerce solo entra cuando el sitio vende algo. El nuestro vende una hora de consultoría.
Por qué le sirve: si existe un módulo mantenido, usamos ese y no uno hecho en casa. Menos piezas a la medida es menos cosas que solo entiende una persona. Drupal 10 deja de tener soporte el 9 de diciembre de 2026, y Drupal 12 sale esa misma semana, así que un sitio que arranca hoy debe arrancar en 11.
¿Cómo se construye, y eso a mí qué?
Cada sitio nace de nuestra plantilla pública, drupal-skeleton, y la sigue recibiendo después, como un fork que sigue a su proyecto de origen:
- Todo vive en git. El código, la configuración (tipos de contenido, campos, vistas, ajustes) y las propias páginas del sitio están en un repositorio git, como archivos.
- Cada cambio se prueba. Corre las pruebas sobre una instalación limpia, revisa las dependencias contra los avisos de seguridad conocidos y construye una imagen de contenedor.
- Desplegar es un solo comando. Trae esa imagen, aplica la configuración y verifica que la página de inicio responda de verdad antes de darlo por hecho.
- Devolverse es volver a la imagen anterior.
- Cada semana llega un pull request, ya probado, con lo que la plantilla corrigió para todos los sitios, y corre un escaneo de seguridad contra el sitio.
Por qué le sirve: el sitio no depende del portátil de nadie ni de la memoria de una sola persona. Un ambiente nuevo se levanta desde el repositorio. Una corrección hecha una vez para todos le llega a usted como un cambio que puede leer. Una actualización de seguridad es un commit revisado, no un fin de semana perdido: el 26 de octubre de 2026 salió así una corrección de seguridad de PHP.
¿Dónde queda alojado?
Nuestros sitios corren como dos contenedores, Drupal y su base de datos MariaDB, detrás de un enrutador, en un servidor virtual privado. Todo el estado vive en un solo directorio. La base de datos y los archivos se respaldan cada noche, se guarda una copia fuera del servidor y las restauraciones se ensayan. El primer ensayo completo, el 18 de septiembre de 2026, cargó cada respaldo en una base de datos limpia y los conteos cuadraron. Ensayamos porque ya nos pasó: el 20 de agosto de 2026, al restaurar un respaldo, descubrimos que los anteriores no servían. La página volvía vacía y sin ningún error. Ese mismo día se corrigió el respaldo.
Por qué le sirve: la imagen corre en cualquier lugar donde corra Docker, así que el alojamiento sigue siendo decisión suya. Y un respaldo solo cuenta si alguien ya lo restauró.
¿Qué hace Cloudflare delante del sitio?
Todos los sitios que operamos están detrás de Cloudflare. Nuestros trece dominios están ahí desde el 6 de octubre de 2026. En la práctica:
- El DNS y los certificados se manejan allá, el HTTPS es obligatorio y se rechazan las versiones viejas de TLS.
- El servidor no abre puertos web. Un pequeño conector en el servidor llama hacia Cloudflare (Cloudflare Tunnel), así que desde el 7 de octubre de 2026 nada en internet puede llegar directo a la parte web de nuestro servidor. Solo queda abierto el puerto SSH de los administradores.
- Las páginas salen de la caché de Cloudflare para los visitantes anónimos. Las sesiones iniciadas, la administración, el carrito y el pago siempre van a Drupal.
- Cuando un editor guarda una página, sale de la caché en más o menos un minuto. Un despliegue solo limpia las páginas cuyo HTML cambió de verdad, y luego las vuelve a calentar.
- Sus registros siguen mostrando la dirección real de cada visitante, no la de Cloudflare.
Por qué le sirve: un pico de tráfico lo absorbe la caché, no su servidor. El servidor no queda expuesto a los barridos de internet. Y los editores ven sus cambios publicados sin pedirle a nadie que "borre la caché".
¿Me van a encontrar, en español y en inglés?
Bilingüe es lo normal, no un extra. El inglés vive en / y el español en /es/, cada página traducida, sin mezclar. La plomería de buscadores viene incluida:
- título y descripción por página y por idioma;
- direcciones canónicas;
- vistas previas para redes (Open Graph) en ambos idiomas;
- un mapa del sitio con los dos idiomas, anunciado en robots.txt;
- enlaces
hreflangque le dicen a Google cuál versión es cuál.
Además dejamos que los motores de respuesta con IA lean el sitio. Hoy ningún rastreador de IA está bloqueado, ni en el servidor ni en Cloudflare.
Por qué le sirve: nada de esto se puede pegar después del lanzamiento sin que alguien note que faltaba. Casi siempre ese alguien es Google.
¿Y la privacidad, el Habeas Data y las cookies?
La analítica solo carga cuando el visitante la acepta. El aviso de cookies trae "rechazar todo", y Google Tag Manager queda bloqueado hasta que haya consentimiento. El visitante anónimo no recibe ninguna cookie de sesión, y eso mismo es lo que permite servirle las páginas desde la caché. La política de privacidad explica los derechos que da la Ley 1581 de 2012 y cómo presentar una queja ante la Superintendencia de Industria y Comercio. La protección contra spam funciona sin acertijos de imágenes. El equipo entra con autenticación en dos pasos una vez su llave queda configurada en el servidor.
Por qué le sirve: un consentimiento que se cumple en el código, y no solo en un aviso, es lo que revisaría la SIC.
¿Dónde entra la inteligencia artificial?
En dos partes, y ninguna es de adorno.
En cómo construimos y operamos el sitio. Usamos a diario Claude Code, el agente de programación de Anthropic. Trabaja bajo reglas escritas para cada proyecto y bajo hooks que frenan un comando peligroso antes de que corra. Un ejemplo: desde el 23 de septiembre de 2026 un hook rechaza un tipo de comando que había dañado archivos sin avisar. La regla escrita sola no había bastado. El código del agente pasa por las mismas pruebas, auditorías y verificaciones que el de cualquiera. Una persona revisa cada cambio y decide cada despliegue a producción. Entre el 1 de septiembre y el 27 de octubre de 2026, 128 de los 165 commits del repositorio de este sitio se escribieron junto con Claude, y cada uno lo dice. Nuestro fundador tiene la certificación de Anthropic en Claude Code.
En lo que el sitio puede llevar. El concierge de nuestra página de inicio es un agente de voz con IA que corre dentro de Drupal. Usa elevenlabs_agent, un módulo que nuestro fundador creó y mantiene en drupal.org. Las sesiones se crean en el servidor, así que ninguna llave de API llega al navegador del visitante. Las respuestas de vuelta van firmadas y verificadas, y el costo de cada llamada queda monitoreado. El módulo está en su serie 1.0 alpha: publicado y mantenido activamente. Una función de IA es opcional, y nada más del sitio depende de ella.
Por qué le sirve: recibe un sitio hecho con IA y con los controles de uno hecho con cuidado. La IA pone el volumen, y una persona responde por el resultado.
¿Qué queda a mi nombre al final?
- El código y la configuración, en un repositorio git.
- El contenido y los archivos, en su base de datos y su directorio de archivos.
- La imagen de contenedor.
- La documentación de dónde vive cada ajuste y cómo se despliega, junto al código.
Drupal es software libre (GPL). Nada de lo que agregamos amarra el sitio a nosotros. Las cuentas de las que depende (el dominio, Cloudflare, el repositorio, el servidor) se abren a su nombre, y nosotros trabajamos en ellas como invitados.
Por qué le sirve: si un día deja de trabajar con nosotros, el sitio sigue funcionando, y el siguiente ingeniero arranca desde documentos, no desde una llamada.
¿Qué no prometemos?
Hoy el ingeniero es nuestro fundador. Por eso el soporte va en horario hábil de Colombia (UTC-5), sin guardias 24/7. Las migraciones y los desarrollos se cotizan después de una auditoría, porque una cotización que no ha leído su código es un cálculo al ojo. El único precio fijo es una hora con el fundador: 75 dólares.
Si quiere saber qué tiene ya su sitio actual y qué le falta, escríbanos o pregúntele al concierge en la página de inicio.