Cómo está construido este sitio
Cada apartado es una decisión: qué necesitaba, qué elegí y qué cuesta esa elección. Los costes importan más que las elecciones.
Qué ocurre cuando abres una página
- Tu navegador pregunta a la ubicación de Cloudflare más cercana. Mientras prepara la respuesta, ya le indica qué archivos debe pedir primero (una pista temprana).
- La página llega como HTML terminado, con las cabeceras de seguridad. Detrás no hay ningún servidor de aplicaciones.
- La hoja de estilo, el script y las fuentes salen del mismo sitio. Sus nombres llevan una huella de su contenido, así que tu navegador puede guardarlos un año.
- En los navegadores que lo permiten, al apoyar el puntero sobre un enlace se prepara en segundo plano la página siguiente, y se abre al instante.
Sin framework
Una página sobre una sola persona debe abrirse al momento, incluso con mala conexión. Por eso el sitio es HTML sencillo, una hoja de estilo y un script que se mantiene por debajo de 30 KB comprimido, y las páginas se construyen de antemano: el mismo código que dibujaría la página en tu navegador la dibuja al compilar, y tú recibes HTML terminado.
El coste es un pequeño script de compilación que mantengo yo mismo en lugar de apoyarme en las convenciones de un framework.
Archivos estáticos y sin código de servidor
Sin base de datos ni servidor de aplicaciones, no hay nada que parchear en el camino de la petición. El formulario de contacto abre tu programa de correo con un borrador preparado en lugar de enviar los datos a un servicio que yo tendría que defender.
El coste es que el sitio no puede guardar nada por mí, como los mensajes.
Cloudflare para producción, con respaldo
Cloudflare Pages me permite enviar cabeceras de seguridad reales y conservar durante un año los archivos con huella; el alojamiento estático gratuito con el que empecé no puede fijar cabeceras.
El coste es un proveedor más y un secreto que proteger. El alojamiento anterior sigue preparado como respaldo, de modo que volver atrás lleva minutos.
Una Content Security Policy estricta
Los scripts solo pueden venir de este sitio, más la analítica de Google cuando aceptas. Eso descarta clases enteras de ataques.
El coste es que no se permiten atajos cómodos como los scripts en línea, así que cada comportamiento vive en un archivo que la política puede nombrar.
Analítica solo con consentimiento
Saber cómo se usa el sitio es útil; seguir a las personas sin preguntar, no. La analítica permanece apagada hasta que aceptas.
El coste es que mis cifras se quedan cortas, y lo acepto.
La velocidad como requisito comprobado
Un presupuesto escrito en un documento se olvida; uno incluido en las pruebas detiene la publicación. Una primera visita puede usar 200 KB y 12 peticiones en el navegador de pruebas, y un cambio que lo supere no se publica.
El coste es que cosas como las imágenes grandes o las fuentes adicionales hay que justificarlas antes de añadirlas.
Dos puertas antes de producción
Todo cambio se publica primero en una copia protegida con contraseña. Producción exige un paso manual aparte, con una confirmación escrita y la aprobación de un revisor.
El coste es la rapidez: publicar es más lento que lanzar con cada fusión, y es deliberado.
Pruebas de lo que notan los visitantes
Las pruebas comprueban accesibilidad, contraste de color, cabeceras de seguridad, los tres idiomas, la página impresa, las transiciones y el presupuesto de rendimiento, en vista de escritorio y de móvil.
El coste es esperar unos minutos, que se reducen ejecutando los grupos de pruebas en paralelo.