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.