Ir para o conteúdo principal

Wordpress não é para mim

·1009 palavras·5 minutos
Desenvolvimento Web CMS Flat-File Wordpress
Vitor Pinho
Autor
Vitor Pinho
O informático de casa

Não me levem a mal, eu gosto dele. Recomendo-o a qualquer principiante. Inicialmente criada para blogs, o Wordpress evoluiu e é usado todo o tipo de sites, desde lojas de comércio electrónico a fóruns, como também sendo uma ferramenta escolhida por muitos desenvolvedores. Mas tornou-se uma ferramenta pesada.

Para este blog, foi uma escolha inicial, pelas suas vantagens. Sendo uma das plataformas mais antigas, existem dezenas de milhares de temas por onde escolher, bem como plugins para qualquer função imaginável, facilitando a quem o usa em vez de perder tempo programando. Mas, uma vez instalado, começo a ver o porque que o Wordpress já não é para mim.

Aquela coisa pesada
#

A monetização tomou conta dele. Existem plugins gratuitos, mas muitos contêm uma parede paga (paywall) em que oferecem o mínimo de funcionalidades, e se quiseres mais, pagas uma mensalidade. Embora isto possa ser visto como ajudar o desenvolvedor, no final, este mesmo desenvolvedor pode apenas lançar uma ou outra funcionalidade durante um ano para manter o nível de membros pagantes sem necessariamente o utilizador sentir-se bem servido.

Se eu decidir criar um plugin, estou preso a linguagem PHP. O WordPress ainda não adoptou uma linguagem de framework, como o Twig, muito comum nas plataformas mais recentes, o que requer mergulhar em código para apenas comandos básicos. Quem sabe mude num futuro distante.

Actualizações são frequentes e tornam-se um risco, pois os plugins instalados podem deixar de funcionar e/ou quebrar o teu website, e muitos dos plugins acabam abandonados e sem desenvolvimento regular. Outra desvantagem é o número de scripts e css que o website tem de carregar cada vez que alguém acede. Usando este site como exemplo, a versão Wordpress dele carrega o número de 12 ficheiros .js e 18 ficheiros .css. Isto implica fazer um investimento na hospedagem para que não haja constrangimentos mais tarde ao carregar este amontoado. E pior, o número de ficheiros pode aumentar por cada plugin que se instala.

E por último, o Wordpress é um imã para ataques. Como não é possível renomear a página administrativa (sem se recorrer a plugins), é submetido a constantes ataques e tentativas de acesso por força bruta. Mesmo eu não estando nessa plataforma actualmente, vejo os acessos a páginas wp-content e wp-admin, devolvendo o erro 404 (página não encontrada). Ao procurar uma solução melhor, arranjei uma solução melhor para um simples blog de um informático🙂.

Adeus base de dados!
#

Não sou de esconder o meu amor por CMSs sans base de dados, ou seja, gestores de conteúdos totalmente baseados em ficheiros.

Porquê? Ora, não me preocupo com base de dados, maior facilidade de backup/restauro, melhor controlo de versão pelo Git, adeus painel de controlo (posso trabalhar atravês dos ficheiros apenas), e se precisar de alterar dados em massa, é só “procurar e substituir”.

Entretanto, para qualquer principiante, este mundo visto de primeira pode sobrecarregar, porque é uma mudança à maneira de desenvolvimento web de que estamos acostumados. Mas não há nada melhor do que não nos preocuparmos com bases de dados quando carregamos alterações feitas no ambiente de desenvolvimento directo para o de produção, sem downtime nenhum.

A desvantagem em relação ao Wordpress é que dada a alta customização de muitos destes CMS, o mercado de temas é muito limitado, sendo a necessidade de incluir um desenvolvedor web para criar o seu, ou fazê-lo sozinho. A vantagem é que muitos destes CMS incluem linguagem para templates que ajuda a criar ou importar sem muito esforço.

Também é importante mencionar que operações complexas que podem ser fáceis usando uma base de dados podem ser complicadas usando um sistema de ficheiros, por isso convém sempre analisar os benefícios a longo prazo.

A minha primeira escolha é o Statamic porque já uso em outros websites e é maravilhoso. Até modo de manutenção têm. Ah, e a versão 3, lançada recentemente, possui uma versão gratuita. Nada melhor para aqueles que buscam novos desafios ein?

Mas para um simples blog, o Statamic mesmo assim ainda é um excesso. Eis que encontrei solução perfeita.. e seu nome é Hugo!

Um website estático?
#

hugo-logo-wide.svg

Ao contrário do Statamic, o Hugo não é bem um CMS, mas sim um gerador de site estático. Tu crias o template do website, adicionas o conteúdo (artigos, imagens, css, js) e a aplicação gera páginas html e seus associados, prontos para carregares no servidor web. Nesse momento deves estar a pensar: gerar ficheiros deve demorar uma eternidade. Bem, eis a resposta de quanto tempo demora para gerar 5000 artigos fictícios:

Para mim, as vantagens em utilizar o Hugo são enormes: posso criar os artigos usando markdown e carrego-o para um repositorio git e uso o Buddy.Works para gerar e transferir o conteúdo estático para o servidor web de forma automatizada. Como o conteúdo dum blog não muda muito, não necessito de estar sempre a gerar conteúdo e sendo que o mesmo serve páginas html, o processamento de páginas pelo motor web é quase nulo. O número de ficheiros CSS e JSS também diminui, pois o Hugo permite juntar e minificar esse conteúdo (o meu website ficou somente com 6 ficheiros .js e 3 .css), melhorand ainda mais a performance do website.

Mas como todo programa, também existem desvantagens. Sendo que o website contém apenas conteúdo estático, todo conteúdo dinâmico, como formulários de contactos ou campos e páginas de buscas, só pode ser servido através de javascript embutido nas páginas publicadas. Como não existe sistema de plugin, toda integração deve ser feita manualmente pelo desenvolvedor.

Embora estático, não quer dizer só possa ser útil para pequenos blogs. Ele também é óptimo para websites cuja informação não é alterada de páginas publicadas não é alterada com regularidade, como jornais. Podes ler sobre a conversão de Wordpress para Hugo da Smashing Magazine.

A linguagem de template do Hugo, baseado em Go, é por vezes incompreensível e frustrante, mas para aqueles que gostam de desafios, garanto que vale a pena aprender, pois os resultados falarão por si.