Cache Busting
Plugin WordPress para forçar atualização de CSS/JS nos navegadores com interface administrativa elegante
by Marcelo Viana de Andrade · github.com/marcelovianaandrade/cache-busting · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/marcelovianaandrade/cache-busting/archive/refs/heads/main.zip# Cache Busting
Plugin WordPress leve para forçar a atualização de CSS e JS nos navegadores através de versionamento por query string. Oferece uma interface administrativa simples para gerenciar a versão e exibir o histórico da última atualização.
✨ Recursos
- 🎯 Interface administrativa em
Configurações → Cache Busting - ⚡ Botão de atualização rápida — incrementa a versão automaticamente seguindo o padrão
AAAA.MM.DD.N - ✏️ Edição manual com validação de formato por regex
- 📅 Histórico visível — mostra a versão atual, data/hora da última atualização e quem alterou
- 🔒 Só afeta o próprio site — URLs externas (CDNs, Google Fonts) são preservadas
- 🧩 Compatível com Elementor, WooCommerce e qualquer tema/plugin
- 🪶 Leve — arquivo único, sem dependências, sem JS no front-end
📸 Screenshots
Interface principal
Painel administrativo em Configurações → Cache Busting: versão atual, sugestão de próxima versão, formulário de edição manual e explicação detalhada de como o plugin funciona.
Versão atualizada com sucesso
Feedback visual quando a versão é atualizada — mensagens de confirmação informam que os navegadores recarregarão os arquivos automaticamente.
📦 Instalação
Método 1: Upload via painel do WordPress
- Baixe o ZIP em Releases (ou clone este repo)
- WordPress Admin → Plugins → Adicionar novo → Enviar plugin
- Selecione
cache-busting.zip - Clique em Instalar agora e depois em Ativar plugin
Método 2: Manual via FTP/SFTP
- Faça upload da pasta
cache-busting/para/wp-content/plugins/ - Ative o plugin em Plugins → Plugins instalados
🚀 Uso
Após ativar, acesse Configurações → Cache Busting.
A interface mostra dois cards:
- Versão Atual — versão em uso, data/hora da última atualização e o usuário responsável
- Atualização Rápida — sugestão da próxima versão e botão de incremento automático
Você também pode editar manualmente o número da versão. O formato exigido é:
AAAA.MM.DD.N
Exemplo: 2026.05.07.1 (primeira atualização de 7 de maio de 2026).
Incremente o .N para múltiplas atualizações no mesmo dia: 2026.05.07.2, 2026.05.07.3, etc.
⚙️ Como funciona
O plugin engancha nos filtros nativos do WordPress:
add_filter( 'style_loader_src', 'cache_bust', 999 );
add_filter( 'script_loader_src', 'cache_bust', 999 );
E adiciona um parâmetro ?cv=VERSAO ao final das URLs de CSS e JS — apenas para arquivos servidos do próprio site:
Antes: /wp-content/themes/meu-tema/style.css?ver=6.7
Depois: /wp-content/themes/meu-tema/style.css?cv=2026.05.07.1
Quando a versão muda, o navegador trata como um novo recurso e baixa o arquivo novamente, ignorando o cache.
📋 Requisitos
- WordPress 5.0 ou superior
- PHP 7.2 ou superior
🛠️ Desenvolvimento
# Clone o repositório
git clone https://github.com/SEU-USUARIO/cache-busting.git
# Estrutura
cache-busting/
├── cache-busting.php # Plugin principal
├── readme.txt # Metadados WordPress.org
└── index.php # Anti-listagem de diretório
Para gerar um ZIP instalável:
zip -r cache-busting.zip cache-busting/ -x "*.DS_Store" "*.git*"
📝 Changelog
1.0.0
- Lançamento inicial
- Interface administrativa com cards de versão atual e atualização rápida
- Filtros
style_loader_srcescript_loader_srcaplicados a arquivos do próprio site - Validação de formato
AAAA.MM.DD.N - Registro de data/hora e usuário responsável pela última atualização
📄 Licença
Este projeto está licenciado sob a GPL v2 ou posterior — veja o arquivo LICENSE para detalhes.
👤 Autor
Marcelo Viana de Andrade
Se este plugin foi útil, considere deixar uma ⭐ no repositório!