WordPress

Como Reduzir Tempo de Carregamento do Servidor admin-ajax.php no WordPress

Como reduzir tempo de carregamento do servidor admin-ajax.php no WordPress

A performance de um site é crucial para qualquer pessoa que tem um site. Problemas com o desempenho podem afetar a experiência do usuário e também afetar o SEO e o ranqueamento nos mecanismos de busca, já que o Google usa o tempo de carregamento e uma página como critério de ranqueamento.

Quando pensamos na performance de um site, é normal pensar no tempo de carregamento. No WordPress, um cenário comum enquanto lidamos com tempo de carregamento é que pode ser causado por picos no arquivo admin-ajax.php.

Neste artigo, você vai aprender como gerenciar conflitos em plugins causados por sobrecarga no arquivo admin-ajax.php e reduzir o tempo de solicitação para otimizar o carregamento do seu site.

O Que é o Arquivo Admin-ajax.php no WordPress?

Em 2013, a versão 3.6 do WordPress foi introduzida junto ao Heartbeat API em seu núcleo. O WordPress Heartbeat API é construído como um protocolo de comunicação entre o navegador e o servidor. Ele usa o admin-ajax.php para enviar uma solicitação ao servidor e eventos (chamadas) quando recebe dados. Os recursos principais do Heartbeat API são:

  • Salvamento Automático

Quando você escreve um conteúdo no WordPress, salva como rascunho e continua trabalhando nisso depois, o WordPress salva este conteúdo automaticamente mesmo sem você saber nada.

  • Bloqueio de Post Locking e Notificação de Login

Em um site WordPress colaborativo, você vai receber uma mensagem toda vez que você tentar escrever/editar um post que outra pessoa estiver editando. Você também receberá uma notificação quando sua sessão tiver expirado e quando for necessário fazer um login para continuar trabalhando no seu post.

Problemas Que o Admin-ajax.php Pode Causar

Sobrecarregar o arquivo admin-ajax.php pode causar um problema no tempo de carregamento de página, o que é grave. A regra de ouro da internet é que o seu site deve carregar completamente em 3 segundos ou menos. Se for maior que isso, as chances são que você desaponte os seus visitantes com uma experiência ruim e os perca.

Páginas lentas podem também afetar negativamente o seu ranqueamento SEO. Você deve saber que o Google usa a velocidade de uma página como um dos indicadores do algoritmo para ranquear sites.

Além disso, uma página lenta significa que os mecanismos de pesquisas podem rastrear algumas páginas do seu site usando o orçamento de rastreamento alocado.

Para alguns de nós, o único momento em que lidamos com este API é quando usamos ferramentas de teste de velocidade – como o CTmetrix, para descobrir porque o admin-ajax.php está deixando nosso site lento.

As causas da sobrecarga podem ser de duas origens diferentes, podem ser causados por plugins terceiros ou pela solicitação do WordPress Heartbeat API na seção admin. Vamos discutir os detalhes abaixo.

Como Plugins Podem Sobrecarregar o Arquivo Admin-ajax.php

Plugins de terceiros podem causar os problemas mais comuns quando os usuários encontram sobrecarga no admin-ajax.php. Se for feito corretamente, o AJAX é definitivamente uma coisa boa, já que os desenvolvedores podem usá-lo para adicionar funcionalidades aos plugins.

Por exemplo, os desenvolvedores podem usar requisições do AJAX e criar um wp_query customizado para ser exibido um conteúdo dinâmico ou página em cache.

Mas, algumas vezes quando muitos plugins fazem essa consulta, eles podem causar um tráfego e, consecutivamente, criar uma sobrecarga e deixar o site todo mais lento. Então, se você é um desenvolvedor, aqui estão os recursos apropriados para implementar AJAX em plugins.

Como dono de um site, você precisa diagnosticar os plugins antes de desativá-los. Isto é importante para descobrir se um plugin em particular está causando a lentidão do site.

Diagnosticando Plugins

Plugins problemáticos podem causar transtornos com o tempo de carregamento. A velha guarda diria que você sempre pode desativar todos os plugins para corrigir o problema, e reativar um por um usando o processo de eliminação. Mas, essa definitivamente não é uma boa solução.

Nós usaremos um método mais apropriado para descobrir a causa raiz do problema.

Ao ativar vários plugins, você vai notar que o seu site precisará de mais tempo para carregar completamente. Você vai diagnosticar isso usando o site GTmetrix. Ele é uma ferramenta de teste de velocidade poderosa que nos permite ver os dados de resposta de posts individuais.

Método A

Acesse a página do GTmetrix, preencha com a URL do seu site e clique em Analyze. Pode levar um pouco de tempo até que o seu site seja analisado por completo.

página principal do GTmetrix

Quando finalizar, você receberá um relatório completo com as condições do seu site incluindo performance e detalhes da página. Acesse a aba Waterfall e inspecione os elementos do site com mais detalhes.

janela de diagnóstico GTmetrix

A janela Waterfall vai mostrar todos os elementos presentes no seu site. Enquanto parece estar tudo certo com os demais arquivos, você vai notar que o POST admin-ajax.php leva mais tempo para carregar.

relatório detalhado do gtmetrix

Clique em POST admin-ajax.php, e você vai ver outras quatro abas diferentes disponíveis: Headers, Parameters, Post e Response. Ao diagnosticar esses tipos de problemas, as abas de Post e Response são as que você precisa conferir.

Para este site, encontramos uma pista na aba Post, e essa solicitação tem algo a ver como o script “count_hit”.

detalhes do post

Esta pista nos faz suspeitar de um plugin “count hit” que instalamos anteriormente. Então, para provar a teoria, nós desabilitamos o plugin e fizemos mais um teste com o GTMetrix no nosso site.

exemplo de plugin com problemas afetando tempo de carregamento do site

E nossa dúvida foi comprovada, ao desativar este plugin, nós reduzimos o tempo de carregamento da página para 2 segundos.

Método B

Você também pode usar o console do desenvolvedor do Google Chrome para encontrar plugins suspeitos.

Abra o seu site e clique com o botão direito em qualquer lugar da página. Em seguida, clique em Inspecionar. Outra alternativa, no Chrome, clique em View > Developer > Developer Tools.

Clique na aba Network e recarregue o seu site.

relatório do chrome sobre admin ajax php

No campo de filtros (logo abaixo o ponto vermelho) insira admin-ajax.php. Você vai ver o culpado pelo problema. Depois disso, você pode desabilitar o plugin e testar se o problema continua existindo.

Se o site é seu e você realmente precisa usar este plugin, tenha certeza que está usando a versão mais recente. Se você já fez isso e o erro persiste, entre em contato com o desenvolvedor do plugin sobre o caso.

Se nem mesmo o desenvolvedor for capaz de resolver o problema, o melhor a ser feito é substituir o plugin. Essa é uma das maravilhas do WordPress, a variedade de plugins disponíveis.

Apenas acesse o Diretório de plugins WordPress e selecione os plugins mais usados e recentes que oferecem a mesma funcionalidade.

Aumentando a Velocidade do Backend do Seu Site WordPress

Algumas vezes, o WordPress Heartbeat API acionado no back-end do seu site também podem causar problemas na performance.

Como já falamos anteriormente, este recurso ajuda salvar o seu trabalho automaticamente para evitar a perda de projetos inesperadamente, e gerenciar situações simultâneas de edição.

Por exemplo, a função será acionada cada vez que você escrever um post e manter a aba aberta. Isto pode causar o uso excessivo do CPU, como você vê as inúmeras solicitações no painel do desenvolvedor abaixo.

 admin ajax acionado

O uso do CPU é um fator importante para quem usa hospedagem compartilhada. Alguns provedores de hospedagem não toleram excesso nos limites de uso de CPU e podem até levar à suspensão, mas este não é o caso da Hostinger.

Para resolver este problema, você pode fazer duas coisas, desativar o API ou tornar o intervalo de atividades maior. Digamos que a primeira sugestão não seja uma opção, vamos focar na segunda. Para alterar o intervalo, você precisa de um plugin chamado Heartbeat Control.

Acesse o seu Painel de Controle > Plugin > Adicionar Novo. Pesquise o plugin por nome, clique em Instalar e Ativar.

Após ativação, acesse Configurações > Heartbeat Control Settings. Aqui, você pode definir regras diferentes para locais diferentes.

configurações de controle heartbeat

Como nós queremos otimizar a frequência de solicitações no Editor, vamos alterar o número do intervalo entre solicitações 15 para 200.

E, quando terminar, clique em Save Changes.

Conclusão

Você aprendeu sobre o Heartbeat API e sobre o admin-ajax.php. Você também aprendeu que problemas causados por plugins sobrecarregados causam lentidão.

Você também viu que o próprio Heartbeat API pode criar um sério problema com seu servidor de hospedagem, se você não gerenciar isso corretamente.

Lembre-se: sempre checar o GTmetrix ao sentir que o seu site está lento. Abra a aba waterfall, navegue até POST admin-ajax.php e veja como estão as coisas por ali.

Não desative todos os plugins de uma vez, nem sempre eles são os culpados. Mas se for, substitua o plugin ou limite limite o uso do heartbeat API.

Você já passou por algo parecido com o admin-ajax.php? Deixe um comentário!

Ariane G.

Ariane é jornalista, analista de conteúdo & SEO na Hostinger Brasil e tem o papel de contar para todo mundo o poder transformador da internet. Com foco em otimização, produção para web e técnicas de SEO, divide os dias entre pesquisas de palavras-chave e passagens aéreas (ela ama viajar).

Deixe um Comentário

Deixe seu comentário!

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Comece a Economizar Agora!

Hospedagem com tudo incluso e nome de domínio
1
45
/mês