A resposta curta: o Heartbeat é um «pulso» que o WordPress envia ao servidor de poucos em poucos segundos enquanto o painel ou o editor estão abertos. Serve para guardar rascunhos, avisar que outra pessoa está a editar a mesma página e ver se a sua sessão expirou. Quando há muitos separadores abertos, são muitos pedidos ao servidor. A cura é abrandá-lo, não desligá-lo.
Cada pulso é um pedido ao ficheiro admin-ajax.php com a ação heartbeat. O intervalo depende do ecrã: mais curto no editor de páginas, mais longo no resto do painel. Por defeito corre no painel e no editor, e não nas páginas que os visitantes veem.
Como saber se é o Heartbeat
| 2 |
Se o site fica lento ou chega ao limite quando alguém está a editar, e acalma quando essa pessoa fecha os separadores, o Heartbeat é um bom suspeito.
|
|
O que fazer
| Medida |
O que muda |
| Fechar os separadores do painel que ninguém usa |
Cada separador aberto, mesmo esquecido de um dia para o outro, continua a enviar pulsos. É a medida mais simples e a que mais resolve. |
| Aumentar o intervalo entre pulsos |
O WordPress aceita um intervalo configurado por código. Fica com a proteção toda e com menos pedidos. |
| Desligá-lo por completo |
Acaba com os pedidos, mas perde o guardar automático seguro, o aviso de edição simultânea e o aviso de sessão expirada. Só faça isto sabendo o que perde. |
Para aumentar o intervalo, acrescente este código ao functions.php de um tema filho, ou a um plugin de pedaços de código (veja Um plugin ou um pedaço de código):
add_filter( 'heartbeat_settings', function ( $settings ) {
$settings['interval'] = 60;
return $settings;
} );
O número é em segundos. Meça antes e depois, como em O que consome CPU num site.
|
O site abranda quando se edita e não percebe porquê? Abra um pedido com o endereço e a hora a que aconteceu.
Abrir pedido de suporte
|
PRODUTO RECOMENDADO Alojamento WordPress Instalação num clique, actualizações tratadas e velocidade a sério. desde 5.940,00 Kz/mês (plano de 3 anos, com cupão) Ver planos |