Como Resolver Problemas Causados por Plugins de Cache e Otimização
Neste Documento
Tempo de leitura: 4 minutos | Dificuldade: Iniciante
Visão Geral
Plugins de cache e caches de hospedagem web tornam seu site mais rápido salvando uma cópia de cada página e servindo essa cópia para visitantes posteriores. Plugins de otimização vão além e minificam, combinam ou atrasam o JavaScript do seu site. Ambos são bons para o desempenho, mas podem interferir com formulários de pagamento se forem configurados de forma muito agressiva.
Desde o WP Simple Pay 4.17.5, os formulários de pagamento funcionam em páginas totalmente cacheadas. Cada formulário carrega suas configurações e um token de segurança atualizado do seu site quando a página é aberta, então a cópia em cache da página não contém mais nada que possa expirar. Você não precisa mais excluir suas páginas de formulário de pagamento do cache.
Este guia cobre as duas coisas que ainda precisam de atenção: manter suas páginas de confirmação de pagamento fora do cache e manter os scripts do WP Simple Pay fora das otimizações de JavaScript.
Pré-requisitos
- WP Simple Pay 4.17.5 ou posterior. Em versões mais antigas, as páginas de formulário de pagamento também devem ser excluídas do cache, ou cacheadas por no máximo 12 horas.
- Acesso às configurações do seu plugin de cache ou otimização, ou à equipe de suporte da sua hospedagem web se o cache for executado no servidor.
Cache
Páginas de Formulário de Pagamento
No WP Simple Pay 4.17.5 e posterior, as páginas que contêm um formulário de pagamento podem ser cacheadas como qualquer outra página. Quando um visitante abre a página, cada formulário busca seus próprios dados da API REST do seu site. O botão de pagamento permanece desabilitado até que o formulário esteja pronto, então um clique antecipado não pode enviar um formulário incompleto.
Se você excluiu suas páginas de formulário de pagamento do cache em uma versão anterior, pode manter a exclusão ou removê-la. Ambas as opções funcionam.
Acabou de atualizar? Limpe o cache do seu site uma vez após a atualização para a 4.17.5. Páginas cacheadas antes da atualização ainda contêm o código antigo do formulário até serem atualizadas.
Páginas de Confirmação de Pagamento
Mantenha suas páginas de sucesso e falha de pagamento excluídas do cache. Essas páginas mostram os detalhes de um pagamento específico, então cada cliente deve receber uma página recém-gerada.
Com algumas hospedagens web, o cache é executado no servidor e não pode ser alterado pelo WordPress. Nesse caso, entre em contato com sua hospedagem e peça para eles excluíssem as URLs de suas páginas de confirmação do cache.
Configurar Plugins Específicos
- WP Rocket
- SiteGround Optimizer
- WP-Optimize
- WP Fastest Cache
- WP Super Cache
- W3 Total Cache
- LiteSpeed Cache
Otimização de JavaScript
Problemas de JavaScript causados por plugins de otimização geralmente vêm destes recursos:
- Minificar
Remove caracteres desnecessários do código, como espaços em branco, para produzir um arquivo menor. - Combinar
Mescla arquivos JavaScript separados em um para reduzir o número de requisições feitas ao servidor. - Carregar Adiado/Assincronamente
Atrasa o carregamento ou a execução de arquivos JavaScript para que a página não espere por eles.
Exclua os seguintes arquivos de todas as configurações de otimização de JavaScript, qualquer que seja o plugin que você use:
js.stripe.com/v3/
simpay-public-shared.js
simpay-public-upe.js
accounting.min.js
simpay-public-pro-upe.js
O que a Otimização Deve Manter
Formulários de pagamento precisam de um pequeno conjunto de configurações do site antes de poderem carregar: o endereço da API REST do seu site, o formato da sua moeda e a mensagem exibida quando um formulário não pode carregar. O WP Simple Pay imprime essas configurações em dois lugares:
- Dentro do HTML de cada formulário de pagamento, no atributo
data-simpay-generaldo formulário. Esta cópia faz parte do próprio formulário, portanto, é armazenada em cache junto com a página. - Em um pequeno script perto do final da página,
<script id="simpay-shared-js-extra">, que definespGeneral.
Desde o WP Simple Pay 4.17.6, um formulário carrega desde que qualquer uma das cópias esteja na página. Alguns plugins de otimização removem ou atrasam pequenos scripts inline como o segundo, e o formulário agora usa sua própria cópia quando isso acontece.
Para manter os formulários de pagamento funcionando, certifique-se de que seu plugin de otimização não:
- Remova atributos HTML da tag
<form>do formulário de pagamento, especialmentedata-simpay-form-idedata-simpay-general. - Remova tanto o atributo
data-simpay-generalquanto o scriptsimpay-shared-js-extra. Se ambos forem removidos, o formulário não poderá carregar.
Configurar Plugins Específicos
Solução de Problemas
“Este formulário de pagamento não pôde ser carregado”
Se os visitantes virem Este formulário de pagamento não pôde ser carregado. Por favor, atualize a página e tente novamente. abaixo do botão de pagamento, o formulário não conseguiu buscar seus dados do seu site. Isso geralmente é causado por algo que está bloqueando a API REST do seu site:
- Um plugin de segurança ou firewall, ou uma regra de servidor como ModSecurity, está bloqueando requisições para
/wp-json/. Veja Como Resolver o Problema de 'Nenhuma rota foi encontrada correspondendo à URL e ao método de requisição'. - O visitante atingiu o limite de requisições. Veja Como Gerenciar a Mensagem 'Desculpe, você fez muitas requisições'.
- O formulário de pagamento não está publicado. Formulários só carregam no front-end quando são publicados.
Erros de Token de Segurança
Erros como Falha na verificação de segurança do cupom ou Nonce do cookie é inválido costumavam ser causados por páginas em cache que continham tokens de segurança expirados. Desde a versão 4.17.5, os formulários buscam um novo token toda vez que carregam, e tokens expirados em requisições de convidados são recuperados automaticamente. Se você ainda vir esses erros após a atualização, limpe o cache do seu site. Veja Como Resolver o Erro 'Falha na verificação de segurança do cupom' para mais informações.
Perguntas Frequentes
Eu ainda preciso excluir páginas de formulários de pagamento do cache?
Não, não no WP Simple Pay 4.17.5 ou posterior. Você ainda precisa excluir suas páginas de confirmação de pagamento.
Eu tenho código personalizado que lê window.spGeneral. Ele ainda funciona?
Sim. Quando o script do rodapé está presente, window.spGeneral é definido por ele, como antes. Quando um plugin de otimização removeu esse script, o WP Simple Pay define window.spGeneral a partir do atributo data-simpay-general do formulário de pagamento assim que seus scripts são carregados, para que seu código veja os mesmos valores.
Eu tenho código personalizado que lê window.simplePayForms. Ele ainda funciona?
Sim. O objeto ainda está disponível e a entrada de cada formulário é adicionada à medida que os dados desse formulário chegam. Se o seu código for executado assim que a página carregar, ele pode precisar esperar até que o formulário termine de carregar.
Próximos Passos?
- Como Configurar as Configurações do WP Rocket – Configurações passo a passo para o WP Rocket
- Como Definir Páginas de Sucesso e Falha de Pagamento – Escolha as páginas em que os clientes chegam após o pagamento
- Como Testar Conflitos de Temas e Plugins – Descubra se outro plugin está causando o problema
Ainda tem d uevovidas? Estamos aqui para ajudar!
Última Modificação: