O que é um CMS?
Se você quer algo além do WordPress, Medium, Blogspot, Ghost etc. Ou qualquer outra plataforma de blogs, ou simplesmente quer saber mais. Você vai conhecer um termo chamado CMS — Content Management System (Sistema de Gerenciamento de Conteúdo).
O que um CMS faz é apenas oferecer uma forma estruturada de gerenciar seu conteúdo. Imagine que você tem dezenas de milhares de posts de blog: como você deve armazená-los e gerenciá-los em boa ordem? Dessa forma, você pode editá-los e revisitá-los de maneira eficaz no futuro.
Recursos de gerenciamento como:
- Autores — Administre quantos autores você tem, revise os textos deles etc.
- Conteúdo — Coloque posts em categorias, adicione um sistema de tags, consiga organizar o tema de forma sistemática.
- Plugins — O WordPress tem muitos plugins, desde melhorar seu SEO até adicionar uma seção de assinatura etc.
Esses recursos são quase obrigatórios se você quer ter um blog ou site duradouro. Mas se você está apenas fazendo um site simples de poucas páginas, você realmente não precisa disso.
O que é um CMS tradicional?
- Seus posts são armazenados como Markdown
O CMS tradicional armazena cada post do seu blog em um arquivo separado, geralmente com uma extensão de arquivo chamada .md ou .mdx, que é uma abreviação para arquivos Markdown. Assim, você pode escrever algo como:
## Happy New Year
**Hello** mum.A entrada acima seria traduzida pelo CMS: “Heading 2 por usar ##, e ** para deixar em negrito” e então geraria a saída como HTML para você. Assim, você não precisa escrever código como este: “<h2>Happy New Year</h2><p><b>Hello</b> mum</p>”, e pode simplesmente focar em escrever o conteúdo.
- Do Markdown à URL publicada
Seus arquivos Markdown geralmente ficam dentro de uma pasta chamada blog ou posts, depende de como você quiser. A forma como você organiza seus arquivos Markdown normalmente se reflete também na URL publicada. Se você colocar seus arquivos em root/posts/hello-mum.md, a URL publicada ficará como example.com/posts/hello-mum. Mas isso depende de como você configura ou de qual CMS você usa.
Se você quiser um novo post, basta criar um novo arquivo .md. Se você o nomear peter-parker.md, a URL terminará com posts/peter-parker.
- Schema para o seu Markdown
Schema é uma coleção de variáveis que você define para o seu CMS; um exemplo de arquivo Markdown pode ser algo assim:
---title: 'Hello Mum'date: 2023-11-10tags: ['Parenting', 'Mum', 'Family']summary: 'Say hi to your mum instead of hello world'image: src: /images/mumSmiling.jpg alt: myMumauthors: ['default']---
<img src="../../../public/images/omelet.jpg" alt="omelet"/>or
3 collapsed lines
## Breakfast
I usually make omelet for her....... (continue on your article)Os campos como title, date, tags, summary, image src e alt, authors são predefinidos. Você só precisa alterar os valores de cada campo conforme o caso. No entanto, se você for desenvolvedor, pode editar facilmente os campos como quiser.
Como você pode ver, você pode até inserir código HTML dentro do seu Markdown também. Que conveniente, não?
O que é um CMS headless?
- Ele usa banco de dados para separar sua página web dos posts do blog.
O CMS headless funciona de forma semelhante ao tradicional, e você também pode escrever em Markdown. Mas ele não armazena seu post de blog em Markdown no seu site. Em vez disso, ele separa seu conteúdo do seu site; deixe-me explicar.
CMS headless significa que o conteúdo é separado do seu front-end. Seus posts de blog são armazenados em um servidor de back-end em outro lugar.
Quando você cria seu site em um CMS tradicional, geralmente chamamos isso de geração de site estático. Isso significa que você coloca tudo — incluindo os artigos que escreveu, o design do seu site e o sistema de CMS — dentro da mesma pasta. Depois, você o gera quando estiver pronto, de modo que ele produz uma pasta contendo tudo — é isso que os visitantes veem.
Mas um CMS headless não conteria originalmente posts de blog nem informações de autores dentro da pasta de design do seu site.
Em vez disso, o conteúdo é armazenado em um servidor na nuvem, dentro de um banco de dados. Quando você compila seu site, ele tem uma lógica para consultar (conversar com o banco de dados na nuvem) e recuperar todos os seus posts armazenados no servidor na nuvem. Assim, quando você publica seu site, ele obtém automaticamente esses dados da nuvem, integra-os como parte do seu site e então gera um site completo com seus posts de blog.
Desvantagens do CMS headless
- Custo
Os CMSs tradicionais geralmente são gratuitos; você só precisa pagar pelo custo de hospedagem do seu site. Se você usa o GitHub, é basicamente gratuito. Por outro lado, o CMS headless geralmente cobra uma mensalidade mais um custo extra por assento (autor), ou seja, você paga conforme o tamanho da sua equipe.
- Limites de largura de banda (Custo)
Se o seu site tem muito conteúdo e recursos (imagens), isso pode consumir muita largura de banda do servidor do seu CMS headless. O serviço deles também tem limites de largura de banda para cada plano que você escolher. Mas com o CMS tradicional, você só precisa se preocupar com o custo de hospedagem e a largura de banda do site. E se você estiver usando o Cloudflare Pages, ele oferece largura de banda ilimitada, de graça.
- Exige mais esforço para construir
O gerador de site estático (CMS tradicional) é mais fácil de implementar do que o CMS headless. Isso porque, com o CMS tradicional, você só precisa se preocupar com o schema e com a escrita em Markdown, e isso provavelmente funcionará em muitos CMSs tradicionais. Mas o CMS headless exige um pouco de lógica de requisição de API e o aprendizado de um método de consulta específico para cada provedor de CMS headless.
Quando usar cada um?
- CMS tradicional
ex.: Hugo, 11ty, Jekyll, Gatsby etc.
Equipe pequena ou só você.
- CMS headless
ex.: Sanity, WordPress, Strapi, Drupal, Payload, Prismic etc.
Equipe grande ou para escalabilidade futura.
Isso não significa que você não deva usar um CMS headless se tiver uma equipe pequena; é apenas uma diretriz geral.
Além disso, se você não quiser gerenciar e escrever seus posts de blog localmente, também deve considerar usar um CMS headless.
Se você só se importa em escrever ou não é desenvolvedor
Use o WordPress. Nem se preocupe com qualquer outro CMS.
Ele oferece escalabilidade quando você precisa e, mais importante, você não precisa mexer no código.
Isso vem da minha pesquisa e experiência.
Boa sorte.