Configurar o WP Rocket para otimizar a cache do seu sítio

Procédure

O que é o WP Rocket?

O WP Rocket é um poderoso sistema de cache que pode melhorar drasticamente o desempenho de um sítio Wordpress. Como todos os plugins de cache, ele pode armazenar páginas que já foram carregadas. Isto reduz o tempo de carregamento das páginas emelhora a velocidade do seu sítio.

No entanto, deve ter em atenção que as definições do WP Rocket também podem ter um impacto negativo num sítio Web se estiverem incorretamente configuradas.

Este guia ajudá-lo-á a definir as configurações ideais para um desempenho ótimo.

Como funciona o sistema de cache do WP Rocket?

Por defeito, o WP Rocket ativa o pré-carregamento da cache. Isto cria os ficheiros de cache para cada página antes mesmo de serem abertos.

A vantagem disto é que a página já não precisa de ser gerada quando é carregada pelo navegador Web, melhorando assim a velocidade de visualização do seu sítio.

Problemas encontrados com o pré-carregamento da cache do WP Rocket

1. Pré-carregamento efectuado pelo WP CRON

A cache do WP Rocket é pré-carregada quando o WP Cron, que é utilizado para lançar os vários eventos do Wordpress, é executado. No entanto, isto coloca um problema na sua utilização, uma vez que o WP Cron é carregado sempre que uma página é aberta. Como resultado, a cache é pré-carregada enquanto outra página está a carregar.

Isto é muito problemático. Em vez de carregar uma única página, o WordPress carregará várias páginas e o tempo de carregamento da página aumentará.

Para além disso, isto também irá exercer uma enorme pressão sobre o I/O do espaço de armazenamento do seu alojamento sempre que uma página é carregada.

2. Tempo limite do WP CRON

Outro problema encontrado nos nossos testes é o facto de o WP Cron estar limitado pelo WP_CRON_LOCK_TIMEOUT. Trata-se de uma variável que permite definir o tempo atribuído ao WP CRON para realizar as tarefas que tem de efetuar. Esta variável é definida no ficheiro wp-config.php

Como resultado, com um tempo limitado para o WP CRON, o pré-carregamento da cache apenas gerará algumas páginas, retomando depois quando a página seguinte for carregada.

No entanto, na próxima vez que uma página for carregada, o WP Rocket será forçado a reordenar todo o seu cache e isso criará uma carga significativa na E/S do servidor, causando uma queda na velocidade geral do site.

3. WP Rocket combinado com outro sistema de cache

Se utilizar um sistema de cache como o Varnish, NGINX, LSCache, etc., terá períodos em que o visitante nunca chega a uma única página.

Simplificando, a interação entre o WP Rocket e o servidor de cache irá perturbar o pré-carregamento da cache, que não funcionará de todo. Ficará suspensa, à espera que um ficheiro PHP do WordPress seja aberto, altura em que o pré-carregamento da cache será executado a montante, e será executada uma onda muito intensa de operações pré-planeadas, correndo o risco de saturar o servidor e bloquear o carregamento desta página.

Como posso remediar estes problemas e otimizar o meu sítio Wordpress?

1. Aumentar o tempo de vida da cache

Quando a cache estiver totalmente pré-carregada, o pré-carregamento deixa de ser um problema, uma vez que já não faz nada. No entanto, a cache pré-carregada pode expirar, o que reiniciará o pré-carregamento.

Idealmente, a cache deve ser definida para um tempo de vida ilimitado. Esta é uma boa ideia, pois pode ser configurada no WP Rocket. Além disso, este plugin está bem concebido porque elimina a cache de uma página, de um artigo ou de um produto (Woocommerce) se tiver havido uma modificação. Assim, não há necessidade de recriar a cache regularmente e pode definir o tempo de vida como ilimitado. Para o fazer, siga estas etapas:

  • No menu do lado esquerdo, aceda a Definições e, em seguida, clique em WP Rocket.

Configurar o WP Rocket para otimizar a cache do seu sítio

  • Uma vez no plugin WP Rocket, aceda ao menu "Cache" e configure o último item, "Cache clean-up time", especificando 0 horas para configurar um tempo de cache ilimitado.

Configurar o WP Rocket para otimizar a cache do seu sítio

  • Clique em Guardar alterações

Configurar o WP Rocket para otimizar a cache do seu sítio

2. Execute uma tarefa cron para pré-carregar a cache e desactivá-la quando as páginas do WordPress forem carregadas

Isto resolverá os vários problemas listados acima, nomeadamente :

  • O WP Cron já não é carregado enquanto uma página está a carregar, pelo que o pré-carregamento já não afecta os tempos de carregamento da página.
  • O WP Cron já não está limitado por max_execution_time e WP_CRON_LOCK_TIMEOUT.
  • A cache pode ser pré-carregada num único bloco, pelo que não há necessidade de reiniciar a cache e não há sobrecarga de disco (I/O).
  • O WP Cron é sempre executado, quer a página seja carregada a partir da execução do PHP, quer a partir do servidor de cache utilizado (Varnish/NGINX/...).

Para isso, é necessário realizar duas acções:

  • Modificar o ficheiro wp-config.php

Este ficheiro está localizado na raiz do seu site. Terá de ir ao código neste ficheiro para adicionar a linha "define( 'DISABLE_WP_CRON', true );".

Exemplo :

<?php /** * A configuração básica da sua instalação do WordPress * * Este ficheiro é utilizado pelo script que cria o wp-config.php durante * o processo de instalação. Você não precisa usar o site, você * pode simplesmente renomear este arquivo para "wp-config.php" e preencher os * valores. * * Este arquivo contém as seguintes definições de configuração: * * Configurações do MySQL * Prefixo da tabela * Chaves secretas * Idioma usado * ABSPATH * * @link https://fr.wordpress.org/support/article/editing-wp-config-php/. * * * @package WordPress */ // ** Configurações do MySQL - Seu host deve fornecer essas informações. // /** Nome da base de dados do WordPress. */ define( 'DB_NAME', "xxxxxxxxxxx" ); /** Utilizador da base de dados MySQL. */ define( 'DB_USER', "xxxxxxxxxxx" ); /** Palavra-passe da base de dados MySQL. */ define( 'DB_PASSWORD', "xxxxxxxx" ); /** Endereço de alojamento da base de dados MySQL. */ define( 'DB_HOST', "xxx.xxx.xxx.xxx" ); /** Conjunto de caracteres a utilizar pela base de dados aquando da criação de tabelas. */ define( 'DB_CHARSET', 'utf8' ); /** * Tipo de agrupamento da base de dados. * Só toque nisto se souber o que está a fazer. */ define( 'DB_COLLATE', '' ); /**#@+ * Chaves únicas de autenticação e salga. * * Substitua os valores por defeito por frases únicas!
 * Pode gerar frases aleatórias utilizando * {@link https://api.wordpress.org/secret-key/1.1/salt/ the WordPress.org secret key service}. * Pode alterar estas frases a qualquer momento para invalidar todos os cookies existentes. * Isto também irá forçar todos os utilizadores a iniciarem sessão novamente.
 * @desde 2.6.0 */ define( 'AUTH_KEY', 'set a unique phrase here' ); define( 'SECURE_AUTH_KEY', 'set a unique phrase here' ); define( 'LOGGED_IN_KEY', 'set a unique phrase here' ); define( 'NONCE_KEY', 'set a unique phrase here' ); define( 'AUTH_SALT', 'set a unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put a unique phrase here' ); define( 'LOGGED_IN_SALT', 'put a unique phrase here' ); define( 'NONCE_SALT', 'put a unique phrase here' ); /**#@-*/ /** * Prefixo da base de dados para tabelas WordPress.
 * Pode instalar várias tabelas do WordPress numa única base de dados se der a cada uma delas um prefixo único. Use apenas números, letras não acentuadas e sublinhados! */ $table_prefix = 'wp_'; /** * Para programadores: Modo de depuração do WordPress * * Ao definir o seguinte valor como "true", ativa a apresentação de * notificações de erro durante os seus testes.
 * Para mais informações sobre outras constantes que podem ser usadas para depuração, visite o Codex. @link https://fr.wordpress.org/support/article/debugging-in-wordpress/ */ define( 'WP_DEBUG', false ); /* Isso é tudo, não toque no seguinte! Boa publicação. */ /** Caminho absoluto para a pasta do WordPress. */ if ( ! defined( 'ABSPATH' ) ) define( 'ABSPATH', dirname( __FILE__ ) . '/' ); /** Definição de variáveis para o WordPress e os seus ficheiros incluídos. */ require_once( ABSPATH . 'wp-settings.php' ); /** Desativar o WP_CRON no carregamento da página **/ define( 'DISABLE_WP_CRON', true );</code></pre> <p> </p> <ul> <li>Configurar uma tarefa CRON para anular a desativação do WP_CRON</li> </ul> <p>Para isso, precisamos de executar esta linha de comando através de uma tarefa CRON:</p> <pre> <code class="language-bash">flock /path/to/site/wp-cron.lock php /path/to/site/wp-cron.php</code></pre> <p>Para informação, <span style="font-size:10pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:Arial"><span style="color:#000000"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">Flock irá prevenir que dois wp-cron.php rodando ao mesmo tempo.</span></span></span></span></span></span></p> <p><span style="font-size:10pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:Arial"><span style="color:#000000"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">Se, por exemplo, no ISPConfig, existirem vários interpretadores de PHP, terá de substituir "php" por "php7.3", "php7.4", "/usr/local/php-7.3.8/bin/php", ... dependendo do interpretador mais apropriado.</span></span></span></span></span></span><br /> </p> <p>Para configurar a tarefa CRON em alojamento partilhado ligado ao Painel LWS, basta seguir <a href="https://help.lws-hosting.com/pt/nodoa-de-cron" target="_blank">esta documentação</a> e indicar como endereço do script:</p> <pre> <code>http://votresite.tld/wp-cron.php (substitua yourresite.tld pelo nome do seu doamine)</code></pre> <p> </p> <p>Para saber como configurar esta tarefa CRON no alojamento cPanel, convido-o a seguir <a href="https://help.lws-hosting.com/pt/programar-uma-tarefa-Cron-no-cPanel" target="_blank">esta documentação</a></p> <p>Para saber como configurar esta tarefa CRON num servidor VPS ISPConfig, convido-o a seguir <a href="https://help.lws-hosting.com/pt/criar-uma-tarefa-CRON-a-partir-do-ISPconfig" target="_blank">esta documentação</a></p> <p>Para saber como configurar esta tarefa CRON num servidor VPS via comando SSH, convido-o a seguir <a href="https://aide.lws.co.uk/a/442" target="_blank">esta documentação</a></p> <h2>Links úteis</h2> <p>Se quiser saber mais sobre o WP Rocket, convido-o a ler este <a href="https://blog.lws-hosting.com/creation-de-sites-web/wp-rocket-presentation-de-ce-plugin-de-cache-wordpress" target="_blank">artigo do blog</a></p>

Avaliar este artigo :

Este artigo foi útil para si ?

Article utileSim

Article non utileNão

Vous souhaitez nous laisser un commentaire concernant cet article ?

Si cela concerne une erreur dans la documentation ou un manque d'informations, n'hésitez pas à nous en faire part depuis le formulaire.

Pour toute question non liée à cette documentation ou problème technique sur l'un de vos services, contactez le support commercial ou le support technique

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Artigos semelhantes

1mn leitura

Como é que o Yoast SEO funciona?

4mn leitura

Como pode otimizar o seu sítio Wordpress?

1mn leitura

Como é que eu uso o Gutenberg no Wordpress?

2mn leitura

Como é que desativo o editor Gutenberg no Wordpress?


Fazer uma pergunta à equipa do LWS e à sua comunidade