O que é um CMS?

Costumo falar com freqüência sobre os CMSs no 11pixels, mas muitas pessoas ainda não sabem muito bem o que eles são. Os CMSs (content management system), algo como sistemas de gerenciamento de conteúdo em português, são softwares que ficam hospedados em seu servidor e podem ser acessados pelo seu computador pessoal conectado a Internet. Estes gerenciadores servem para administrar o conteúdo do seu site, simplificando tarefas simples, como acrescentar ou editar uma página ou funcionalidade do site, como uma seção de notícias ou galeria de imagens. Depois que você acessa o sistema e salva as inclusões ou modificações em seu site, o conteúdo é publicado automaticamente na Web.

Quando você não utiliza um CMS, precisa de um programa de edição WYSIWYG para editar o seu HTML ou então de um programa como o Notepad++ para editar o código na unha, se for um usuário mais avançado. Além disso, quando precisar fazer uma alteração em todas as páginas do site, precisará alterar uma por uma ou, na melhor das hipóteses, utilizar algum comando (uma macro ou action) que altere todas ao mesmo tempo no programa que está utilizando para editar seu website. Depois disso, ainda precisará fazer o upload de todos os arquivos alterados, tornando todo o processo muito mais trabalhoso. Se você utilizar um CMS, nada disso será necessário e o processo ficará bem mais dinâmico, pois todas as alterações são feitas online e entram em funcionamento automaticamente, depois de efetuadas. A maioria desses sistemas utiliza templates (ou temas) customizáveis que serão a parte visual do seu site. Dessa forma, você tem um template para cada seção específica e também templates para blocos do site, como o menu de navegação, o rodapé e o cabeçalho. Então, se precisar colocar alguma informação no rodapé do seu site, em todas as páginas ao mesmo tempo, basta alterar um único arquivo e voilá, todas as centenas de páginas do seu site serão alteradas ao mesmo tempo.

Normalmente os sistemas que indico no 11pixels constroem as páginas dinamicamente quando acessados por um visitante, através do uso da linguagem de programação PHP e do banco de dados MySQL. Esta combinação de tecnologia é a mais difundida atualmente, mas também existem sistemas que trabalham com outras linguagens como o Perl ou o Python. Além disso, existem sistemas que funcionam com conteúdo estático no servidor, páginas que não são construídas dinamicamente cada vez que são acessadas, mas sim uma única vez, quando o administrador do site cadastra um novo conteúdo, gerando páginas estáticas com terminação HTML ou PHP. Normalmente quem defende esta abordagem tem o bom argumento de que desta forma o processador do servidor onde está hospedado o website não fica sobrecarregado, pois não precisa trabalhar com ações como acessos ao banco de dados e processamento PHP cada vez que a página é acessada. Mas para contornar este problema das páginas dinâmicas (que pode até causar o bloqueio da sua conta pelo seu administrador se o seu CMS não for bem otimizado) existem plugins que criam páginas estáticas e caches do conteúdo do seu site no servidor, diminuindo assim o poder de processamento. Em defesa das páginas dinâmicas também está a agilidade para atualizar seu website, que não precisa ser completamente reconstruído cada vez que é feita uma atualização estrutural.

Além de utilizar mais os sistemas dinâmicos baseados em PHP/MySQL, tenho uma preferência pelos sistemas de código aberto e gratuitos (que são duas coisas diferentes). Acredito no software livre e não tenho grana para investir em um sistema robusto, que pode ser muito caro. Gosto também da maneira colaborativa como os problemas são resolvidos e os sistemas aperfeiçoados nas comunidades de código aberto. Não concordo com a idéia de sistemas pagos e proprietários, mas acho que cada um tem a liberdade para acreditar no que quiser e trabalhar da forma como melhor lhe convêm. E sei que existem ótimos sistemas pagos no mercado, com ótimos profissionais trabalhando em torno deles para torná-los sistemas de ponta. Um bom exemplo é o Expression Engine, que também oferece uma opção grátis com menos funcionalidades que a versão paga. A vantagem de um sistema pago é que você geralmente tem direito a suporte técnico e não precisa ficar fuçando os fóruns de discussão para encontrar as respostas para sua dúvida. Se você tem pouco tempo e algum dinheiro para desembolsar, pode ser uma boa opção.

Listo abaixo os 11 CMSs que considero os mais importantes atualmente, a maioria de código aberto e rodando em ambiente LAMP (Linux, Apache, MySQL e PHP). São sistemas variados e muito diferentes entre si, alguns próprios para sites pequenos, outros originalmente desenvolvidos para blogs e alguns potentes o suficiente para administrar mega-portais. Nos próximos posts, vou falar sobre cada um desses sistemas. Minha experiência com cada um deles, seus prós e contras.

CMS Made Simple
Drupal
WordPress
Textpattern
sNews
Typo3
Typolight
Joomla
SilverStripe
ExpressionEngine
Movable Type

Leave a Reply

Your email address will not be published. Required fields are marked *

Skip to toolbar