Ghost, un gestor de blogs que conviene tener en cuenta
Aunque WordPress nació como gestor de blogs, su uso actual trasciende el mundo del blogging y podemos encontrarlo detrás de cualquier tipo de proyecto web, como vemos constantemente en nuestra sección de WordPress. Sin embargo, Ghost es una solución de gestión de contenidos diseñada especialmente para blogs y que se caracteriza por su funcionalidad y elevado rendimiento, algo que podemos veremos multiplicado si lo instalamos en un Servidor Cloud desde el Catálogo de Aplicaciones Cloud.
Basado en NodeJS, Ghost es un software de gestión de contenidos enfocado a blogs, con multitud de integraciones y que permite una completa personalización del aspecto. En su conjunto, es una solución que resulta muy amigable para cualquier desarrollador. Pero donde realmente destaca es en su rendimiento.
Tecnologías de Ghost
Podríamos decir que Ghost es un competidor de WordPress, aunque usa tecnologías bien distintas en su base, por lo que merece ser estudiado aparte. Está desarrollado enteramente en Javascript, usando NodeJS como plataforma del lado del servidor. Esto nos garantiza la capacidad para atender a muchos usuarios sin demasiada infraestructura de servidor.
Para la parte de administración del contenido usa Ember, que es un framework del lado del cliente capaz de implementar SPA (Single Page Application) de una manera sencilla. Además, está construido con un API por detrás, lo que hace independiente el código del frontal y el código del backend y en la práctica permite gestionar la web desde cualquier dispositivo, incluso con su aplicación Ghost Desktop, que es un programa de administración que se ejecuta como software de escritorio.
A pesar de tener un API por detrás, la parte del frontal de la web pública (a la que acceden los usuarios para visitar el blog) está construida usando un sistema de plantillas HTML perfectamente adaptadas a SEO. En resumen, el HTML se renderiza del lado del servidor y, por tanto, los motores de búsqueda son capaces de obtener el contenido con el que indexar la web.
Para la base de datos, Ghost usa SQLite de manera predeterminada, lo que permite evitar cualquier necesidad de configuración para comenzar a usarlo. Pero, si lo deseamos, también se puede ejecutar sobre una base de datos MySQL cambiando la configuración de database en el fichero config.js.
Personalización
Ghost, como cualquier sistema de blogs profesional, se puede personalizar por medio de un sistema de plantillas o templates. Con un poco de conocimiento de Handlebars y el API del CMS, podemos editar nuestras propias plantillas rápidamente.
El sistema de templates está construido con una fuerte separación entre la lógica del software y la presentación, lo que facilita el mantenimiento. Aunque si no somos desarrolladores también es posible contar con un tema personalizado a través de su marketplace.
Ghost en Servidores Cloud
Al ser un software de código abierto, podremos instalarlo y usarlo para cualquier tipo de proyecto y si lo hacemos a través del Catálogo de Aplicaciones de los Servidores Cloud de Arsys, comenzaremos a usarlo en pocos minutos en una plataforma flexible y con un rendimiento acorde a este gestor de contenidos.
Al tratarse de un software basado en NodeJS es suficiente una máquina con recursos limitados para que funcione con mucha fluidez, incluso con gran cantidad de usuarios concurrentes. Casi la máquina con menores características será capaz de ejecutar el CMS basado en base de datos SQLite. Si decidimos usar MySQL quizás sea mejor contar con una máquina un poco mayor, aunque, gracias a las herramientas de migración y el soporte a ambos sistemas gestores, es posible pasar de uno al otro cuando sea necesario.
Su instalación en un Servidor Cloud nos permite aprovecharnos de la ventaja de su escalabilidad, comenzando en una máquina pequeña que podremos aumentar cuando veamos que comienza a tener sus recursos saturados. Esto nos ayudará a reducir nuestro presupuesto al máximo para comenzar y nos garantiza que podremos crecer en el futuro tanto como sea necesario, de un minuto para otro y sin necesidad de migraciones.