Suporte » Ajustando o WordPress » Esvaziar cache do navegador do cliente

  • Olá!

    Tem ocorrido um problema que não estou conseguindo resolver. Fiz uma atualização na minha loja na pagina de vários produtos relacionada a layout, onde alterei varias coisas, como imagens por exemplo. O que ocorre é que quando um cliente acessa a página do produto (produto que já tenha visitado antes da mudança) ele não recebe a nova versão da página. Isso só ocorre se atualizar a pagina do navegador no F5. Fiz diversas pesquisas e fiz alguns testes, mas nada solucionou. No Chrome do meu PC tem a versão do cache antiga e está acontecendo o mesmo, e eu não atualizei a pagina ainda, pois está servindo para meu teste, como se eu fosse um visitante. Então todas as pessoas que já visitaram a pagina antes e tem uma versão de cache armazenada, enquanto não atualizar ou limpar o cache, não acessa o novo layout.
    Eu já desabilitei o plugin de cache do site e já limpei no servidor (utiliza Varnish) e sempre que eu abro a pagina nesse meu Chrome a pagina está lá, sem alterações.
    A questão é como fazer para forçar o navegador do cliente a limpar esse cache sem que ele tenha que dar F5? Até porque é impossível pedir as pessoas que façam isso…

    Muito obrigado a quem puder me ajudar!

Visualizando 8 respostas - 1 até 8 (de um total de 8)
  • saudações dogvibe,

    há 2 pontos que precisa observar.

    1) para além de desabilitar o plugin de cache, precisa verificar se não ficou escrito a regra de cache no .htaccess. eu, por exemplo, uso o plugin Swift Performance e a regra é escrita no .htaccess. alguns plugins, quando desabilita, não apagam as regras do arquivo e ai a regra continua valendo.

    2) cache não precisa necessariamente ser algo gerado por um plugin. quem usa Cloudflare, por exemplo, normalmente fica com suas páginas em cache e deveria usar um plugin para limpar o cache também no Cloudflare. e dependendo do seu servidor, eles podem previdenciar isso, como é o caso do Cloudways e, se não me engano, do SiteGround, que inclusive hoje em dia é um host indicado na página do wordpress.org.

    quando diz

    A questão é como fazer para forçar o navegador do cliente a limpar esse cache sem que ele tenha que dar F5? Até porque é impossível pedir as pessoas que façam isso…

    é justamente o papel da limpeza do cache. quando o cache é limpo, o navegador entende isso e sabe que precisa recarregar todo o site novamente. no seu caso, precisa pesquisar que cache não está sendo limpo, senão o cliente vai ficar vendo o cache até o prazo que seu cache foi configurado.

    boa sorte.

    Oi @ralden !

    Obrigado pela resposta. Mas vamos lá. Já conferi o meu htaccess e não há regras de cache nele. Apenas o básico do WordPress.
    Não uso Cloudflare e hospedo na Clowdways. Lá tem um cache Varnish, que já purguei como disse antes, mas isso não fez com que resolvesse. Já inclusive desabilitei o Varnish para testar, mas não teve efeito também.
    A única coisa que não tentei que eu li em tópicos pela net é fazer com que os nomes dos arquivos js e css sejam dinâmicos, ou seja, mudem de versão em seu nome a cada atualização do site, mas eu não fiz isso porque não sei como fazê-lo.

    Enfim, ainda em busca de uma solução =/

    bem, se usa Cloudways, indico abrir um suporte com eles. vale lembrar que eles otimizam o servidor e pode ser um detalhe que eu e você não estamos vendo, mas eles podem te dar uma sacada sobre isso.

    porque uma das funcionalidades de um cache é ter um prazo – inclusive isso é cobrado por serviços como o GTmetrix e o Google PageSpeed. ai quando ele aquele prazo expira, o navegador sabe que precisa recriar um cache para aquele site.

    só que cada solução tem seu jeito de gerenciar isso. por mais que tenha feito a purga no Varnish do Cloudways, deve ter um detalhe que está passando.

    há um plugin que talvez lhe ajude com isso,

    https://wordpress.org/plugins/prevent-browser-caching/

    digo talvez porque seu problema se relaciona com o cache dos produtos do WooCommerce, enquanto esse plugin lida com cache de CSS e JS. mas indicaria experimentar. e principalmente falar com o suporte do Cloudways.

    boa sorte.

    @ralden cara, obrigado pela ajuda.

    Veja, eu instalei o plugin que recomendou e não resolveu, apesar de ser um excelente plugin ao que se propõe, muito interessante. Então resolvi abrir no navegador a aba network da inspeção de elemento para ver sobre a idade do cache e qual cache estava sendo usado para alimentar o Chrome. Como pode ver nessa imagem que mando abaixo, o cache é do servidor da Clowdways mesmo como você disse, e expira no próximo dia 29, pois a idade é de 1 mes. Claro, lembrando que basta eu dar um F5 que ele vai renovar, mas é exatamente isso que quero evitar. Imagina se fosse 1 ano!
    https://uploaddeimagens.com.br/imagens/cache-jpg-ffb25956-ed7c-45ed-a01c-b5282eaf4109

    Vou entrar em contato com o suporte deles para saber se é possível limpar esse cache lá e se for, assim o farei e volto com o resultado aqui.

    Muito Obrigado!!

    aaah, legal dogvibe. então é alguma questão com o purge do cache. sendo que no Varnish lá no Cloudways tem as regras que você cria. o suporte pode te ajudar com isso.

    e indicaria ver um plugin que lide com Varnish. como disse antes, o Swfit Performance permite gerenciar o cache Varnish do servidor. caso use outro, veja se ele permite essa integração. pois essas integrações normalmente vem com regras que se você limpar o cache ou fizer certas atualizações, como página/post, o cache é limpo, inclusive o Varnish do servidor.

    boa sorte.

    Oi @ralden bem, entrei em contato com a Clowdways, mas depois de muito tempo no chat, eles não chegaram a nenhuma conclusão. Foi difícil fazê-los entender e ainda acredito que não entenderam a questão. Enfim, desabilitei o varnish novamente no servidor e vou deixar por algumas horas para ver se algo ocorre.

    Com relação ao plugin de cache, a resposta é sim, eu uso o Breeze que é da própria Clowdways e tem gerenciamento do varnish incluso e é possível limpar o cache só dele por exemplo. De qualquer forma, se eu desabilito o varnish diretamente no servidor e desabilito o plugin de cache, ou seja, o site está cru, sem cache intermediário, a pagina deveria ter sido recarregada, mas continua com um cache antigo, e enquanto eu não der F5 ela não atualiza o layout. Isso ocorre também em celulares que já tenham o cache antigo armazenado, mas notei que ocorre muito mais no Chrome.
    Enfim, agradeço por sua ajuda e ainda vou continuar a pesquisa.

    Um abraço!

    certo. mas entenda, os navegadores normalmente salvam cache de sites, para acelerar o carregamento, faz parte. então apenas tirar o plugin de cache não é uma solução.

    alguns plugins tem uma opção em que ele dá um comando para o navegador informando que o cache não é mais válido, o site foi atualizado, e assim o navegador precisa ignorar o cache e recriar um novo cache para o site. inclusive tem uma documentação sobre isso no Cloudways,

    https://www.cloudways.com/blog/optimize-wordpress-page-load-time-by-browser-cache-leverage/

    lá no fim da documentação tem,

    Why do I need to clear browser cache?

    When there is an update to the website you visited, you may see some old content, it is because you didn’t clear your browser cache.

    How do I clear browser cache?

    There are a number of WordPress cache plugins that allows you to clear the browser cache. If not, you can manually clear the cache by following the guides of your respective browser.

    como eles dizem, se o plugin não limpar o cache do navegador, ai a limpeza precisa ser manualmente no próprio navegador. justamente o que você não quer – e ninguém quer né rsrs.

    veja o plugin que já usa essa limpeza do Browser Cache. eu sei que WP Rocket, Fastest Cache e Swift Performance fazem essa limpeza. tente ver uma documentação do seu plugin sobre isso especificamente.

    no caso do suporte do Cloudways, é informar que apesar do purge no cache do Varnish, o usuário está vendo conteúdo antigo e consta, como o exemplo que mostrou, que o cache é Varnish. eu acho que eles vão orientar você a usar algum plugin ou talvez até programação que gere um comando que obrigue uma limpeza do Browser Cache para o seu site, ou seja, o navegador gerar um novo cache a partir de um novo carregamento.

    • Esta resposta foi modificada 2 meses, 1 semana atrás por Ralden Souza.
    dogvibe

    (@laserstore)

    Olá @ralden !

    Estou de volta para uma conclusão. No seu ultimo post vc falou sobre os plugins de cache, eu estava usando o Breeze que é da própria Clowdways e ele tem a opção de limpeza do cache varnish também. De qualquer forma, eu desativei e instalei o WP-Rocket. Ele também tem a opção de habilitar a limpeza do varnish. De qualquer forma, nada disso resolveu. Reiniciei tudo, NGINX, Memcached, e até o mysql. Nada teve efeito. Então esperei o cache expirar sozinho no dia 29 e acessei a pagina e tudo foi atualizado automaticamente. Enfim, eu não consegui resolver o problema em questão. O cache do Chrome é muito persistente e não atualiza das formas que eu testei. Agora enfim, a unica forma no momento então é deixar o cache expirar sozinho. Muito louco!
    Obrigado pela ajuda e um grande abraço!

Visualizando 8 respostas - 1 até 8 (de um total de 8)
  • Você deve estar conectado para responder a este tópico.