¿Qué es un Headless CMS y en qué se diferencia de un CMS común?

Todo sitio o aplicación que maneje información, necesita de un sistema de gestión de contenido que la administre, en este caso, hablaremos acerca de las diferencias entre un CMS tradicional y un Hadless CMS.

Diseño web
Lectura de 8 minutos
23 jul. 2020
¿Qué es un Headless CMS y en qué se diferencia de un CMS común?

¿Qué es un Headless CMS?

Todo sitio web, aplicación, blog, tienda, requiere de un sistema que permita al usuario administrar sus publicaciones, ya sea un post de un blog, productos de una tienda online, cursos de una plataforma de estudios, etc. Este sistema se le conoce como CMS (Content Managment System) o Sistema de gestión de contenidos, en español.

En internet hoy tenemos muchas alternativas para elegir como CMS, el más popular es WordPress, quien abarca el 35% de los sitios web en todo el internet (según su página oficial). Pero también existen otros como Drupal, Prestashop, Magento, Moodle, Joomla, y varios más. Estos CMS los llamaremos en este post como CMS tradicionales.

Normalmente estos CMS los conseguimos empaquetados en una carpeta .zip que al extraerlo nos genera una estructura de carpetas. Y es así como éstos funcionan, todo en función de su propia estructura, es decir, tanto la parte web que consume el usuario como el dashboard que usa el administrador forma parte de la misma estructura, y cuando lo subimos a un servidor, subimos todo junto. Veamos éste gráfico.

https://edteam-media.s3.amazonaws.com/blogs/original/e0f12208-8390-44e1-b3bc-faa733d69bda.jpg

Es perfecto para usuarios finales, quienes desean solo instalar con unos pocos clicks y empezar a administrar su sitio. Pues ya contiene dashboard y web juntos, y cuenta con marketplaces de temas para personalizar tu sitio.

Sin embargo, si eres de los que les gusta personalizar a mano, creando tu propia web con su propio HTML y CSS, se complica un poco más, ya que debes adaptarte a la forma como cada CMS trabaja sus plantillas para que tu diseño funcione.

Ahora que sabemos qué es un CMS ¿Qué es un headless CMS?

Su traducción en español no tiene mucho sentido "CMS sin cabeza", pero así se les llama. Y básicamente es un CMS pero que cuenta sólo con el backend y la gestión de contenido entre tu dashboard y tu sitio web se hace a través de consultas API, por lo que estos CMS se diseñan con arquitectura API Rest.

¿Qué significa esto?

Pues, a diferencia de un CMS como WordPress donde la web y el dashboard forman parte de un mismo conjunto, un Headless CMS no cuenta con la parte web, solo y únicamente con el dashboard. ¿Y lo que el usuario consume dónde queda? Ya sea una aplicación web, una tienda, etc, se diseña y se desarrolla a parte, usando el lenguaje que quieras independientemente del tu CMS.

Tenemos muchas alternativas también, por nombrar algunos, existen: Flamelink CMS basado en Firebase, Netlify CMS y Strapi. Veamos éste gráfico de cómo funcionan.

https://edteam-media.s3.amazonaws.com/blogs/original/5a96e01a-8055-4ad9-a64b-204c9fa7c5dc.jpg

Podemos observar que el CMS, en este caso Strapi, y el sitio web, están encerrados en círculos distintos. Esto representa a que cada uno está separado, cada uno con su estructura de carpetas distintas, e incluso podríamos decir que cada uno en servidores diferentes, y como mencioné anteriormente, podrían estar usando tecnologías diferentes (ya que la manera en como se comunican es a través de una API).

Y así como un Headless CMS se comunica con una web que está posiblemente ubicada en otro servidor, podría comunicarse con dos o más webs.

https://edteam-media.s3.amazonaws.com/blogs/original/6828aeaf-b644-4fb0-8378-d28514238e71.jpg

Por ejemplo, si tienes un blog escrito en React, y una tienda online escrita en Angular, cada uno es un proyecto diferente que puedes tener en servidores distintos, en éste escenario un Headless CMS es ideal para ti, puedes administrar ambos proyectos desde un mismo CMS.

Y finalmente... ¿Cuál es mejor?

Ésta pregunta tendrá siempre la misma respuesta: Depende. ¿Depende de qué? Principalmente de los requerimientos del proyecto y las necesidades del cliente. Si el cliente es una persona que solo quiere publicar sus entradas de su blog, lo más rápido es usar un CMS como WordPress. Pero si el cliente quiere una plataforma más grande, por ejemplo como EDteam, a pesar de que se podría usar un CMS tradicional para ello, se queda corto cuando quieres personalizarlo a tu manera e implementar cosas que no puedes controlar fácilmente en un CMS tradicional. Y en esos casos, creas tu propio Headless CMS o usas uno de los mencionados anteriormente.

Y si has llegado hasta acá y te ha entrado la duda luego de conocer qué es un CMS y un Headless CMS, en EDteam nosotros tenemos nuestro propio CMS, es de tipo Headless CMS ya que se comunica con la web a través de consultas API, y a nivel de desarrollo se manejan como dos proyectos distintos.

Si quieres aprender más sobre CMS, en nuestro curso de Crea tu primer CMS con PHP te lo explicamos más a fondo. Ingresa a https://ed.team/cursos/php-cms y, ¡accede a la primera clase gratis!

Avatar

Jose Alvarado

@josealvaradoVer perfil

Venezolano. Estudiante de Ingeniería Civil. Frontend Developer en @EDteamlat

Recuerda iniciar sesión para comentar este articulo

Cursos recomendados

Crea tu primer CMS con PHP

Crea tu primer CMS con PHP

Avatar

Yesi Days

5

4.2

Ajax y WebSockets

Ajax y WebSockets

Avatar

Alexys Lozada

5

4.7

Consumo de APIs con Laravel

Consumo de APIs con Laravel

Avatar

Yesi Days

5

4.4