WordPress: A verdade sobre desempenho e plugins

FBlogHost - Hospede seu Blog

Até algum tempo atrás eu defendia a ideia de que funcionalidades em temas salvava a performance de um site/blog WordPress quando comparado com plugins. Eu estava totalmente errado e você esta errado também caso tenha este pensamento.

A verdade é que plugins trazem uma flexibilidade muito maior para agregar funcionalidades do que temas e códigos individuais. Além de muitas vezes não causarem nenhum tipo de sobrecarga ou diminuir a performance do WordPress.

Vou mostrar as vantagens de utilizar plugins para suprir suas necessidades em relação aos temas.

O que vamos apresentar agora é mostrar as vantagens em usarmos plugins no WordPress para suprir necessidades de recursos em nossos blogs/sites. Há sempre a alternativa de muitos recursos virem nativos, automáticos e incorporados direto no tema, mas nem sempre essa é a melhor opção como muitos podem pensar.

Porque funcionalidades em plugins são melhores do que em temas?

  1. É uma boa pratica de programação separar e organizar funcionalidades em blocos de códigos.
    Em temas você vai precisar incluir tudo no functions.php (o que deixa o código totalmente desorganizado) ou organizar em arquivos em alguma pasta no tema e incluir (include do php) cada um deles no functions.php.
  2. Caso seu tema possua várias modificações e por algum motivo alguma pare de funcionar ou você entre com algum código errado, você irá derrubar todo o seu blog para conseguir corrigir o problema.
    Já utilizando plugin você precisará apenas desativa-lo ou deletar a pasta dele em “wp-content/plugins”. Depois de corrigido o problema você poderá ativa-lo novamente ou substituir o plugin por outro.
  3. Utilizando plugins você evita de perder funcionalidades do seu blog ao trocar de tema. Ou seja, o tema (layout) pode ser trocado e as funções que você mais gosta continuam ali funcionando.
  4. Você pode atualizar e aprimorar as funcionalidades de plugins separadamente e independente de seu tema. Desta forma você corre mesmo riscos de ter problemas como o descrito a cima e seu blog sempre estará com recursos atualizados e otimizados.

Essas são algumas das principais vantagens de utilizar plugins e não códigos no functions.php do tema ou em outras partes. Os plugisn dispensam conhecimento de códigos, deixam a estrutura do blog/site organizada e fácil de administrar.

Códigos do functions.php são lidos mais rápidos do que os de plugins?

Uma das grandes mentiras sobre esta história toda é de que os códigos no tema (direto na estrutura) são lidos mais rápidos do que em plugin.

A verdade sobre isso é que plugins são lidos antes de carregar o tema e embutir o código no tema não irá causar nenhum ganho em performance como muitos pensam.

Aqui tem uma imagem que mostra como é o fluxo de carregamento das hooks do WordPress que pode ser vista no http://wordpress.stackexchange.com/:

Créditos da imagem: Rarst.

Utilizar muitos plugins pode causar perda de performance no WP?

Não. Não vai causar perda de performance.

O que pode causar este tipo de problemas são plugins mal escritos e que fazem muitas consultas no banco de dados. O mesmo tipo de problema pode ser causado por temas com código mal escrito também.

Desta forma você pode utilizar 100 plugins e não ter problemas com performance e utilizar um tema que irá colocar tudo a perder. A questão está em saber escolher os plugins de melhor qualidade.

Entretanto é claro que existem plugins que não foram escritos corretamente e desta forma você deve procurar sempre por aquelas que possuem autores ativos, que estão sendo atualizados com frequência. Recomendo nunca utilizar (ou evitar) plugins que não são atualizados há mais de 1 ano.

O WordPress tem grandes atualizações em seu “Core” a cada 6 meses e os plugins devem ser atualizados com quase a mesma frequência para evitar problemas de performance e compatibilidade. Hoje o WordPress oculta da pesquisa os plugins que estão sem receber atualizações por mais de dois anos.

Leia mais dicas de como escolher um bom plugin:

Precisa de mais provas para comprovar que plugins não causam perda de performance?

O que disse até agora não são apenas minhas palavras e ideias, mas também de outros desenvolvedores do WordPress.

Como por exemplo o Otto que é uns dos principais desenvolvedores do WordPress e um dos braços direitos do big boss Matt Mullenwegs (criador do WordPress).

Pippin Williamson escritor do WP Tuts+ conversou com o Otto no WordCamp de Kansas City em 2012. Onde Otto afirma que ele é responsável pelo desenvolvimento do blog pessoal do Matt, onde é possível encontrar dezenas de plugins.

O próprio Pippin afirma que utiliza cerca de 50 plugins em seu blog Pippins Plugins.

Outro case que confirma o que estamos dizem é o do blog WPCandy (leitura obrigatória para quem desenvolve em WordPress), onde rodam cerca de 90 plugins.

Como posso transformar códigos que inseri no functions.php do meu tema em plugins?

Ao invez de inserir códigos no functions.php você pode criar seus próprios plugins. Isso é bem simples de fazer e recomendo você fazer isso a partir de agora (caso não tenha este costume).

Basta criar um arquivos .php e colocar no começo dele:

Preencha as informações do plugin como está neste exemplo e aplique o código que deveria ir no functions.php

Exemplo de como fazer isso:

Temos um post aqui no Ferramentas Blog que ensina como trocar o favicon no Blogger e WordPress:

Em vez de colocar o código direto no functions.php você poderia criar o seguinte plugin:

Adicione o link do favicon em .png no lugar indicado e salve o arquivo.

Agora crie um zip com este arquivo dentro e envie para o seu WordPress por Plugins > Adicionar Novo > Enviar.

Pronto, você acabou de criar um plugin que não irá alterar em nada na performance de seu blog e que continuará existindo depois de atualizações em seu tema.

Mais dicas de como desenvolver seus próprios plugins:

O Vitor Carvalho do EscolaWP escreveu recentemente um excelente artigo sobre como desenvolver plugins especiais para o seu blog:

Considerações finais:

Como eu já disse, um plugin ou tema mal escrito pode matar todo o desempenho de seu blog.

Por este motivo faça boas escolhas na hora de adicionar plugins e temas.

Quer performance?
Então use sempre um plugin de cache no seu WordPress (recomendo utilizar o WP Super Cache ou W3 Total Cache).
Na verdade é obrigação todos utilizarem um plugin de cache, mesmo que tenha o WordPress instalado com o tema padrão e sem utilizar nenhum plugin.

Comecei a aplicar estas dicas aqui no [ Ferramentas Blog ] e em meus trabalhos.
Além de que, a partir de agora toda vez que publicarmos sobre algum snippet para WordPress, iremos distribui-lo em formato de plugin.
Desta forma vocês poderão ler o tutorial para aprender como fazer e poder baixar o código e instalar sem medo.

Ainda vale a dica usar sempre o que é essencial para o seu blog/site.

Fontes:

FBlogHost - Hospede seu Blog

31 Comentários

  1. Realmente, os Plugins são essenciais e muito eficazes para o blog, concordo contigo.
    Parabéns pelo artigo, está show.
    Continue assim, e obrigado pelas dicas.
    Sucesso!

    Responder

  2. Agora confundiu… Em todas as publicações, em termos de otimização wordpress, se fala em evitar muitos Plugins. Mas parabéns pelas informações reunidas para nós! Abraços

    Responder

    • Adriano.
      Eu expliquei isso.

      Disse que eu mesmo pregava esse tipo de coisa antigamente.

      Mas o ponto do artigo é que você pode fazer seus próprios plugins ou se usar de terceiros que sejam pelo menos atualizados.
      Além de tentar manter sempre bons plugins instalados.

      Ainda vale a ideia de que você deve usar apenas o que é essencial para o funcionamento do seu blog.

      Responder

  3. Interessante! Eu ficava pensando se o blog no WordPress perdia performance com a dicção de muitos plugins. Já cheguei a usar mais de 30 no meu blog, mas depois de ler algumas coisas sobre o assunto, resolvi enxugar.

    Hoje uso no máximo 20, mas não percebi nenhuma mudança.

    Realmente, o código funtions.php fica uma zona. O meu está assim. Tem parte que nem sei mais o que significa. Esse lance de criar plugins é uma boa dica.

    Parabéns pelo post!

    Responder

    • Vou ver de escrever logo um post ensinando e dando mais detalhes de como fazer pequenos plugins assim.

      Esse tipo de código que vai no function.php podem virar ótimos plugins que não pesam em nada no carregamento do site.

      Responder

  4. Claudio, já é difícil usar 10 plugins imagine 90. Para quem tem um site com muitas visitas online vai cair, com certeza, pela quantidade de processamento de requisições.

    Pra saber se o Plugin ou tema estão mal escritos, basta add a depuração no wp-config.php, adicione a linha: define(‘WP_DEBUG’, true); Ai vc vai ver a bagaceira.

    Até concordo em separa o plugim do tema pelas razões que citou (boa dica!). Mas que o uso de plugin excessivo não vai fazer o site perder a performance, só a prática vai lhe mostrar.

    Use o site http://www.webpagetest.org e o PageSpeed Insights do Google para saber o que esta lerdando seu blog.

    Lembro que: a diferença de carregamento, mesmo que seja de 1 segundo, seu blog pode esta no posição do inferno da pedra, por não fornecer ao visitante um site leve e com a informação que precisa.

    Responder

    • François,

      Nem todo plugin causa perda de perfomance.
      Ainda mais plugins que não fazem solicitações em banco de dados ou que não inserem folhas de estilo, javascript e imagens na frente do blog.

      Este é o tipo de plugin que pode ser usado sem medo, em grande quantidade.

      Alguns deles eu gosto de usar porque possuem Classes PHP prontas que são ótimas.

      É muito facil dizer “Não use plugins!”.
      O que eu fiz aqui neste post foi provar que é possível usar uma grande quantidade de plugins, desde que eles sejam bem feitos. Além da possibilidade de desenvolver plugins para adicionar funcionalidades que serão do blog/site e não do tema.

      Por exemplo: Não tem motivo um Custom Post Type ficar dentro de um tema, se você vai usar ele para a vida toda de seu blog.

      Ativar o WP Debug Mode nem sempre indica problemas no plugin.
      Ele pode não ter nenhum erro e mesmo assim estar fazendo longas consultas SQL, não validando e higienizando entradas (dando possibilidade para SQL injection e Cross-site scripting), conter scripts maliciosos e outras coisas.

      Responder

      • Entendi perfeitamente o que quis dizer no artigo. Obrigado pela resposta, e concordo perfeitamente: “em todo plugin causa perda de performance. Ainda mais plugins que não fazem solicitações em banco de dados ou que não inserem folhas de estilo, javascript e imagens na frente do blog.”

        O problema é: eu e muitos outros que não sabem distinguir plugins bons dos ruins, que insiram ou não mais requisições ao blog, e começarmos a usar excessivamente, principalmente os mais leigos.

        Não propago: não use plugins; Mas o uso acessivo de plugins que não conhecemos, e sem necessidade, pode trazer uma bela surpresa com a hospedagem. Mas, cada um faz o que quiser em seu blog, né?

        * Baixei todos seus plugins, dos quais, estou testando 2.

        Responder

        • Essa que é a questão.
          Se o blogueiro não sabe distinguir um bom plugin de um ruim e quiser baixar muitos “só para testar”, então terá mesmo problemas.
          Por isso o Claudio escreveu o artigo “WordPress: Cuidados que devemos tomar na hora de instalar um plugin“, para orientar como escolher corretamente os plugins.

          É obvio que, se você começar a instalar e testar vários plugins dos quais não tem necessidade e sem observar a qualidade deles, sempre terá problemas de perda de performance em seu blog.

          Recomendo que leia o novo artigo do Claudio para que se oriente melhor na escolha dos plugins, mesmo sem saber programar.
          E, uma dica, caso queira testar plugins, crie um blog só para testes. Nunca faça testes no seu blog principal.

          Responder

          • Obrigado, Marcos Lemos, pela dica. Só não concordo com a aplicação de vários plugins, já tive problemas e já atendi pessoas com a mesma questão.

            O artigo é excelente, e esclarece até minhas dúvidas. Mas manter plugins atualizados, é dose, já que não temos tempo quase para escrever, imagina todo um trabalho da atualização manual ou através do host.

            O bom é ter mesmo um programador de plugins ao lado 🙂 Claudio, te add no FB.

            Responder

  5. Excelente a sua abordagem, certamente haverá prós e contra a utilização de plugins no WordPress, muitas vezes é veiculada informação baseada em suposições sem fatos reais.
    O uso de plugins tornará o uso do WordPress mais democrático, para quem não têm certos conhecimentos sobre códigos que muitos não possuem.

    Responder

  6. Cláudio,
    é sempre interessante ler esse tipo de artigo, ainda mais vindo de uma pessoa que sei que é muito séria e profissional no que faz e não iria afirmar nada sem ter ampla certeza e ter feito muitos testes (como você nos mostrou no artigo).
    Parabéns e obrigado pelo artigo.
    Abraço.

    Responder

  7. Pingback: Wordpress: Cuidados que devemos tomar na hora de instalar um plugin - [ Ferramentas Blog ] | [ Ferramentas Blog ]

  8. Cláudio,

    Fui muito esclarecido com este artigo, até porque quando pesquisamos por plugins no WP vemos uma infinidade deles… e nem sempre irão nos ajudar, por isso o que você disse é fundamental, procurar um plugin com qualidade e com atualizações constantes.
    Quando eu procuro por plugins no meu blog fico muito atento com o período de atualização e dependendo do mesmo eu já faço eliminação. Obrigado por esta luz na blogosfera e muito sucesso pra ti.

    Até breve.

    Responder

  9. Excelente explicação! Eu geralmente faço como você citou,só uso o necessário,algumas vezes testo algum plugin e depois deleto.

    Claudio,você também podia criar um plugin estilo o popupdomination e outros,pois apesar de ele ser bom e eficaz, demora muito para carregar na minha opinião.

    Abraço!

    Responder

  10. Olá Claudio!

    Já vi alguns blogueiros fazerem afirmações quanto a esse assunto. Sem contar que, afirmavam que o uso do código embutido deixava o blog mais leve. Mas o que mais se ouve por ai são afirmações que o uso de excessivo de plugins deixa o blog pesado.

    Mas você esclareceu de forma brilhante, quando esses plugins são mau escritos. Parabéns!

    Responder

  11. Olá Marcos,

    Fiquei surpreendido com a informação trazida pelo artigo!
    Desde que estou blogando com o WordPress tenho lido na blogosfera que o nº acrescido de plugins causam lentidão ao blog. Porém, sinto-me convencido com este tipo de informação, pois bem explicada e na lógica do desenvolvimento web também poderá ser comprovada. Agora certificarei com mais precisão os plugins e não terei medo de instalá-los quando for preciso.

    Fique bem!

    Até o próximo artigo :)!

    Abçs!

    Responder

  12. Uso mais de 20 plugins em alguns blogs e não reclamo de lentidão, muito pelo contrário, quando realizava alterações no fuction meu WordPress ficava muito bagunçado, impedindo mudanças sensatas

    Responder

  13. Pingback: Giro Blogogsfera - os melhores artigos do mês sobre wordpress - Aprenda Blogando

  14. Olá Claudio Sanches, Excelente artigo e para mim muito esclarecedor. Já cheguei a ponto de testar a velocidade e as funcionalidades do meu blog com e sem os plugins, e o resultado foi o mesmo.

    Atualmente tenho 23 plugins instalados em meu blog, incluindo todos os que você desenvolveu.

    Quero deixar aqui o meu muito obrigado e parabéns por ajudar a tantos blogueiros com suas dicas e seus plugins.

    Abraço.

    Responder

  15. Confesso que sempre achei que os plugins tornavam o site ou blog mais lento.
    Depois de ler este artigo fiquei com duvidas no método explicado para criar-mos os nossos pligins, é explicado como criar o arquivo “.php” para colocar-mos o código. Mas se para um codigo funcionar tiver-mos de o dividir em dois arquivos? Fiquei com esta duvida porque inseri no meu site os comentários do FaceBook e precisei de inserir código no “footer.php” e no “single.php” neste caso como resolveria o problema???

    Responder

  16. Existem muitos plugins que otimizam o blog e por sua vez mostram resultados impressionantes como por exemplo o plugin para otimização seo. Não melhoram o desempenho de execução do site e nem diminuem mas cumprem o prometido para aumentar a funcionalidade do blog.
    Ótimo artigo. Valeu!!!!!

    Responder

Deixe um comentário

Ao comentar você concorda com nossa Política de Comentários.