¿Qué es un sitio web estático?

Un sitio web estático es aquel que del lado del servidor solo sirve archivos HTML, CSS y JavaScript preconstruidos a un navegador web, en contraste con los sitios web dinámicos tradicionales como WordPress que funcionan generando la página web en el momento de la solicitud.

Los sitios web estáticos le permiten desacoplar su contenido de la interfaz de usuario, lo que le brinda una mayor flexibilidad a la hora de servir su contenido. La rentabilidad es otra razón por la que las empresas migran a un sitio estático porque las páginas web estáticas son livianas y a menudo, más rápidas y económicas de servir.

En los últimos años, los sitios estáticos han aumentado considerablemente en popularidad. Este aumento se debe principalmente a los avances en las herramientas de desarrollo (lenguajes y bibliotecas) y un mayor deseo entre las empresas de optimizar el rendimiento de su sitio web más allá de los límites de una conexión a una base de datos.

Sitio web estatico vs dinamico

Generadores Estáticos vs Sitios Dinámicos

Los sitios estáticos se pueden escribir casi exclusivamente en HTML y ofrecen un conjunto fijo de datos que representan lo mismo para cada visitante del sitio. Los sitios estáticos utilizan la representación del lado del servidor para servir archivos HTML, CSS y JavaScript preconstruidos a un navegador web. Los sitios dinámicos funcionan de una manera completamente diferente, internamente usan lenguajes de programación del lado del servidor, como PHP, para crear páginas web sobre la marcha y brindar contenido diferente a cada visitante del sitio.

Por qué debería considerar una página web estática

1. Velocidad/Rendimiento

La representación del lado del servidor presenta menos desafíos potenciales cuando se trata de la carga del sitio, ya que los datos (el contenido de su sitio) se entregan como una página web completamente renderizada previamente. Es menos probable que los visitantes del sitio experimenten problemas como imágenes rotas o páginas que no se cargan. La velocidad de la página también puede ser más rápida porque un sitio estático se renderiza previamente como archivos HTML estáticos y livianos. Es más eficiente representar una página web preconstruida en lugar de generar la página web para cada visitante de la página. Las velocidades de página mejoradas también pueden traducirse en mejores clasificaciones de SEO.

2. Flexibilidad

Los sitios estáticos se pueden representar utilizando una multitud de marcos. Los desarrolladores pueden trabajar con su lenguaje y marco preferidos (como JavaScript, Ruby, React, Vue, etc.), lo que facilita la creación y el mantenimiento. Otras ventajas incluyen poder aprovechar mejor su infraestructura en la nube y simplificar el desarrollo del sitio gracias a menos dependencias.

3. Escalabilidad

Los aumentos repentinos de tráfico de una página web a veces son causados ​​por cosas buenas (popularidad, interés periodístico o viralidad), pero ¿Cómo responderá su página web a una mayor demanda de tráfico? Bueno, si alguna vez recibió el mensaje “Error al establecer una conexión a la base de datos” cuando solicitó una página, estará familiarizado con la forma en que WordPress reacciona ante un pico de tráfico no soportado en el hosting.

Con un sitio web estático no ocurriría esto, pues funciona diferente. Debido a que las páginas web estáticas se componen de archivos planos html, css y js (no de código y bases de datos que interactúan en cada solicitud de página), son mucho más fáciles de escalar a grandes volúmenes de tráfico.

4. Seguridad

Con un sitio dinámico, los piratas informáticos tienen múltiples oportunidades para violar sus datos porque todo el sistema está conectado. Sin embargo, con un sitio estático, su base de datos de contenido existe independientemente de su interfaz web frontal. Esta configuración brinda a los piratas informáticos menos puntos de entrada y mantiene sus datos más seguros. Los visitantes del sitio web no se conectan a la base de datos de contenido cada vez que visitan su sitio web, lo que proporciona otra ventaja de seguridad en comparación con los sitios basados ​​en bases de datos.

5. Ahorro de tiempo

Tomando el WordPress monolítico como nuestro ejemplo, una instalación típica requeriría que los usuarios deban instalar, configurar y administrar PHP en un servidor web o en un hosting (este debe contar con MySQL y PHP) para que WordPress se pueda instalar, además necesitará instalar plugins y una plantilla sobre la cual desarrollarás tu página web. (Y todo esto sin ni siquiera pensar en qué hacer cuando solo una de estas partes deja de funcionar, o ya no sea compatible una con otra) lo que queda claro es que con WordPress se requeriría de una administración continua.

A diferencia de WordPress, un SSG genera archivos estáticos del lado del cliente, las dependencias que se puedan necesitar no se instalan ni se administran en un servidor de producción. Esto significa que los sitios web estáticos no dejarán de funcionar simplemente porque, por ejemplo, alguien actualizó PHP a v8.1.3, ya que todos los complementos que puedas usar no dependen del servidor sino del cliente (el navegador), es decir requerirán por lo general solo complementos de js.

Frameworks para construir un sitio web estático

Para construir un sitio web estático se suele utilizar un SSG (Static Site Generator). Un generador de sitios estáticos le permite aplicar una plantilla a sus datos y contenido, lo que simplifica el proceso de convertir sus datos en un sitio web o formato de aplicación. Hay docenas de versiones disponibles para utilizar con diferentes lenguajes y marcos de desarrollo. Considere factores como el tamaño del sitio, el propósito principal y la funcionalidad al evaluar los generadores de sitios estáticos.

Algunos de los mejores y más prometedores generadores de sitios estáticos favoritos son:

  • Hugo : un generador de sitios estáticos escrito en Golang y conocido por su velocidad de creación de sitios. Yo por cierto lo uso en este blog y aquí te explico como crear tu primera página web estática con Hugo.
  • Next.js : un marco popular para aplicaciones React estáticas.
  • Gatsby : quizás el generador de sitios estáticos basado en React más popular.
  • Jekyll : basado en Ruby y uno de los generadores de sitios estáticos más utilizados.
  • Nuxt.js : similar a Next.js, excepto que el marco se basa en Vue en lugar de React.
  • Eleventy : una opción basada en JavaScript menos conocida que ha ido ganando terreno en la comunidad de desarrolladores.

Si desea explorar aún más opciones, consulte esta excelente lista de generadores de sitios estáticos de Jamstack. Recomendamos usar un CMS sin cabeza junto con un generador de sitios estáticos para construir su sitio estático. Un CMS sin cabeza es un sistema de administración de contenido que entrega sus datos a través de una API, lo que le brinda la flexibilidad de presentar esos datos a través de diferentes canales. Sanity va más allá de otros CMS sin cabeza al ofrecer estructuras de contenido verdaderamente flexibles, lo que le permite tratar su contenido como datos y brindar colaboración en tiempo real.

Hosting para páginas web estáticas

Existe una variedad de opciones para un alojamiento simple, eficiente y eficaz para sitios web estáticos, desde los gratuitos como Github Pages hasta Firebase Hosting que es de pago, pero es barato y te ayuda un montón, además que viene con una cuota gratuita para que puedas empezar. La elección entre uno u otro será acorde a tus necesidades. Un sitio web estático no requiere muchos recursos para funcionar, no necesitarás un servidor backend o una base de datos, las siguientes ventajas casi todos las comparten y te las detallo a continuación:

  • Velocidad: Los sitios web estáticos se cargan más rápido, mucho más rápido. Sin necesidad de realizar llamadas a la base de datos o actualizar dinámicamente la página antes de renderizar, están disponibles al instante para los usuarios.

  • 🔎 SEO: Las clasificaciones de SEO modernas favorecen a los sitios web de carga rápida, una característica clave de las páginas web estáticas. Los rastreadores escanean fácilmente páginas renderizadas previamente.

  • 🤑 Bajo costo: Cualquier servidor de archivos estáticos tendrá casi siempre menos costo de alojamiento, que una alternativa que contemple una base de datos, incluso a escala.

  • 🔒 Seguridad: Las vulnerabilidades a menudo ocurren en servidores que deben actualizarse regularmente para evitar infracciones. Los sitios estáticos no requieren servidores backend y, por lo tanto, no son susceptibles a las vulnerabilidades web típicas.

  • 🧘 Despliegues simples: Publica tu sitio en segundos. Los archivos HTML son pequeños y extremadamente rápidos de implementar. No es necesario configurar servidores o bases de datos complejos.

  • 👨‍🔧️ Confiabilidad: Las páginas renderizadas previamente brindan una experiencia uniforme en todo momento. Olvídate de los fallos y desconexiones que interrumpan la experiencia de navegación de los usuarios.

Conclusión

Cuanto más grande sea tu proyecto de sitio web para internet, más imprescindible se volverá su gestión. Si tu proyecto está enfocado en la entrega de contenido, y la categorización es clara y ordenada, y todo este contenido se encuentra bajo el soporte de una plantilla de diseño masomenos estable que busque poner por delante la sencillez del diseño y la carga rápida de tu página web en los navegadores, entonces una página web estática será tu mejor opción, pues es más económico y flexible para estas necesidades.