O
Hugo é, basicamente, um gerador de site estático, ou seja, diferente de um CMS em PHP, onde os códigos são interpretados em tempo real no servidor, com o Hugo, nosso site é gerado através de blocos localmente e o resultado é o projeto já em HTML. Parece confuso, mas na verdade é simples.
São inúmeras vantagens e as principais tangem desempenho e segurança. Como nosso site é HTML puro, as chances dele sofrer ataques expressivos é muito baixa e caso aconteça, é muito fácil realizar a manutenção, bastando gerar o site novamente. Provavelmente, os problemas estariam no ambiente de hospedagem e não nos arquivos.
Também, como o site é todo HTML, não é necessário banco de dados e nem mesmo PHP. O projeto já está hospedado com todas as páginas prontas, sem necessidades de novas consultas. Algo positivo é a facilidade em hospedar um site em HTML. Qualquer ambiente está preparado para tal, inclusive o GitHub Pages, que tem uso gratuito.
Hugo vs Wordpress
Primeiramente, é importante lembrar que o Hugo não é um CMS e nem mesmo possui uma interface gráfica para gerenciamento de conteúdo. Todavia, é relativamente simples utilizar o GitHub em conjunto. Com ele, além do versionamento, podemos facilitar a inclusão de artigos, usando um editor simples para o texto e uma linha de comando para submeter para aprovação.
O Wordpess possui mais recursos e ao mesmo tempo, necessita de mais recursos, é claro. É muito simples hospedar um site Wordpress, desde que seja possível criar um banco de dados e o servidor rode PHP. O problema está no desempenho, já que todos esses serviços exigem bastante de qualquer servidor e, por consequência, também exigem servidores com melhores configurações.
Ainda vou publicar uma série de artigos sobre otimização do Wordpress e demonstrar que é possível ter bons resultados com ele. Por hora, atento-me às dependências numerosas e falta de simplicidade.
Facilidade
Inicialmente, migrar um template projetado para o Wordpress para a utilização no Hugo foi simples. Entendendo razoavelmente a lógica de funcionamento, em poucas horas o site estava pronto para receber conteúdo. As divisões são de fácil entendimento e o uso de diretórios ajuda.
O bom, é que a organização pode ser muito personalizada e não são necessários plugins adicionais. Para replicar os posts types do nosso blog, bastou organizar o código em pastas e definir IDs no arquivo para publicação.
Dificuldades
Nem tudo são flores, é claro.
Esqueça conteúdo dinâmico, Ajax e formulários. Sites 100% estáticos não sabem lidar com isso e é preciso recorrer à criatividade para solucionar esses problemas. Para o formulário de contatos, estamos usando o formspreee.io, que permite 1000 envios mensais gratuitamente e adiciona uma camada de segurança com Captcha e controle de Spam. Para o resto, foram feitas algumas adaptações pontuais.
Alguns bugs ainda estão sendo corrigidos e o projeto pode ser acompanhado por nosso repositório no GitHub.
E para finalizar e não transformar este texto num livro, basta ler este artigo, sobre os primeiros passos com o Hugo: