Os 10 erros mais comuns dos plugins do WordPress
Publicados: 2019-08-27Uma das características de maior sucesso do WordPress é que ele conseguiu incentivar uma comunidade de desenvolvedores que estendem a funcionalidade básica desse sistema de gerenciamento de conteúdo por meio da criação de plugins. Isso e o fato de a participação de mercado do WordPress não ter parado de crescer nos últimos anos é fundamental para atrair talentos.
Os plugins do WordPress são os melhores. Saber que, se você precisar personalizar seu site, poderá fazê-lo apenas procurando um plug-in que faça o que você precisa, para que você fique tranquilo. E também reduz muito os custos.
Não ter que (na maioria dos casos) desenvolver soluções personalizadas é um alívio. Ele democratiza o acesso a sites complexos por uma fração do preço que custaria alguns anos atrás.

Mas nem tudo é um mar de rosas. Ao selecionar um plugin WordPress temos que ter muito cuidado. A popularidade do WordPress atrai talentos. Mas também atrai desenvolvedores menos experientes que às vezes criam plugins que não possuem os níveis de qualidade desejados. Detectá-los não é tão fácil quanto contar o número de avaliações positivas que eles têm ou em quantos sites estão instalados. É muito mais complexo.
Algo que sofremos no Nelio desde que começamos a analisar as instalações do WordPress de nossos clientes é a quantidade de lixo que podemos encontrar instalado lá. Vimos coisas que você não acreditaria…
É por isso que hoje vou explicar alguns dos problemas mais comuns e curiosos que encontramos ao longo desses anos com os plugins do WordPress.
Lista de problemas de plugins do WordPress
Aqui deixo você com a lista de problemas que você pode encontrar com os plugins do WordPress. São problemas genéricos e não daremos nomes específicos de plugins que sofrem com eles, mas eles existem e você deve ter cuidado para evitá-los.
Criar tabelas adicionais no banco de dados
O banco de dados do WordPress é uma zona de guerra. Muitos plugins o estendem para adicionar suas próprias tabelas. Isso não precisa estar errado, mas na maioria das vezes não é necessário.

O banco de dados do WordPress é genérico o suficiente para não precisar adicionar novas tabelas para o seu plugin usar. Então, por que um desenvolvedor vê a necessidade de adicionar mais tabelas ao WordPress? A resposta é muito fácil: conforto e ignorância.
Muitas vezes é mais fácil para alguém com pouca experiência em WordPress colocar tabelas adicionais e fazer consultas diretamente no SQL para ler e modificar dados. Isso, além de ser uma falha de segurança se não for bem feito, você evita o uso de meta-tabelas.
Se você deseja estender as informações do usuário, você tem a tabela wp_usermeta . O mesmo vale para os conteúdos ( wp_postmeta ), comentários ( wp_commentmeta ) ou mesmo termos de taxonomia (rótulos e categorias, com a tabela wp_termmeta ).
O WordPress fornece métodos para ler e modificar essas meta-informações de maneira padrão e segura. A menos que você tenha uma justificativa de desempenho, caro desenvolvedor do WordPress, não use tabelas adicionais em seus plugins.
Carregar scripts e estilos ruins
A maioria dos plugins do WordPress mais cedo ou mais tarde precisará carregar seus próprios arquivos JavaScript e CSS, às vezes no painel de administração do WordPress e às vezes na frente da web. E o triste é que isso é algo que muitas vezes é feito de forma errada.

Para adicionar um estilo CSS ou um arquivo JavaScript no WordPress, você precisa enfileirar na fila padrão do WordPress. Para fazer isso, primeiro registre-o com as funções wp_register_style e wp_register_script e, em seguida, enfileira-o com wp_enqueue_style e wp_enqueue_script , respectivamente.
Observe que essas funções permitem que você defina as dependências que seus estilos e scripts possuem, para que o WordPress gerencie as dependências corretamente e enfileira apenas o que você precisa.
Qualquer outra coisa está errada. E aqui até a documentação do desenvolvedor é a culpada. Veja os exemplos que vêm no gancho wp_head no WordPress Codex. Os desenvolvedores vão tomar isso como referência, e aí o que acontece é que eles quebram as coisas?.
Nem pense em usar wp_dequeue_script ou wp_dequeue_style para desenfileirar scripts ou estilos do WordPress. Muitas vezes vimos como os plugins desenfileiram a versão do jQuery que vem com o WordPress para adicionar a sua própria (que geralmente está desatualizada) e a partir daí tudo para de funcionar…
Se você detectar um plugin que não carrega scripts e estilos corretamente seguindo as diretrizes do WordPress, este é um motivo suficiente para desativá-lo de sua instalação agora.
Não limpar o banco de dados ao desativar o plug-in
Este é outro aspecto clássico dos plugins do WordPress e talvez o mais comum que você encontrará. Para funcionar, os plugins do WordPress precisarão adicionar registros em seu banco de dados. O problema aqui é que quando você desativa o plugin, é comum que esses registros permaneçam em suas tabelas de banco de dados para sempre.
Os plugins do WordPress geralmente não apagam os dados que eles criam em seu banco de dados quando você os desativa. E não, não tem caminhão de lixo que passa de vez em quando e leva esses dados inúteis com ele.
Um plugin do WordPress deve remover as tabelas adicionais que ele criou e os dados que adicionou nas tabelas padrão quando o usuário o desativa. Mas isso acontece muito raramente. Eu encorajo você a ir ao seu banco de dados e ficar de olho nele. Certamente você encontrará lixo inútil lá.

Se o desenvolvedor for cuidadoso, desativar o plugin no seu WordPress perguntará se você deseja desativá-lo temporariamente ou permanentemente. A última opção apagará todos os dados que foi adicionando durante sua operação, retirando o lixo para deixar tudo limpo.
Não fornecer orientação ao usuário
Quando você instala um plug-in do WordPress e o ativa, geralmente espera que um novo menu apareça no Painel do WordPress, onde você pode encontrar as funções do plug-in. Mas isso nem sempre é o caso.

Há momentos em que o novo plugin adiciona um menu dentro de um menu existente, geralmente o menu Ferramentas ou o menu Configurações. Assim o usuário terá que investigar para ver onde está o menu que inclui o novo plugin recém instalado e ativado.
Geralmente é uma boa prática descrever no arquivo README.txt do plugin o que acontecerá quando você ativar o plugin em seu WordPress. Assim você reduz a ansiedade do usuário e facilita um pouco a vida. Caso contrário, se o usuário não encontrar onde estão as funções que o plugin adiciona, ele acabará por desativá-lo, e como desenvolvedor isso é a última coisa que você quer que aconteça.
Você pode pensar que isso é algo que só acontece com iniciantes. Mas esse não é o caso. Recentemente, instalei um certo plugin para fazer determinada coisa (lembro que ia evitar dar nomes?), e me encontrei nesta mesma situação. Não consegui encontrar onde estavam as configurações do plug-in. E se acontecer comigo, que supostamente trabalha com WordPress há muito tempo, essa mesma situação é terrível para alguém com menos experiência.
Alterando a interface do usuário do WordPress
WordPress é fácil de usar, ou assim dizem. E uma parte importante disso é graças à interface de usuário que o WordPress inclui por padrão. Essa interface é simples em uma nova instalação do WordPress, mas fica mais complicada à medida que adicionamos mais e mais plugins.

Além disso, um problema comum com os plugins do WordPress é que eles às vezes usam uma interface de usuário completamente diferente do que os usuários esperam encontrar no painel do WordPress.

Eu sei, a interface de usuário do WordPress é um pouco chata do ponto de vista de um designer, mas às vezes é muito mais inteligente seguir os mesmos estilos e a mesma experiência de usuário que seus usuários estão acostumados do que optar por uma solução totalmente diferente.
Em nossos plugins tentamos manter os mesmos estilos do WordPress e colocar cada elemento da interface do usuário onde acreditamos que o usuário espera que apareça. Mas vimos muitas interfaces de plugins que se parecem pouco ou nada com o WordPress, confundindo os usuários.
A recomendação é que se você for o designer de um plugin WordPress siga os guias de estilo do WordPress, e ainda reutilize os componentes que ele agora disponibiliza para criar interfaces no React, exportadas diretamente do editor de blocos Gutenberg. Estamos usando-os na reforma que estamos fazendo do Nelio A/B Testing e eles são ótimos.
Ultrapassando os limites de sua propriedade
O WordPress Dashboard tem dois tipos distintos de zonas do ponto de vista do desenvolvedor. Por um lado temos as áreas privadas, que são aquelas páginas que um determinado plugin adiciona. Dentro dessas zonas, apenas estilos CSS e scripts incluídos pelo plug-in ao qual essas páginas pertencem devem ser enfileirados.
Por outro lado, temos as áreas comuns, que são todas aquelas que vêm por padrão no WordPress. Exemplos de áreas comuns são o editor de conteúdo, o editor de menus ou widgets, as configurações, etc.

Plugins bem programados, aqueles que seguem as diretrizes do WordPress, enfileirarão scripts e estilos que afetam apenas sua zona privada. Isso significa que, ao enfileirar esses recursos, eles têm uma condição no código para verificar se estão tentando fazê-lo em uma página privada de sua própria propriedade ou não. Caso contrário, eles não enfileirarão nada fora desse escopo.
Infelizmente, existem muitos plugins que “esquecem” de incluir essa condição em seu código. Isso faz com que seu código e estilos JavaScript sejam carregados em todas as páginas o tempo todo, algo que pode quebrar as outras páginas comuns ou mesmo as privadas de outros plugins.
Detectá-lo é mais fácil do que parece. Se você estiver usando um plug-in e sua interface de usuário parecer quebrada, é bem possível que outro plug-in esteja colocando JavaScript ou CSS onde não deveria e esteja quebrando os estilos e o comportamento do primeiro plug-in. Nós vimos isso. Já aconteceu conosco (que quebram nossa interface) e, infelizmente, continuará acontecendo.
Não seguir boas práticas de programação
Você não precisa ser o melhor hacker do mundo para programar no WordPress, mas é de se esperar uma qualidade mínima quando se trata de programação.
Um dos benefícios (se não o maior) do WordPress é sua filosofia de código aberto. Explorar o código fonte dos plugins é algo que você sempre pode fazer (pelo menos os plugins do repositório oficial).

Você pode encontrar de tudo: código que é bom de ver e código que vai fazer você chorar. E isso não significa que um seja pior que o outro do ponto de vista de desempenho. Mas se você vir um código bem documentado, bem recuado e também estruturado seguindo uma distribuição lógica de arquivos e pastas, você encontrou o Santo Graal.
Se o código de um plugin do WordPress é bom de ver, provavelmente é porque o programador é cuidadoso e polido. Isso é um claro sinal de qualidade.
Abertura de buracos de segurança
Um plugin WordPress nada mais é do que um conjunto de instruções de código. Geralmente PHP e JavaScript, que estendem a funcionalidade do WordPress. Esse código obterá dados do usuário com bastante segurança e acabará renderizando informações na tela.

É possível que, ao obter dados e imprimi-los na tela, você esteja adicionando brechas de segurança, caso não processe esses dados corretamente. O WordPress coloca muita ênfase na validação e higienização dos dados de entrada e no escape dos dados na saída.
Existem muitas funções para validar os dados e garantir que o que o usuário insere no plug-in seja realmente o que queremos, evitando assim a injeção de código. Se o desenvolvedor do plugin não os utiliza, é por preguiça ou ignorância. Cuidado com o que você acaba instalando no seu WordPress ou vai acabar se arrependendo.
Executando atividades inadequadas
Continuando com a seção anterior, existem plugins que vêm de fontes de origem duvidosa. Às vezes, para economizar alguns dólares, você mergulha em lugares obscuros na Internet em busca de um arquivo .zip que contém o plugin que você quer, mas pelo qual você não quer pagar.

Quando você o encontra, tudo é felicidade, até você perceber que aquele plugin vem com um presente. De rastreadores, mineradores de criptomoedas, spam e até código malicioso que pode assumir o controle do seu site. Você pode encontrar tudo.
Desconfie da origem dos plugins que você encontra lá. O repositório oficial do WordPress e os marketplaces mais conhecidos são a única fonte confiável para seus plugins do WordPress. Para estar dentro desses repositórios, os desenvolvedores de plugins precisam passar por alguns testes de qualidade. Confie apenas em lugares conhecidos e evite plugins obtidos de fontes não confiáveis.
Não agregando valor
O pior erro que um plugin WordPress pode cometer é não agregar valor aos seus usuários. Como desenvolvedor, às vezes você tem ideias malucas que acha que podem ser muito úteis para os outros. A verdade é que se o seu plugin traz é muito pequeno, o número de usuários que ele vai acabar será semelhante.
Existem muitos plugins no repositório oficial do WordPress cujo valor é baixo. Mas isso é algo que acontece em qualquer marketplace ou repositório de aplicativos.
Se, como desenvolvedor, você deseja se destacar do restante da concorrência, concentre-se em fornecer valor aos seus usuários em potencial. Dessa forma seu plugin acaba ganhando a popularidade necessária para se tornar um sucesso dentro do WordPress.
Escolher plugins do WordPress é complicado
Nem tudo é baseado no número de comentários de usuários e na contagem de estrelas. Escolher um bom plugin WordPress é complicado. Existem muitas surpresas escondidas que só são descobertas analisando o código fonte do próprio plugin. E se você não tem o conhecimento para entendê-lo, tome cuidado.
Veja os comentários que você encontrará no fórum de suporte do plugin dentro do repositório para ver que tipo de problemas as pessoas têm com ele. Experimente o plugin em um ambiente controlado e se você vir algo estranho entre em contato com o desenvolvedor para obter ajuda.
Se depois disso você não estiver satisfeito com o que vê, procure uma alternativa. Existem milhares de plugins esperando por você. Ou deixe-nos um comentário abaixo. Estamos sempre procurando ideias de novos plugins interessantes para adicionar à nossa coleção.
Imagem em destaque por Goh Rhy Yan no Unsplash .
