Es común pensar que los generadores de sitios estáticos (SSG) son una herramienta popular que ofrece muchos beneficios. Hugo y Hexo son ejemplos de este tipo de generadores. Sin embargo, existen varias razones por las que un generador de sitios estáticos podría no ser un reemplazo adecuado para el sistema de administración de contenido (CMS).
1. Todo depende de ti
Sin algo de experiencia en desarrollo, no podrá utilizar un generador de sitios estáticos de manera eficaz. Usar un sistema de administración de contenido es más difícil, hay menos recursos y es posible que descubra que no hay complementos y plantillas prediseñados disponibles.
Compare esto con WordPress. Los usuarios que no son técnicos pueden necesitar ayuda con el proceso de instalación; sin embargo, una vez que se completa la instalación, pueden editar un sitio e instalar uno de los miles de temas y complementos disponibles. Aunque su sitio web puede no ser el más sofisticado de Internet, han podido funcionar sin demasiada intervención.
2. Parálisis de elección
Hay varios generadores de sitios estáticos disponibles, pero a pesar de su popularidad, solo una pequeña parte de la comunidad web utiliza estas herramientas. El proceso de investigar, examinar y evaluar sus opciones llevará algún tiempo. En términos de SSG, uno de los primeros provino de Jekyll basado en Ruby, aunque no es necesario que tenga experiencia previa en Ruby, será beneficioso si tiene conocimientos previos con este idioma.
WordPress es uno de los sistemas de gestión de contenido más populares del mercado. Más del 40% de Internet funciona con esta tecnología, por lo que el soporte está disponible. Si tiene experiencia con PHP, será beneficioso, pero incluso alguien que no tenga experiencia en programación puede crear un sitio web útil mediante el uso de temas y complementos prediseñados.
3. Tiempo necesario para la configuración inicial
Desarrollar un sitio estático llevará algún tiempo, así que no espere que se complete en un día. Será necesario desarrollar gran parte del código de la plantilla y deberá aprender el proceso de compilación. Además, es posible que también se requieran secuencias de comandos de implementación.
También puede ser un desafío desarrollar un tema de CMS personalizado, pero hay plantillas prediseñadas disponibles y se puede encontrar ayuda donde sea necesario. Es posible que la instalación inicial no necesite desarrollarse más.
4. Sin interfaz de administración
Los clientes pueden dudar en utilizar una interfaz CMS que tenga una interfaz compleja. Es posible que algunas personas se sientan intimidadas por la perspectiva de crear y editar archivos Markdown. Es posible que desee considerar lo siguiente como una forma de simplificar el proceso:
- El uso de CMS se puede utilizar como fuente SSG
- Para proporcionar flujos de trabajo más fáciles, como editar archivos basados en Git usando StackEdit o HackMD.
Sin embargo, esto afectará aún más el tiempo de desarrollo inicial.
5. Consistencia del sitio web
Los sitios web con contenido estático son extremadamente flexibles: cualquier elemento incluido en el contenido de origen se puede reproducir en la web. Es posible que los usuarios incluyan scripts, widgets y numerosos elementos no deseados.
Es posible configurar un CMS de manera que restrinja al usuario. Es común que el contenido se asigne a una base de datos con campos específicos, por lo que el panel de administración le pide al usuario que proporcione un título, contenido del cuerpo, extractos, imágenes destacadas, etc. A pesar de que el usuario puede ingresar datos en un campo inesperado , los datos ingresados no aparecerán en el sitio web a menos que se hayan incluido específicamente dentro de la plantilla.
6. Gestión de sitios a gran escala
Piense en un sitio web con miles de páginas, contenido diario, noticias de última hora en tiempo real y decenas de escritores de todo el mundo que contribuyen al sitio web. Se puede usar un generador de sitio estático para administrar el contenido de un sitio, pero:
- A veces es difícil editar y publicar contenido. Los editores pueden requerir un repositorio de Git o una carpeta compartida en lugar de una aplicación o interfaz web simple.
- Dado que el sitio debe reconstruirse, probarse e implementarse, habrá un retraso en las actualizaciones en tiempo real.
- La implementación podría resultar difícil y los tiempos de construcción podrían aumentar rápidamente.
Un generador de sitios estáticos puede ser más apropiado para sitios con menos de unos pocos cientos de páginas y una o dos publicaciones nuevas cada semana. Será necesario automatizar la compilación y cualquier implementación de software, y puede llegar a un punto en el que un sistema de gestión de contenido se vuelva más práctico.
7. Funcionalidad en el lado del servidor
Si bien los sitios estáticos son ideales para las páginas de contenido, la situación se vuelve más desafiante cuando se requieren otras funciones, como inicios de sesión de usuarios, llenado de formularios, funciones de búsqueda, foros de discusión, etc. Entre las opciones están:
- Integrar componentes del lado del cliente, como la búsqueda de Angolia o los comentarios de Disqus.
- Crear sus propias API del lado del servidor (o sin servidor) que pueden ser consumidas por JavaScript del lado del cliente para agregar una funcionalidad específica.
- Crear páginas que contengan <?php … ?> u otros bloques de código del lado del servidor.o.
- Preferir un marco como Next.js, que procesa contenido estático cuando es posible y al mismo tiempo habilita el procesamiento del lado del servidor.
A pesar de esto, los costos de desarrollo, la complejidad del proceso de construcción, las implicaciones de seguridad y los costos aumentarán. Alternativamente, se puede usar un complemento de WordPress para implementar la funcionalidad del lado del cliente o del lado del servidor en unos pocos minutos.
Entonces, ¿es un sitio estático adecuado para usted?
Antes de tomar cualquier decisión, considere lo siguiente:
- Los requisitos de su proyecto, como tamaño, complejidad, frecuencia de actualizaciones, etc.
- La ubicación y las expectativas de sus usuarios.
- Las habilidades de desarrollo de su equipo,
- Cualquier problema relacionado con el alojamiento y la implementación.
La mayoría de los sitios web contienen menos de unas pocas docenas de páginas, rara vez se actualizan y dependen de un desarrollador para realizar los cambios. El uso de un sistema de administración de contenido es a menudo excesivo y la implementación de un generador de sitios estáticos podría simplificar el desarrollo y reducir los costos. Es posible que le resulte más difícil convencer a su cliente de que abandone sus paneles de administración de contenido.
Si te gustó, sigue leyendo: