🎉 USE O CUPOM DESCONTO.FULL | 20% OFF acima de R$ 50,00

Como corrigir o redirecionamento que não funciona no WPForms

Time Full Services Time Full Services
Tipo Outros erros
Nome do erro Redirecionamento do WPForms nao funciona apos o envio EN: WPForms redirect after submission not working
Severidade Atenção
Descrição O redirecionamento do WPForms não funciona quando a confirmacao do formulário esta no tipo Mensagem em vez de Go to URL ou Show Page, quando a URL de destino esta invalida, ou quando cache e conflitos de JavaScript impedem o envio AJAX de concluir o redirect após o envio.

O que é redirecionamento do WPForms?

O redirecionamento do WPForms e definido pela confirmacao do formulário, configurada em Settings e depois Confirmations dentro do construtor. O WPForms oferece três tipos de confirmacao após o envio: Message, que mostra uma mensagem de sucesso no lugar do formulário; Show Page, que leva o visitante a uma página publicada do próprio site ou de volta a página anterior; e Go to URL (Redirect), que envia o visitante para qualquer URL, inclusive externa. Quando o formulário fica na mensagem padrão e nunca leva o usuário para a página de obrigado, o redirecionamento não funcionou.

O WPForms envia o formulário via AJAX por padrão, sem recarregar a página, e e o JavaScript do plugin que dispara o redirect ao receber a resposta de sucesso. Por isso o problema costuma estar em um destes pontos: a confirmacao não esta no tipo de redirecionamento, a URL de destino esta vazia ou mal formada, uma confirmacao condicional anterior venceu a disputa, ou cache e conflitos de script interromperam o envio antes do redirect acontecer.

Como identificar

  • Após o envio o formulário exibe a mensagem padrão ‘Thanks for contacting us! We will be in touch with you shortly.’ e nunca redireciona para a página esperada.
  • O formulário envia com sucesso e mostra a mensagem de confirmacao, mas o visitante continua na mesma página em vez de ir para a página de obrigado.
  • A confirmacao Go to URL foi configurada, porém o redirect aponta para um endereco errado ou retorna 404 após o envio.
  • Com várias confirmacoes condicionais, sempre dispara a confirmacao errada e o redirecionamento previsto nunca acontece.
  • No console do navegador aparecem erros de JavaScript ao enviar o formulário, e a aba Network mostra a requisicao admin-ajax travada ou sem resposta de sucesso.
Antes de começar: Antes de desativar plugins, trocar de tema ou alterar regras de cache em producao, faca um backup do site (arquivos e banco de dados) ou teste primeiro em um ambiente de staging, para reverter caso o envio do formulário pare de funcionar.

Como prevenir

  • Sempre que o objetivo for levar o visitante a uma página de obrigado, configure a confirmacao em Go to URL ou Show Page logo na criação do formulário, e não deixe no tipo Message padrão.
  • Mantenha a página que contem formulários fora do cache estático, adicionando a URL a lista de páginas nunca cacheadas do plugin de cache e do CDN.
  • Ao usar confirmacoes condicionais, documente a ordem das regras e envie um teste para cada cenario antes de publicar, já que a primeira regra que casa vence.
  • Atualize WPForms, plugins e tema em staging e valide o envio de um formulário de teste após cada atualização, evitando que um conflito de script quebre o redirect em producao.

Causa

  • A confirmacao do formulário esta no tipo Message (padrão) em vez de Go to URL (Redirect) ou Show Page, entao o WPForms apenas exibe a mensagem de sucesso e nunca executa um redirecionamento.
  • O campo de URL da confirmacao Go to URL esta vazio ou com a URL mal formada (sem https, com espaco ou domínio digitado errado), fazendo o redirect falhar ou cair em 404.
  • Existem várias confirmacoes condicionais e uma regra anterior, avaliada de cima para baixo, foi atendida primeiro e disparou outra confirmacao, parando a verificacao antes de chegar na que tinha o redirecionamento.
  • Um plugin de cache de página serve uma versão estática antiga do formulário, com nonce expirado, e o envio AJAX falha sem retornar a resposta de sucesso que dispara o redirect do WPForms.
  • Um conflito de JavaScript com outro plugin ou tema quebra o script do WPForms no carregamento, entao o envio AJAX não completa e o redirect, que depende desse script, nunca e executado.

Como resolver

  1. Confira o tipo da confirmacao do formulário: Abra o formulário no construtor e va em Settings e depois Confirmations. Confirme que o tipo escolhido e Go to URL (Redirect), para enviar a uma URL qualquer, ou Show Page, para levar a uma página publicada do site. Se estiver em Message, o WPForms so mostra a mensagem e nunca redireciona.
    Painel WP -> WPForms -> Todos os Formulários -> abra o formulário
    No construtor: Settings -> Confirmations
    Em Confirmation Type, selecione 'Go to URL (Redirect)' ou 'Show Page'
  2. Valide a URL de destino do redirecionamento: No tipo Go to URL, preencha a URL completa com https e sem espacos. No tipo Show Page, escolha a página certa no dropdown de páginas publicadas. Abra a URL de destino em outra aba para garantir que ela existe e não retorna 404 antes de salvar.
    Em Confirmation Redirect URL, cole a URL completa (ex.: https://seusite.com/obrigado/)
    No tipo Show Page, selecione a página no dropdown 'Confirmation Page'
    Abra a URL em outra aba do navegador e confirme que carrega sem 404
    Clique em Save para salvar o formulário
  3. Revise a ordem das confirmacoes condicionais: Se o formulário tem mais de uma confirmacao, o WPForms avalia as regras de cima para baixo e dispara a primeira que casar, parando ali. Reordene para que a confirmacao com o redirecionamento certo esteja na posicao correta e teste cada regra com um envio real.
    No construtor: Settings -> Confirmations
    Arraste as confirmacoes para ajustar a ordem de avaliacao (topo vence primeiro)
    Revise as regras de lógica condicional de cada confirmacao
    Envie um teste para cada cenario e confirme qual confirmacao dispara
  4. Limpe o cache e exclua a página do formulário do cache: Limpe o cache do plugin de cache e do CDN, depois adicione a página que contem o formulário as páginas nunca cacheadas. Cache de página serve uma versão antiga com nonce expirado e quebra o envio AJAX, impedindo o redirect de disparar.
    Limpe todo o cache no painel do seu plugin de cache e do CDN
    Adicione a URL da página do formulário a lista 'Never Cache URLs' do plugin de cache
    Recarregue a página do formulário com o cache do navegador limpo e teste o envio
  5. Isole conflito de JavaScript no envio: Se o redirect ainda falha, abra o console do navegador, envie o formulário e veja se ha erro de JavaScript. Desative os outros plugins um a um e troque para um tema padrão, testando o envio a cada passo para achar o que quebra o script do WPForms.
    Abra o console do navegador (F12 -> Console) e envie o formulário
    Painel WP -> Plugins -> desative os demais plugins um a um
    Painel WP -> Aparencia -> Temas -> ative um tema padrão (ex.: Twenty Twenty-Four)
    Teste o envio a cada passo até o redirecionamento voltar a funcionar
PHP
<?php
// Forca o redirecionamento de um formulario WPForms apos o envio,
// como rede de seguranca quando a confirmacao Go to URL nao dispara.
add_action( 'wpforms_process_complete', 'full_wpforms_force_redirect', 10, 4 );
function full_wpforms_force_redirect( $fields, $entry, $form_data, $entry_id ) {
    // Troque 123 pelo ID real do seu formulario (WPForms -> Todos os Formularios).
    if ( (int) $form_data['id'] !== 123 ) {
        return;
    }
    $destino = home_url( '/obrigado/' );
    // Redirect compativel com o envio AJAX do WPForms.
    wpforms()->get( 'process' )->redirect_url = esc_url_raw( $destino );
}

Perguntas frequentes

Por que o WPForms mostra a mensagem de sucesso mas não redireciona
Porque a confirmacao do formulário esta no tipo Message, que apenas exibe uma mensagem no lugar do formulário. Para redirecionar, troque o tipo para Go to URL (Redirect) ou Show Page em Settings e depois Confirmations dentro do construtor.
Como faco o WPForms redirecionar para outra página após o envio
No construtor, abra Settings e depois Confirmations e escolha Show Page para levar a uma página do site ou Go to URL (Redirect) para enviar a uma URL qualquer. Preencha a página ou a URL de destino e salve o formulário.
O redirecionamento do WPForms aceita URL externa
Sim. O tipo Go to URL (Redirect) aceita qualquer URL, inclusive de outro site, segundo a documentação do WPForms. Informe a URL completa com https e sem espacos para o redirect funcionar.
Por que minha confirmacao condicional dispara a errada e não redireciona
O WPForms avalia as confirmacoes de cima para baixo e dispara a primeira cuja regra for atendida, parando ali. Reordene as confirmacoes para que a regra com o redirecionamento certo seja avaliada na posicao correta e teste cada cenario.
O cache pode impedir o redirecionamento do WPForms
Sim. Um plugin de cache pode servir uma versão antiga da página com nonce expirado, fazendo o envio AJAX falhar sem retornar o sucesso que dispara o redirect. Limpe o cache e exclua a página do formulário do cache para corrigir.
O WPForms recarrega a página ao redirecionar
O WPForms envia o formulário via AJAX, sem recarregar, e o JavaScript do plugin executa o redirect ao receber a resposta de sucesso. Se esse script quebra por conflito, o envio não completa e o redirecionamento não acontece.
Como redirecionar so quando uma condicao for atendida no WPForms
Crie mais de uma confirmacao em Settings e depois Confirmations, ative a lógica condicional na confirmacao do redirect e defina a regra. Lembre que a primeira confirmacao com regra atendida vence, entao a ordem importa.
Como testar se o redirecionamento do formulário esta funcionando
Abra a página publicada do formulário em uma aba anonima, envie um teste e confira se você e levado a página de destino. Repita para cada confirmacao condicional e verifique o console do navegador caso o redirect não dispare.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes