Introduzido no WordPress 3.6, a API do WordPress Heartbeat permite que o WordPress se comunique entre o navegador da Web e o servidor. Ele permite o gerenciamento aprimorado de sessão de usuário, rastreamento de revisão e salvamento automático.
A API WordPress Heartbeat usa /wp-admin/admin-ajax.php para executar chamadas AJAX a partir do navegador da Web. O que na teoria parece incrível, pois o WordPress pode acompanhar o que está acontecendo no painel de controle.
No entanto, isso também pode começar a enviar pedidos excessivos para admin-ajax.php, o que pode levar a uma alta utilização da CPU. Sempre que um navegador da Web é aberto em uma página usando a API Heartbeat, isso poderia ser um problema.
WordPress Heartbeat API em ação
Algo tratado pela API WordPress Heartbeat é a principal página do painel de administração do WordPress. Se tudo o que você fez foi fazer login no WordPress e, em seguida, minimizar essa janela e começar a trabalhar em outra coisa, você veria os pedidos de admin-ajax.php nos registros de acesso do seu site conforme exemplo abaixo.
Em [00:29:30]Login no painel, e você pode ver o pedido GET inicial /wp-admin/index.php .
Então, em [00:30:31], a API HeartPress de WordPress envia uma solicitação POST /wp-admin/admin-ajax.phpHeartbeat.
Com o painel do WordPress em foco, uma solicitação Heartbeat deve ser espaçada no máximo de 60 segundos que a API permite. Se o painel estiver fora de foco, o Heartbeat solicita espaço para 120 segundos entre eles.
Agora, cada um desses pedidos POST teve uma execução de script PHP correspondente no servidor usando o tempo de CPU:
Tendo o nosso painel aberto durante mais de meia hora, gerou 25 execuções de script PHP. Com um uso total de 5.77 CPU segundos. Não é terrível, mas também não ótimo, já que usamos a CPU essencialmente procurando que nada acontecesse. Mas não fique preocupado, há uma solução para isso através do uso do plugin Heartbeat Control.
Instalando o plugin Heartbeat Control
- Primeiro, faça login no painel de administração do WordPress .
- No seu painel de controle, passe o mouse sobre os plugins e clique em Adicionar novo .
- Nesta página, localize a caixa de pesquisa na parte superior e digite “Heartbeat Control” e pressione a tecla Enter no teclado para executar a pesquisa.
- Como você procurou o nome exato do plugin, ele deve ser o primeiro resultado que aparece. Para instalá-lo, clique no botão Instalar agora (Install Now) .
- Após instalar o plugin certifique-se de clicar em Ativar Plugin para que inicie o funcionamento.
Configurando o plugin Heartbeat Control
Depois de instalado é hora de configurar o plugin.
- Agora que você tem o plugin Heartbeat Control instalado, você precisará configurar suas configurações. Para acessar a página de configurações, passe o mouse sobre Ferramentas e na barra de menu do lado esquerdo e clique em Heartbeat Control.
- Uma vez na página de configurações, você notará 2 caixas suspensas diferentes. A primeira caixa permitirá que você desative o heartbeat do WordPress em todo o site ou em locais específicos. Dependendo de suas necessidades, você pode desativar completamente o batimento cardíaco WordPress ou apenas permitir em locais específicos, como na página de edição de postagem.
- A segunda caixa permite que você determine a frequência com que a API heartPress de WordPress faz uma solicitação. Por exemplo, em páginas de edição de publicação, faz uma solicitação de POST a cada 15 segundos. Isso pode ser modificado dentro do menu suspenso de freqüência cardíaca para atrasar até 60 segundos entre solicitações que reduzem os recursos do servidor causados por pedidos de administração-ajax em 75%.
- Depois que suas alterações forem feitas, clique em Salvar alterações .
Pronto! Agora você modificou o comportamento da API heartPress de WordPress para usar menos recursos no servidor.