LiteSpeed Cache para WordPress e uma loja online
Os nossos servidores funcionam com LiteSpeed. Para o WordPress, o plugin gratuito LiteSpeed Cache é, por isso, o plugin de cache lógico: guarda páginas prontas a servir no servidor, para que não sejam reconstruídas a cada visita. O seu site torna-se mais rápido e o seu pacote tem menos trabalho. Numa loja online, deve saber quais as páginas que nunca podem ir para a cache. Este artigo explica o básico e o que acresce com o WooCommerce.
O básico
- Vá no WordPress a Plugins > Novo plugin, procure por "LiteSpeed Cache", confirme que o criador é LiteSpeed Technologies e instale e ative o plugin.
- Abra no menu LiteSpeed Cache > Cache e confirme que a opção Enable Cache está ativada.
- Se utilizar outro plugin de cache, desative-o. Duas caches em simultâneo provocam erros estranhos.
- Teste depois o seu site numa janela privada.
Se quiser saber mais sobre o motivo pelo qual o seu site está lento e o que mais pode ajudar, consulte O meu website está lento ou consome demasiado CPU: como torná-lo mais rápido.
Loja online: dois tipos de páginas
| Tipo de página | Exemplos | Cache de página? |
|---|---|---|
| Igual para todos | Página inicial, página da loja, categorias, páginas de produtos | Sim, é aí que está o maior ganho |
| Diferente por visitante | Carrinho de compras, finalização de compra, A minha conta, o formulário de revogação | Nunca |
Se isto correr mal, um cliente pode ver o carrinho de compras ou até o endereço de outra pessoa. Isso é também uma fuga de dados; consulte Trata-se de uma violação de dados e devo comunicá-la?
O que o WooCommerce e o LiteSpeed Cache já tratam
O WooCommerce marca automaticamente o carrinho de compras, a finalização de compra e A minha conta como "não colocar em cache", através de uma constante (DONOTCACHEPAGE) e de cabeçalhos no-cache. Assim que alguém adiciona algo ao carrinho, o WooCommerce define cookies como woocommerce_items_in_cart, woocommerce_cart_hash e wp_woocommerce_session_. De acordo com a sua própria documentação, o LiteSpeed Cache respeita estas regras do WooCommerce. Numa loja normal, não precisa, por isso, de acrescentar nada.
Quando acrescenta as suas próprias exclusões
As exclusões encontram-se em LiteSpeed Cache > Cache, separador Excludes:
- Do Not Cache URIs: endereços que nunca podem ir para a cache, um por linha. Acrescente-os se tiver dado outro nome às páginas da loja (por exemplo,
/mandje/), se um plugin de tradução criar endereços próprios (como/de/warenkorb/) ou para o formulário de revogação em A minha conta. - Do Not Cache Cookies: cookies que impedem uma página de vir da cache. Tenha aqui moderação: um cookie presente em todas as páginas desativa a cache para todo o seu site.
Além disso, não coloque uma segunda camada à frente que coloque tudo em cache. Uma CDN com uma regra do tipo "cache everything" ignora os cabeçalhos do WooCommerce; exclua também aí as páginas da loja e os cookies.
Cache de objetos com Redis
O carrinho de compras e a finalização de compra são sempre reconstruídos a partir da base de dados. Uma cache de objetos guarda resultados da base de dados frequentemente utilizados em memória, o que ajuda precisamente numa loja. O Redis está incluído no Power Webhost Three, Power Webhost Four e Power Reseller. Ative o Redis no DirectAdmin, ative a extensão PHP redis e escolha no LiteSpeed Cache, em Cache, separador Object, o método Redis com o caminho para o socket. Todos os passos estão descritos em Redis. Se mais sites no seu pacote utilizarem o Redis, atribua a cada site o seu próprio Redis Database ID.
Verificar se está bem configurado
Abra o seu site numa janela privada, prima F12, escolha o separador Rede, carregue novamente a página e clique no primeiro pedido.
- Página inicial ou página de produto, carregue duas vezes: na segunda vez, aparece
x-litespeed-cache: hit. - Carrinho de compras, finalização de compra e A minha conta: sem hit, mas sim
x-litespeed-cache-control: no-cachee umcache-controlcomno-cache. - Coloque um produto no carrinho de compras e abra uma página de produto: verá o seu próprio carrinho, não uma versão guardada.
O que a cache não resolve
Se a sua loja continuar lenta com tráfego elevado, verifique também se tem uma versão atual do PHP, menos plugins e as ações agendadas do WooCommerce. Uma lista longa de ações falhadas torna a base de dados mais lenta; consulte WooCommerce Status e Ações Agendadas: identificar problemas.
Para saber mais
- Curso gratuito de WordPress, lição 6.2 Caching
- LiteSpeed Cache: as definições do separador Cache (inglês)
- WooCommerce: configurar plugins de cache (inglês)
