Por qué Contact Form 7 deja de funcionar en sitios estáticos
Exportas tu sitio de WordPress a HTML estático. Tu formulario de contacto deja de funcionar. Ves un error 404 en la consola.
Contact Form 7 necesita PHP. Utiliza una REST API para procesar datos. Los sitios estáticos no tienen PHP. Sin PHP, no hay REST API.
Algunos culpan a CORS. Un encabezado CORS no solucionará la falta de un servidor. Necesitas un backend para gestionar el correo electrónico.
Si usas Simply Static Pro, comprueba los permisos de tus archivos. La falta de un archivo JS causa este error. Ejecuta este comando:
chmod 644 /var/www/html/wp-content/plugins/simply-static-pro/assets/ssp-form-webhook-public.js
Ejecuta la exportación de nuevo.
Dos formas de solucionar esto:
- Mantén WordPress en un subdominio. Úsalo como tu API. Añade encabezados CORS a tu archivo .htaccess.
- Usa un servicio de formularios estáticos. Prueba Formspree o Netlify Forms.
Cómo depurar:
- Visita tu URL de WordPress seguida de /wp-json/. Si ves un 404, tu backend está fuera de línea.
- Abre DevTools. Envía tu formulario. Busca errores 404 o CORS.
- Comprueba tu archivo forms.json. Asegúrate de que el endpoint apunte a tu dominio de WordPress.
Deja de tratar los síntomas. Arregla tu arquitectura.