Por que o Contact Form 7 para de funcionar em sites estáticos

Você exporta seu site WordPress para HTML estático. Seu formulário de contato para de funcionar. Você vê um erro 404 no console.

O Contact Form 7 precisa de PHP. Ele usa uma REST API para processar dados. Sites estáticos não possuem PHP. Sem PHP, não há REST API.

Algumas pessoas culpam o CORS. Um cabeçalho CORS não corrigirá a ausência de um servidor. Você precisa de um backend para processar o e-mail.

Se você usa o Simply Static Pro, verifique as permissões de arquivo. Um arquivo JS ausente causa esse erro. Execute este comando:

chmod 644 /var/www/html/wp-content/plugins/simply-static-pro/assets/ssp-form-webhook-public.js

Execute a exportação novamente.

Duas maneiras de corrigir isso:

  • Mantenha o WordPress em um subdomínio. Use-o como sua API. Adicione cabeçalhos CORS ao seu arquivo .htaccess.
  • Use um serviço de formulário estático. Tente o Formspree ou o Netlify Forms.

Como depurar:

  • Visite a URL do seu WordPress seguida de /wp-json/. Se você vir um 404, seu backend está offline.
  • Abra o DevTools. Envie seu formulário. Procure por erros 404 ou CORS.
  • Verifique seu arquivo forms.json. Certifique-se de que o endpoint aponte para o seu domínio WordPress.

Pare de tratar sintomas. Corrija sua arquitetura.

Fonte: https://dev.to/rahul_sharma_15bd129bc69e/why-contact-form-7-breaks-on-static-sites-and-what-to-do-about-it-jg5