Purgação de Cache do WordPress no cPanel EA4
Invalidar o cache instantaneamente e automaticamente para WordPress—sem limpar todo o seu cache.
🎉 Acesso Gratuito - Tempo Limitado!
Todos os módulos EA4 estão atualmente gratuitos — sem necessidade de assinatura! Saiba mais
-
Invalidation Automática
O cache é purgado automaticamente quando você edita posts, páginas ou comentários—sem necessidade de intervenção manual
-
Precisão Cirúrgica
Apenas a página alterada é purgada—todo o seu site permanece em cache e super rápido
-
Seguro para Multi-Tenant
O cache de cada usuário do cPanel é isolado—os usuários não podem purgar o conteúdo uns dos outros
-
Zero Codificação Necessária
Funciona imediatamente com o plugin Proxy Cache Purge do WordPress
Configuração em 5 Minutos
Siga estas etapas para habilitar a purgação inteligente de cache no seu servidor cPanel.
Passo 1: Instalar o Módulo de Purgação de Cache
# Instalar o repositório GetPageSpeed (ativa automaticamente o repositório ea4 em servidores cPanel)
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
# Instalar o módulo de purgação de cache
dnf -y install ea-nginx-cache-purge
Passo 2: Configurar o NGINX
Você pode habilitar a purgação de cache globalmente para todos os usuários ou por usuário.
Crie /etc/nginx/conf.d/server-includes/cache-purge.conf:
# Habilitar o método PURGE para purgação de cache (todos os usuários)
proxy_cache_purge PURGE from 127.0.0.1;
Este arquivo é incluído automaticamente em todos os blocos de servidor dos usuários do cPanel.
Para o usuário username, crie /etc/nginx/conf.d/users/username/cache-purge.conf:
# Habilitar o método PURGE para purgação de cache
proxy_cache_purge PURGE from 127.0.0.1;
Após criar a configuração, recarregue o NGINX:
nginx -t && systemctl reload nginx
Passo 3: Instalar o Plugin Proxy Cache Purge
- Vá para Plugins → Adicionar Novo
- Pesquise por "Proxy Cache Purge" (slug:
varnish-http-purge) - Clique em Instalar Agora, depois em Ativar
wp plugin install varnish-http-purge --activate
Passo 4: Configurar o Proxy Cache Purge
No admin do WordPress:
- Vá para Configurações → Proxy Cache Purge
- Defina "Definir IP Personalizado" para:
127.0.0.1 - Clique em Salvar Configurações
Configuração Crítica
O plugin deve enviar solicitações PURGE para 127.0.0.1 (localhost), não para seu IP público ou domínio.
Passo 5: Configurar o Backend de Cache do NGINX
A partir da versão Proxy Cache Purge 5.9.0, o plugin suporta nativamente o formato de purgação por wildcard do NGINX. Configure-o para usar o backend do NGINX:
- Vá para Proxy Cache Purge → Configurações
- Em Backend de Cache, selecione NGINX
- Clique em Salvar Configurações
Adicione ao seu wp-config.php:
define( 'VHP_PURGE_BACKEND', 'nginx' );
Isso garante que, quando uma página é purgada, todas as variantes em cache (gzip, brotli, descompactadas) são limpas.
Legado: Versão do Plugin < 5.9.0
Se você estiver executando o Proxy Cache Purge anterior a 5.9.0, crie
wp-content/mu-plugins/nginx-cache-purge-fix.php:
<?php
/**
* Nome do Plugin: NGINX Cache Purge Fix
* Descrição: Anexa wildcard para URLs de purgação para compatibilidade com o cabeçalho Vary
*/
add_filter("vhp_purgeme_path", function($purgeme, $schema, $host, $path, $pregex, $p) {
if (empty($pregex)) {
$purgeme .= "*";
}
return $purgeme;
}, 10, 6);
Teste a Configuração
# 1. Cache uma página (primeira solicitação = MISS, segunda = HIT)
curl -sI http://127.0.0.1/sample-page/ -H 'Host: yourdomain.com' -H 'Accept-Encoding: gzip' | grep X-Cache
# X-Cache-Status: MISS
curl -sI http://127.0.0.1/sample-page/ -H 'Host: yourdomain.com' -H 'Accept-Encoding: gzip' | grep X-Cache
# X-Cache-Status: HIT
# 2. Purge usando o método PURGE com wildcard
curl -sX PURGE 'http://127.0.0.1/sample-page/*' -H 'Host: yourdomain.com'
# <h1>Purgar bem-sucedido</h1>
# 3. Verifique se o cache foi limpo
curl -sI http://127.0.0.1/sample-page/ -H 'Host: yourdomain.com' -H 'Accept-Encoding: gzip' | grep X-Cache
# X-Cache-Status: MISS
Depois, teste via WordPress:
- Edite qualquer post publicado
- Faça uma alteração e clique em Atualizar
- O plugin purga automaticamente o cache
- Visite a página—ela deve mostrar conteúdo novo
Como Funciona
flowchart TD
subgraph WordPress["<b>WordPress</b>"]
A[📝 Post Atualizado] --> B["🔌 Plugin Proxy Cache Purge"]
B --> C["PURGE http://127.0.0.1/post-slug/*<br/>Host: yourdomain.com"]
end
C --> D
subgraph NGINX["<b>NGINX (ea-nginx)</b>"]
D["🔒 proxy_cache_purge PURGE from 127.0.0.1"] --> E["🗑️ Módulo ngx_cache_purge"]
E --> F["✓ Wildcard combina com todas as variantes<br/>(gzip, brotli, plain)"]
F --> G["✓ Deleta do cache em disco"]
G --> H["✅ Retorna 'Purgar bem-sucedido'"]
end
style WordPress fill:#4a90d9,stroke:#2d5986,color:#fff
style NGINX fill:#009639,stroke:#006325,color:#fff
style A fill:#5ba0e0
style B fill:#5ba0e0
style C fill:#5ba0e0
style D fill:#00a844
style E fill:#00a844
style F fill:#00a844
style G fill:#00a844
style H fill:#00a844
O Que Acontece
- Você atualiza um post no WordPress
- O plugin envia uma solicitação
PURGEpara localhost - O módulo do NGINX remove apenas aquela URL do cache
- O próximo visitante recebe conteúdo novo, o restante do cache permanece intacto
Por Que É Rápido
- Sem flush completo do cache — outras páginas permanecem em cache
- Solicitações locais apenas — sem latência de rede
- Suporte a wildcard — limpa todas as variantes de codificação de uma vez
Avançado: Reduzir Variantes de Cache
Otimização Opcional
Recomendado para sites de alto tráfego para maximizar as taxas de acerto de cache.
O cabeçalho Vary: Accept-Encoding faz com que o NGINX crie entradas de cache separadas para diferentes combinações de Accept-Encoding. Os navegadores enviam esses em várias ordens, criando inchaço de cache:
| Accept-Encoding Original | Problema |
|---|---|
gzip, br, deflate |
Entrada de cache separada |
br, gzip |
Outra entrada separada |
gzip, deflate |
Mais uma entrada |
A Solução: Normalizar Cabeçalhos
O módulo compression-normalize normaliza cabeçalhos para valores consistentes:
dnf -y install ea-nginx-compression-normalize
Crie /etc/nginx/conf.d/compression-normalize.conf:
# Normalizar Accept-Encoding para reduzir variantes de cache
# Ordem de prioridade: preferir brotli, depois gzip
compression_normalize_accept_encoding br,gzip br gzip;
Resultado: Centenas de variantes possíveis → apenas 3 (br,gzip, br, gzip).
Segurança
Acesso Apenas Localhost
proxy_cache_purge PURGE from 127.0.0.1;
Solicitações PURGE externas são processadas como solicitações normais, não purgas.
Isolamento de Usuário
Cada usuário do cPanel tem sua própria zona de cache. O usuário alice não pode purgar o cache do usuário bob—mesmo com os mesmos caminhos de URL.
Solução de Problemas
Cache Não Está Sendo Purgado
- Verifique a configuração do plugin:
- Vá para Configurações → Proxy Cache Purge
-
Certifique-se de que IP Personalizado está definido como
127.0.0.1 -
Verifique a configuração do Backend de Cache:
- Vá para Proxy Cache Purge → Configurações e verifique se Backend de Cache está definido como NGINX
-
Ou verifique se
wp-config.phpcontémdefine( 'VHP_PURGE_BACKEND', 'nginx' ); -
Verifique se a configuração do NGINX está carregada:
nginx -T | grep cache_purge
412 Precondition Failed
Isso significa que a URL não estava no cache. Não é um erro—apenas não há nada para purgar.
Módulo Não Carregando
# Verifique se está instalado
rpm -q ea-nginx-cache-purge
# Verifique o arquivo do módulo
ls -la /etc/nginx/modules/ngx_http_cache_purge_module.so
Relacionados
-
Repositório cPanel EA4
Guia completo de configuração para os módulos ea-nginx do cPanel
-
Módulo cache-purge
Referência completa de diretivas e uso avançado
-
Plugin Proxy Cache Purge
Página oficial do plugin do WordPress