Blog em páginas estáticas

Quem já desenvolveu alguma coisa para web percebeu que algumas coisas são feitas dinamicamente por praticidade, porém que não mudam muito, como barras laterais do WordPress, que são geradas dinamicamente para permitir a customização de forma simples, porém apenas quando se ter uma nova postagem que existe uma real mudança.

Ter partes dinâmicas na página é muito bom, porém aumenta a carga do servidor que deve sempre regerar cada uma dessas partes a cada requisição, a menos que seja utilizado algum sistema de cache. Como em blogs, páginas de empresas ou produtos tem uma baixa taxa de atualização por exemplo, é possível gerar essas páginas previamente e deixá-las como arquivos estáticos no servidor, economizando assim o custo de geração das páginas. Se tiver uma mudança basta gerá-las novamente e atualizar no servidor.

Para facilitar a geração das páginas, existem ferramentas para essa tarefa, como o Pelican escrito em Python e o Jekyll em Ruby. Além de permitir escrever as páginas em HTML, podemos ter outras opções como Markdown e reStructuredText. Para dar alguns exemplos, além dos sites dos próprios projetos, temos o PythonClub, Hack ‘n’ Cast e Castálio Podcast usam o Pelican e o Grok Podcast usa o Jekyll, além de todos aceitarem contribuições via GitHub.

Uma observação é que todos esses sites possuem campo de comentários, ou seja, algo carregado dinamicamente, porém se olhar para o código isso é feito via JavaScript dentro do navegador, não no servidor. A mágica está em colocar os comentários em outro servidor (podendo ser até o mesmo) e utilizar o JavaScript para carregar, exibir e até enviar os comentários via requisições Ajax. Um serviço gratuito para os comentários em blogs é o Disqus, que hospedará apenas os comentários para você.

Infelizmente ainda não converti meu blog do WordPress para o Pelican, porém assim que encontrar uma solução para acompanhar os acessos o farei, mas o fato de não querer depender do Google, não ter um servidor próprio e sem cartão de crédito internacional, dificultam as coisas. Porém teria várias vantagens. O servidor HTTP poder ser qualquer um, já que não dependeria do suporte a alguma linguagem ou banco de dados. Como são apenas páginas estáticas, o site não corre o risco de SQL Injection e outras falhas decorrentes das páginas dinâmicas. Como é uma página estática, é muito mais rápido para o servidor responder a solicitação, podendo assim atender mais acessos com o mesmo servidor. Arquivos estáticos são mais fáceis de fazer cache, podendo reduzir até o número de requisições do servidor.

Isso obviamente não é a solução para tudo, montar um sistema inteiro desta forma não é tão prático, porém montar um site estático e fazer todas as ações com JavaScript via uma API pode ser uma opção interessante, tendo as vantagens já descritas e já ter uma API pronta para integrações. Sempre tendo que avaliar se os benefícios superam as dificuldades.

Anúncios