Todos nós amamos WordPress. Muitos de nós aqui na Kinsta contribuímos de formas diferentes na comunidade WordPress fora de nossos trabalhos. Eu mesmo tenho um blog de marketing onde compartilho formas únicas para levar seu site WordPress a outro nível. Você pode pensar que, por trabalhar em uma empresa de hospedagem, meus sites funcionam magicamente e nunca apresentam problemas. Entretanto, o WordPress nem sempre é um brilho de sol e um campo de rosas. Todos estamos propensos a encontrar problemas ocasionais e é por isso que é tão importante ter as ferramentas e a equipe de suporte prontas quando for necessário.
Hoje, me aprofundarei sobre como depurei um problema de desempenho WordPress estranho (provavelmente um caso em um milhão) em meu site, através do uso de ferramentas e estratégias que vieram ao meu resgate. Embora cada caso como esse costuma ser único, o fluxo de trabalho para sua resolução geralmente continua sendo o mesmo. Por isso, estou incluindo o que gosto de chamar de “Coisas que Acontecem – Lista de Desempenho do WP”. Felizmente, você poderá usá-la na próxima vez que se encontrar em apuros e com problemas de desempenho no WordPress que estejam fora do seu entendimento ou controle.
Lista de Desempenho do WordPress (Quando as Coisas Acontecem)
Essa lista de verificação de desempenho é um pouco diferente. Ao invés de compartilhar como você pode acelerar seu site WordPress, ela foca naquilo que deve ser feito na próxima vez que estiver em uma situação difícil. E sempre haverá uma próxima vez, tenha certeza disso. Talvez sua hospedagem tenha te contatado dizendo que seu site está sobrecarregando o servidor. Ou pode ser que você perceba que algo está deixando seu site lento, como as clássicas solicitações admin-ajax.php.
Antes de levantar suas mãos para o céu e desistir de tudo, siga as recomendações abaixo. Há uma resposta para tudo, porém encontrá-la pode ser difícil em algumas situações.
- Implemente Monitoramento de Desempenho
- Tire Vantagem de Ferramentas Como New Relic
- Utilize o Site de Testes – Ele Existe por um Motivo
- Invista em Hospedagem WordPress Premium
- Empresas de Manutenção
- Não Tenha Medo de Abordar um Problema com o Desenvolvedor
- Você Sempre Pode Contratar um Desenvolvedor WP
1. Implemente Monitoramento de Tempo no Ar e Desempenho
Nunca se está preparado demais quando se trata desse tipo de problema. Uma das melhores ações que você pode tomar para se certificar que seu site está funcionando normalmente antes que seus visitantes percebam é implementar monitoramento de tempo no ar e desempenho. E na verdade, foi exatamente assim que eu descobri que meu site estava apresentando problemas. A Kinsta verifica o status de todos os websites que hospeda a cada dois minutos. Isso significa 720 verificações para cada site hospedado por dia.
De fato, graças ao New Relic Synthetics and APM, também temos a capacidade se monitorar alguns dados diferentes no que diz respeito aos sites WordPress:
- Tempo de carregamento para o usuário final
- Tempo de carregamento no servidor do aplicativo
- Taxas de erro
- Taxa de transferência
- Taxa de sucesso (tempo no ar)
- Pontuações Apdex
Isso diz respeito tanto ao monitoramento de tempo no ar quanto de desempenho. Se um site sai do ar, a equipe da Kinsta fica sabendo antes que você. Se um site que estamos monitorando ultrapassa os limites aceitáveis de desempenho interno, também entraremos em contato e te ajudaremos a resolver o problema.
Algumas vezes, esse processo pode envolver a participação de um desenvolvedor terceirizado, especialmente se uma codificação ruim for a origem do problema. Ou ele pode significar um aumento na necessidade de PHP workers. Por fim, poderia se tratar de algo que pode ser corrigido facilmente.
Queremos que você tenha sucesso e disponibilizar um site rápido para seus visitantes sempre foi uma de nossas maiores prioridades. Se pudermos detectar que o plugin A está causando lentidão em suas páginas, queremos que você saiba. Frequentemente, observamos muitos fluxos de problemas de desempenho a partir de atualizações ruins de plugins, códigos bagunçados, falta de suporte à última versão do PHP, etc.
Ferramentas de Monitoramento de Tempo no Ar e Desempenho
Se você não está usando a Kinsta, saiba que existem muitas ferramentas terceirizadas que podem ser utilizadas para alertá-lo sobre tempo no ar e desempenho. Aqui estão algumas que vale a pena conferir:
- updown.io (monitoramento de tempo no ar)
- Pingdom (monitoramento de tempo no ar e desempenho)
- Uptime Robot (monitoramento de tempo no ar)
- StatusCake (monitoramento de tempo no ar e desempenho)
- ManageWP (monitoramento de tempo no ar e desempenho)
2. Tire Vantagem de Ferramentas Como New Relic (Elas São Inestimáveis)
Ferramentas como New Relic não são boas apenas para monitorar tempo no ar e desempenho, elas também são inestimáveis quando se trata de solucionar problemas de desempenho em sua origem. A Kinsta possui integração com New Relic, que permite aos usuários utilizar com facilidade suas próprias chaves de licença. Embora isso não esteja incluído em nossa hospedagem, nossa equipe de suporte pode habilitá-lo e ajudar você a fazer um acompanhamento dos problemas, se isso for necessário. Ou você pode tentar usar um plugin gratuito como o Query Monitor.
Existem alguns locais em que New Relic pode ajudá-lo a reduzir rapidamente problemas de desempenho. O primeiro deles é na aba “WordPress – Plugins e temas” (“WordPress – Plugins and themes”). Em meu site de trabalho, que estou usando no caso de estudo de hoje, pude observar instantaneamente que o problema que estava encontrando vinha do plugin “gp-premium” que eu havia instalado. Mas por quê? Bem, vamos abordar isso também.
Observação: A seção do New Relic acima nem sempre é 100% precisa. Neste caso, ela foi. Mas é sempre recomendável dar uma olhada nela, por garantia.
Então, após observar isso, tive um pressentimento de que havia algo estranho em meu plugin “gp-premium” (que é uma extensão do meu tema WordPress GeneratePress). Ciente disso, fui até a aba “Transações” (“Transactions”). Podemos ver imediatamente que o número de transações admin-ajax.php estava nas alturas!
Para aqueles que não têm New Relic, certifiquem-se de verificar nosso excelente tutorial sobre como diagnosticar a alta utilização de admin-ajax em seu site WordPress. Eu também observava solicitações admin-ajax constantes em meus registros do WordPress. Você também pode tirar proveito de nossa ferramenta Kinsta APM integrada.
O próximo passo foi analisar as transações admin-ajax.php e olhar para as consultas ao banco de dados que mais consumiam tempo. É possível fazer isso clicando nas abas “Rastrear Detalhes” (“Trace Details”) ou “Consultas do banco de dados” (“Database queries”).
Algumas vezes, a consulta em si será um indicador de onde o problema está localizado, mas, neste caso, não foi assim. Algo se destacou imediatamente e foi a pasta /gp-premium/
. Lembre-se que acima estávamos vendo que o “gp-premium” supostamente era o plugin causador do problema. Em geral, se você estiver observando sua presença tanto na seção de plugins/temas, quanto na seção de rastreamento, então esse é um indicador de um bom lugar para começar a investigação.
…s/gp-premium/library/image-processing-queue/includes/wp-background-process.php
O próximo passo foi ir até o Google! Sim, o Google pode ser muito útil em casos como esse.
Portanto, fiz uma pesquisa por “Fila de Processamento de Imagens”. O primeiro resultado era do plugin Image Processing Queue da Delicious Brain. Após ler sua descrição, pude observar que ele era usado para processar imagens em temas WordPress. Essencialmente, os tamanhos das imagens são gerados nos bastidores, usando WP Queue.
Uma rápida pesquisa pelo mesmo termo juntamente com “GeneratePress” resultou em seu changelog recente. É isso! Sim, o redimensionador de imagem teve que ser alterado recentemente no GeneratePress, transformando-se de Aqua Resizer para Image Processing Queue. Isso ocorreu justamente na mesma época que eu atualizei meu tema e basicamente mais nada foi alterado no meu site. É por isso que os changelogs são tão importantes! Eles podem servir como pistas para a resolução de problemas.
O grande enigma é que eu tinha outros sites rodando GeneratePress que não apresentaram o mesmo problema. Por isso, embora eu tivesse uma boa noção do que estava ocorrendo, ainda não tinha 100% de certeza. Assim, o próximo passo foi usar meu ambiente de testes para começar o processo de depuração.
3. Utilize o Site de Testes Sem Alterar o Site de Produção
Para ser honesto, eu não sei o que faria da minha vida sem os ambientes de testes. Quando se trata de resolver problemas desse tipo, eles se tornam muito convenientes. Felizmente, a Kinsta conta com ambientes de testes fáceis de usar. Por isso, eu entrei no painel MyKinsta e coloquei uma cópia do meu site de produção para teste. Se sua hospedagem WordPress não oferece ambientes de testes, você pode usar um plugin como o WP Staging, embora não seja tão fácil assim de configurar.
Após ter meu site de teste pronto, a primeira coisa que eu fiz foi desabilitar todos os meus plugins. Percebi que muitas pessoas tendem a ignorar essa etapa simples. É quase como pensar que reiniciar seu computador não corrigirá um problema. Eu costumava trabalhar no suporte de computadores, por isso não vamos entrar nesse buraco de coelho. 🐰
O importante é sempre desabilitar todos os seus plugins primeiro. Essa é de longe, uma das formas mais fáceis de reduzir os problemas. Simplesmente vá até a aba de Plugins, selecione todos eles e clique em “Desativar” no menu de ações em massa.
Após fazer isso, os tempos de resposta no New Relic imediatamente diminuíram para números normais em meu site. Assim, eu sabia que era um plugin que estava causando o problema. E como eu já tinha feito alguns processos de resolução mencionados acima, estava com um pressentimento de que ainda se tratava do plugin “gp-premium”.
Então, habilitei novamente o plugin “gp-premium” para verificar se seria capaz de replicar o problema. E sim, os tempos de carregamento (tempos de transações na web) imediatamente subiram novamente.
Ótimo! Assim tive uma confirmação de 100% que se tratava do plugin. Mas e agora? Isso não me ajuda a corrigir o problema. Bem, como parecia que ele surgiu na fila de processamento de imagem, a próxima sugestão foi verificar os CRON jobs e transientes. Sempre que você tiver filas de qualquer tipo, verifique essas áreas. Na verdade, sempre recomendo que você dê uma olhada nelas. Dados carregados automaticamente também são outros culpados comuns em casos desse tipo.
Sugestão de Leitura: Como Corrigir o Erro de Programação Perdida do WordPress (2 Métodos).
Transientes são uma forma simples do WordPress realizar armazenamento em cache com tempos de expiração. Para visualizar rapidamente meus transientes, instalei o plugin gratuito Transients Manager, de Pippin Williamson. Ao iniciá-lo, algo chamou minha atenção imediatamente: um item transiente chamado wp_image_processing_queue_process_lock
. Além disso, ele estava configurado para expirar em um minuto e continuava aparecendo de novo e de novo.
Embora o plugin em si ofereça uma forma de excluir transientes, ela não funcionou. Assim, era hora de olhar o banco de dados. Acessei o phpMyAdmin. Os transientes são armazenados na tabela wp_options
, por isso fiz uma rápida consulta na aba de “Pesquisa” (“Search”) para encontrar quaisquer linhas que apresentassem opções com esse nome.
SELECT * FROM wp_options WHERE option_name LIKE '%wp_image_processing%'
Uau! Havia 695.846 linhas com %wp_image_processing%
. 😲
É nesse ponto que o ambiente de testes se torna conveniente. Como não havia qualquer risco em destruir ou fazer testes, comecei a remover manualmente todas as linhas que apresentavam essa opção. Executei a seguinte consulta na aba “SQL” para remover todas as linhas que continham esse nome de opção:
DELETE FROM wp_options WHERE option_name LIKE '%wp_image_processing%'
Como num passe de mágica, imediatamente após remover as linhas, os tempos de resposta do meu site voltaram ao normal. 👏
Conforme disse antes, isso não aconteceu com meus outros sites que estavam usando GeneratePress. Eles também não mostravam aquelas linhas de transientes extras no banco de dados. Talvez, ao fazer a atualização, algo não tenha sido excluído como deveria. Portanto, parece não ser culpa do desenvolvedor, mas é provável que se trate de um cache transiente corrompido.
Isso poderia ter acontecido com qualquer plugin ou tema. GeneratePress é, na verdade, um dos meus produtos WordPress favoritos. Continua assustado? Bem, essas são algumas das emoções que acompanham o WordPress!
Se você não entendeu nada que foi dito acima, então eu recomendo que veja o restante dos passos abaixo que tratam da resolução de problemas como esses.
4. Invista em Hospedagem Premium com Suporte de Alto Nível
Problemas como os citados acima mostram exatamente porque é importante investir em uma hospedagem de WordPress gerenciada premium, como é o caso da Kinsta.
Ao contrário do que muitas pessoas te levam a acreditar, não há arquitetura ou hospedagem existente que vai corrigir códigos ruins num passe de mágica. Mesmo que meu site de trabalho esteja hospedado na Kinsta, pequenos detalhes como uma atualização de plugin malfeita ou, nesse caso, transientes corrompidos, são capazes de derrubar o WordPress! Essa é uma das razões pelas quais temos backups automáticos, ambientes de testes e integração com New Relic. Esses recursos e ferramentas ajudam a proteger seu site e a resolver os problemas mais rapidamente.
É também nesse aspecto que nossa equipe de suporte especializada aqui da Kinsta pode te ajudar, caso você enfrente problemas como descrito acima. Nossa equipe de suporte lida com problemas únicos e complexos como esse diariamente. E mesmo que não possamos corrigir códigos ruins por você, somo capazes de pelo menos, te apontar a direção certa a ser seguida. Isso envolve um processo similar à habilitação da New Relic, permitindo que ele seja executado por um momento e transformando nossa equipe em detetives do WordPress por um minuto.
Se você não é um cliente Kinsta, recomendamos que, independentemente da hospedagem que escolha, certifique-se de que a equipe de suporte seja de alto nível! Levamos isso a sério, por isso contratamos menos de 1% das pessoas que se candidatam para fazer parte do nosso time.
E, obviamente, a infraestrutura também importa quando se trata de desempenho e capacidade de carga. Aqui estão algumas formas como a Kinsta auxilia seu site a rodar mais rápido para que você não tenha problemas de desempenho:
- Utilizamos contêineres de software LXC isolados, o que significa que os recursos não são compartilhados com outros sites.
- Permitimos que os clientes escolham entre 20 data centers ao redor do mundo sem nenhum custo adicional. Isso reduz a latência onde quer que você esteja.
- Usamos a camada de rede premium do Google Cloud Platform (ao invés da camada padrão). Ela oferece velocidades incrivelmente rápidas de rede.
- Sempre implementamos as últimas e melhores versões de PHP. Fomos a primeira hospedagem gerenciada a implementar PHP 7.2, que é três vezes mais rápido que PHP 5.6. Também disponibilizamos PHP 7.3, que é, em média, 9% mais rápido que PHP 7.2. O PHP 8.1 também está agora disponível. Veja nossos benchmarks de PHP.
- Temos uma parceria com um provedor de CDN que foi desenvolvida do zero, com foco em alto desempenho.
Você pode ver todas as outras formas que a Kinsta é diferente.
5. Precisa de Mais Ajuda? Existem Empresas de Manutenção Para Isso
Nos últimos cinco anos, um novo tipo de companhias surgiu na indústria: empresas de manutenção para WordPress. Elas oferecem serviços um pouco diferentes daqueles que a Kinsta proporciona e podem, em alguns casos, assumir todas as suas tarefas entediantes no WordPress. Aqui estão alguns exemplos:
- Configuração do Google Search Console
- Integração do Google Analytics
- Relatórios semanais de ranqueamento de palavras-chave + analytics
- Aplicativo de analytics de mídias sociais
- Otimização para dispositivos móveis + tablets
- Desenvolvimento de plugins
- Edições ilimitadas (é isso mesmo, incluindo algumas tarefas pequenas como atualizar seu logo, adicionar um produto ao WooCommerce, etc.)
E muitas delas oferecem monitoramento diário ou semanal de tempo no ar e desempenho. Abaixo, estão algumas empresas de manutenção para WordPress que vale a pena conferir. Observação: Levamos nossas recomendações muito a sério!
SkyrocketWP
SkyrocketWP oferece serviços de manutenção, suporte e uma solução de hospedagem para WordPress para pessoas que buscam ver o crescimento dos seus negócios. Fizemos até mesmo um caso de estudo com eles, portanto lembre-se de dar uma olhada!
WP-Tonic
WP-Tonic oferece uma verdadeira boutique de suporte e serviços de manutenção para proprietários de negócios que são muito ocupados. Não tem tempo para corrigir seus problemas no WordPress? Deixe que o WP-Tonic cuide disso por você. A empresa também tem um podcast popular, onde realiza entrevistas com proprietários de negócios no WordPress e desenvolvedores, para que os ouvintes tenham uma visão interna do que está acontecendo na indústria. Certifique-se também de ver nossa entrevista com o fundador da companhia.
WP Buffs
WP Buffs oferece planos de cuidados no WordPress para proprietários sérios de websites e parceiros de agências white-label. Como eles dizem em sua página: “Diga olá para seu novo CTO do WordPress!”. Aliás, WP Buffs é hospedado pela Kinsta.
6. Não Tenha Medo de Abordar um Problema com o Desenvolvedor
Após reduzir as possibilidades do que poderia ser a causa do seu problema de desempenho no WordPress, não tenha medo de abordar a questão com o desenvolvedor! Muitas vezes, os desenvolvedores ficarão felizes em ajudar e, na verdade, gostam de saber quando algo dá errado, pois assim são capazes de fazer as correções para todo mundo.
Entrei em contato com Tom, o desenvolvedor do GeneratePress, e ele respondeu imediatamente, como sempre faz. Falamos sobre o problema com transientes corrompidos, mas como você pode observar, ele vai alterar o método de fila de imagem (em parte por causa desse problema). Assim, seu feedback de usuário pode definitivamente ajudar os desenvolvedores a tomar decisões no que diz respeito às melhores opções a serem implementadas ou alteradas em seus plugins e temas.
7. Você Sempre Pode Contratar um Desenvolvedor WordPress
Se algo que já estava ruim e depois piorar, você sempre poderá contratar um desenvolvedor WordPress para corrigir seu problema. Talvez tenha descoberto que o plugin que está usando tenha uma codificação ruim e que seu criador não seja capaz de corrigi-la. Ou ainda pode ser que você precise de otimizações adicionais de desempenho que vão além do escopo de nossa equipe de suporte aqui da Kinsta.
A parte difícil na contratação de um desenvolvedor é: como encontrar alguém que tenha uma boa reputação e seja ótimo naquilo que faz?
Recomendamos bastante a Codeable, pois eles têm um alinhamento similar ao processo seletivo que usamos em nossa equipe aqui na Kinsta. Os desenvolvedores deles são analisados cuidadosamente antes que a equipe da Codeable revise pessoalmente seus portfólios e CVs. Eles possuem mais de 25 mil clientes e apenas 300 especialistas em WordPress. Somente 2% dos candidatos foram aprovados. A empresa quer apenas os melhores entre os melhores, algo que pode economizar muito tempo e diminuir a frustração dos clientes.
Eles se dedicam a oferecer serviços de terceirização para WordPress e se focam totalmente em combinar desenvolvedores talentosos com seus clientes. Tivemos o prazer de entrevistar Per Esbensen, CEO da Codeable, e foi revigorante ver a dedicação deles em construir uma comunidade de desenvolvedores WordPress.
Também temos que tirar o chapéu para Mike Andreasen, um desenvolvedor da Codeable em tempo integral especializado em otimização de desempenho, que ajudou muitos clientes aqui da Kinsta com instalações complexas que levaram os sites a novos níveis de qualidade.
Recursos Adicionais
Aqui na Kinsta, somos provavelmente um pouco mais obcecados que a maioria das pessoas quando se fala de desempenho. Por isso, aqui estão alguns recursos adicionais que reunimos para ajudá-lo a resolver algumas dificuldades de depuração de desempenho no WordPress:
- Encontrando Gargalos de Desempenho no WordPress com New Relic
- Como Usar Monitoramento de Consultas
- Como Eliminar Blocos de Renderização de JavaScript e CSS
- Como Corrigir o Aviso de Leverage Browser Caching
- Como Corrigir um Erro 500 Interno de Servidor
- Como Corrigir um Erro 504 Gateway Timeout
- Como Corrigir um Erro 502 Bad Gateway
Resumo
Seja você um viciado em tecnologia ou não, sempre existem soluções disponíveis quando se trata de resolver problemas de desempenho no WordPress. A primeira recomendação óbvia é se preparar para o sucesso, escolhendo um provedor de hospedagem que ofereça não só uma infraestrutura sólida, como também uma equipe de suporte de alto nível para apoiá-la. A última coisa que você quer que aconteça é que seu site WordPress saia do ar ou comece a ficar lento simplesmente porque não sabe quais passos devem ser tomados.
Tire vantagem de ferramentas incríveis que existem, como New Relic, que ajudarão você a economizar tempo quando estiver depurando problemas. E quando se trata de depuração, existem milhares de desenvolvedores WordPress talentosos na comunidade. Não tenha medo de contratar um deles.
Você já passou por problemas de desempenho e sentiu que estava prestes a jogar a toalha? Caso sim, compartilhe sua experiência conosco nos comentários abaixo.
Deixe um comentário