---
title: "Como corrigir o conflito de nonce expirado entre WP Rocket e reCAPTCHA"
url: https://full.services/wp-fixer/corrigir-nonce-recaptcha-wp-rocket/
date: 2026-06-17
author: "Clayton Margiotti"
---

# Como corrigir o conflito de nonce expirado entre WP Rocket e reCAPTCHA

## O que é o conflito de nonce do reCAPTCHA com o WP Rocket?

O conflito de nonce expirado entre WP Rocket e reCAPTCHA acontece porque o WP Rocket guarda uma cópia estática em HTML da página e a serve a todos os visitantes anônimos. Dentro dessa página há um nonce, um token de segurança do WordPress com validade padrão de 12 a 24 horas, usado pelo plugin de reCAPTCHA e pelo formulário para provar que a requisição é legítima. Quando o WP Rocket congela a página no cache, ele congela junto o nonce no estado do momento da geração. Horas depois, um visitante recebe essa página velha e envia um nonce que o servidor já considera expirado. O reCAPTCHA ou a validação do formulário rejeita a verificação e o envio falha, mesmo o usuário sendo um humano real.

## Como identificar

- O formulário retorna a mensagem "A verificação do reCAPTCHA falhou. Tente novamente." mesmo o visitante marcando o desafio corretamente.

- O envio só funciona logo depois de limpar o cache do WP Rocket e falha de novo algumas horas depois, num padrão intermitente.

- No console do navegador aparece o erro "ERROR for site owner: Invalid domain for site key" ou uma falha de token do reCAPTCHA.

- Usuários logados conseguem enviar o formulário normalmente, mas visitantes anônimos que recebem a página cacheada não conseguem.

- Plugins como Contact Form 7 ou WPForms registram "Failed to validate nonce" ou "spam" no log de envios legítimos.

## Como prevenir

- Sempre adicione páginas com formulário, login ou checkout em "Nunca armazenar URLs em cache" assim que ativar o WP Rocket.

- Mantenha os scripts do Google reCAPTCHA na lista de exclusão do Delay JavaScript Execution para que o token seja gerado a tempo.

- Evite reduzir demais a validade do nonce em todo o site, pois isso pode deslogar usuários; ajuste só onde houver formulário em cache.

- Use apenas um plugin de cache de página por vez para não empilhar cópias com nonce velho em camadas diferentes.

Erros relacionados

- [Como corrigir a submissao de formulários quebrada pelo cache do WP Rocket no WPForms](https://full.services/wp-fixer/corrigir-cache-wp-rocket-wpforms/)

- [Como corrigir a exclusão de páginas do cache no WP Rocket](https://full.services/wp-fixer/corrigir-exclusao-cache-wp-rocket/)

- [Como resolver Are you sure you want to do this? (nonce)](https://full.services/wp-fixer/corrigir-are-you-sure-nonce-wordpress/)


---

## Metadados Estruturados (Schema.org)

```json-ld
{
    "@context": "https://schema.org",
    "@graph": [
        {
            "@type": "Organization",
            "@id": "https://full.services/#org",
            "name": "FULL Services",
            "url": "https://full.services/",
            "sameAs": [
                "https://www.instagram.com/fullservicesbr",
                "https://www.facebook.com/fullservices.br",
                "https://www.linkedin.com/company/fullservicesbr/"
            ],
            "knowsAbout": [
                "WordPress",
                "WordPress Hosting",
                "Web Development",
                "Performance Optimization",
                "WordPress Security",
                "SEO para WordPress"
            ],
            "award": [
                "Gold Medal - The WP Weekly Awards 2023",
                "Gold Medal - The WP Weekly Awards 2024"
            ],
            "logo": {
                "@type": "ImageObject",
                "url": "https://full.services/wp-content/uploads/full-services-logo.png",
                "width": 200,
                "height": 60
            },
            "hasCredential": {
                "@type": "EducationalOccupationalCredential",
                "credentialCategory": "certification",
                "name": "CVE Numbering Authority (CNA)",
                "description": "Autoridade de numeração de vulnerabilidades (CVE) para o ecossistema WordPress, autorizada a atribuir IDs CVE. Válida desde 2022-05-03, com abrangência global.",
                "url": "https://www.cve.org/PartnerInformation/ListofPartners/partner/FULL",
                "recognizedBy": {
                    "@type": "Organization",
                    "name": "CISA — Cybersecurity and Infrastructure Security Agency",
                    "url": "https://www.cisa.gov/",
                    "sameAs": "https://www.cisa.gov/"
                }
            }
        },
        {
            "@type": "TechArticle",
            "@id": "https://full.services/wp-fixer/corrigir-nonce-recaptcha-wp-rocket/#article",
            "headline": "Como corrigir o conflito de nonce expirado entre WP Rocket e reCAPTCHA",
            "url": "https://full.services/wp-fixer/corrigir-nonce-recaptcha-wp-rocket/",
            "inLanguage": "pt-BR",
            "datePublished": "2026-06-17T12:39:30-03:00",
            "dateModified": "2026-06-17T12:39:30-03:00",
            "author": {
                "@id": "https://full.services/#org"
            },
            "publisher": {
                "@id": "https://full.services/#org"
            },
            "isAccessibleForFree": false,
            "about": [
                {
                    "@type": "Thing",
                    "@id": "https://www.wikidata.org/wiki/Q13166",
                    "name": "WordPress",
                    "sameAs": "https://www.wikidata.org/wiki/Q13166",
                    "url": "https://wordpress.org/"
                },
                {
                    "@type": "Thing",
                    "name": "Performance &amp; Velocidade"
                }
            ],
            "mentions": {
                "@type": "Thing",
                "@id": "https://www.wikidata.org/wiki/Q13166",
                "name": "WordPress",
                "sameAs": "https://www.wikidata.org/wiki/Q13166",
                "url": "https://wordpress.org/"
            },
            "mainEntityOfPage": {
                "@type": "WebPage",
                "@id": "https://full.services/wp-fixer/corrigir-nonce-recaptcha-wp-rocket/"
            },
            "wordCount": 831,
            "description": "O nonce do reCAPTCHA expira com o WP Rocket quando a página do formulário é entregue do cache com um token de segurança gerado horas antes. O visitante envia esse nonce já vencido, o reCAPTCHA ou o formulário rejeita a verificação e a submissão falha, mesmo o usuário sendo humano.",
            "articleSection": "Performance &amp; Velocidade",
            "keywords": "excluir pagina do cache wp rocket, formulario nao envia com wp rocket, nonce expirado wordpress cache, recaptcha falha apos cache, recaptcha nao funciona wp rocket",
            "proficiencyLevel": "Intermediate",
            "citation": {
                "@type": "CreativeWork",
                "url": "https://docs.wp-rocket.me/",
                "name": "WP Rocket — Knowledge Base (cache exclusions e Delay JavaScript Execution)"
            },
            "mainEntity": {
                "@type": "SoftwareSourceCode",
                "name": "Como corrigir o conflito de nonce expirado entre WP Rocket e reCAPTCHA",
                "programmingLanguage": "PHP",
                "codeRepository": "https://full.services/wp-fixer/corrigir-nonce-recaptcha-wp-rocket/",
                "isAccessibleForFree": false
            }
        },
        {
            "@type": "FAQPage",
            "@id": "https://full.services/wp-fixer/corrigir-nonce-recaptcha-wp-rocket/#faq",
            "isPartOf": {
                "@id": "https://full.services/wp-fixer/corrigir-nonce-recaptcha-wp-rocket/#article"
            },
            "isAccessibleForFree": true,
            "mainEntity": [
                {
                    "@type": "Question",
                    "@id": "https://full.services/wp-fixer/corrigir-nonce-recaptcha-wp-rocket/#faq-q1",
                    "name": "Por que o reCAPTCHA falha só depois de algumas horas com o WP Rocket ativo?",
                    "inLanguage": "pt-BR",
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": "Porque o WP Rocket serve uma cópia em cache da página com um nonce gerado quando o cache foi criado. Esse token tem validade padrão de 12 a 24 horas. Passado esse tempo, o visitante envia um nonce já expirado e o reCAPTCHA ou o formulário rejeita o envio. Logo após limpar o cache funciona porque um nonce novo é gerado.",
                        "author": {
                            "@id": "https://full.services/#org"
                        }
                    }
                },
                {
                    "@type": "Question",
                    "@id": "https://full.services/wp-fixer/corrigir-nonce-recaptcha-wp-rocket/#faq-q2",
                    "name": "O que é um nonce e por que ele expira no cache?",
                    "inLanguage": "pt-BR",
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": "Nonce é um token de uso único e temporário que o WordPress cria para garantir que uma requisição partiu da página legítima. Ele é válido por uma janela de tempo, por padrão 86400 segundos. Quando o WP Rocket congela a página em HTML estático, o nonce fica preso no valor antigo e expira sem ser renovado, ao contrário de uma página dinâmica que gera um token novo a cada carregamento.",
                        "author": {
                            "@id": "https://full.services/#org"
                        }
                    }
                },
                {
                    "@type": "Question",
                    "@id": "https://full.services/wp-fixer/corrigir-nonce-recaptcha-wp-rocket/#faq-q3",
                    "name": "Excluir a página do cache não vai deixar o site lento?",
                    "inLanguage": "pt-BR",
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": "Não de forma perceptível. Você exclui apenas a página específica que contém o formulário, como a de contato ou o checkout, e o restante do site continua totalmente cacheado pelo WP Rocket. O ganho de performance global é mantido e só a página dinâmica passa a ser servida fresca, com nonce válido.",
                        "author": {
                            "@id": "https://full.services/#org"
                        }
                    }
                },
                {
                    "@type": "Question",
                    "@id": "https://full.services/wp-fixer/corrigir-nonce-recaptcha-wp-rocket/#faq-q4",
                    "name": "Preciso excluir o reCAPTCHA do Delay JavaScript Execution também?",
                    "inLanguage": "pt-BR",
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": "Sim, na maioria dos casos. Se o script do Google reCAPTCHA for atrasado pelo Delay JavaScript Execution, o token pode não ser gerado antes de o visitante enviar o formulário. Adicionar os padrões google.com/recaptcha e gstatic.com/recaptcha à lista de exclusão garante que o reCAPTCHA carregue a tempo.",
                        "author": {
                            "@id": "https://full.services/#org"
                        }
                    }
                },
                {
                    "@type": "Question",
                    "@id": "https://full.services/wp-fixer/corrigir-nonce-recaptcha-wp-rocket/#faq-q5",
                    "name": "O problema afeta Contact Form 7, WPForms e WooCommerce da mesma forma?",
                    "inLanguage": "pt-BR",
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": "Sim, porque todos usam nonce e reCAPTCHA na página que pode ser cacheada. A página de contato com Contact Form 7 ou WPForms e a página de checkout do WooCommerce são as mais afetadas. A solução é a mesma: excluir essas páginas do cache do WP Rocket e manter o script do reCAPTCHA fora do Delay JavaScript.",
                        "author": {
                            "@id": "https://full.services/#org"
                        }
                    }
                },
                {
                    "@type": "Question",
                    "@id": "https://full.services/wp-fixer/corrigir-nonce-recaptcha-wp-rocket/#faq-q6",
                    "name": "Como sei se o erro é do cache e não da chave do reCAPTCHA?",
                    "inLanguage": "pt-BR",
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": "Limpe o cache do WP Rocket e teste o envio numa janela anônima logo em seguida. Se funcionar imediatamente após limpar e voltar a falhar horas depois, o problema é o nonce vindo do cache. Se falhar sempre, mesmo com cache limpo, aí o foco é a chave do site ou o domínio configurado no painel do reCAPTCHA.",
                        "author": {
                            "@id": "https://full.services/#org"
                        }
                    }
                },
                {
                    "@type": "Question",
                    "@id": "https://full.services/wp-fixer/corrigir-nonce-recaptcha-wp-rocket/#faq-q7",
                    "name": "Reduzir a validade do nonce resolve sem excluir a página do cache?",
                    "inLanguage": "pt-BR",
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": "Ajuda apenas em parte e tem efeito colateral. Encurtar o nonce_life reduz a janela em que o token cacheado fica válido, mas se a validade ficar menor que o tempo de vida do cache o problema volta, e um nonce curto demais no site inteiro pode deslogar usuários. O caminho confiável é excluir a página do formulário do cache.",
                        "author": {
                            "@id": "https://full.services/#org"
                        }
                    }
                }
            ]
        }
    ]
}
```
