RepairPluginDocs

Error en el envío del formulario

Soluciona el error 'Form submission failed' en RepairPlugin causado por plugins de caché que almacenan códigos de seguridad obsoletos.

errorstroubleshootingform-submissioncachingcsrf

¿Qué puedes hacer con esto?

  • Solucionar errores de "Form submission failed" que ocurren intermitentemente para diferentes visitantes
  • Evitar que los plugins de caché rompan tus formularios de reserva
  • Mantener tu sitio rápido mientras te aseguras de que los formularios de RepairPlugin siempre funcionen
  • Entender por qué ocurre este error para poder prevenirlo en el futuro

Ejemplo: Un cliente abre tu página de reparación, elige un reemplazo de pantalla, rellena sus datos — y recibe un mensaje de "Form submission failed" al final. Mientras tanto, otro cliente completa exactamente los mismos pasos sin problema. ¿La diferencia? El primer cliente recibió una página cacheada con un código de seguridad expirado.

Dónde encontrarlo

La solución depende de qué plugin de caché uses. También puede que necesites ajustar un ajuste en RepairPlugin:

  1. Ve a los ajustes de tu plugin de caché en la administración de WordPress
  2. Para el ajuste de RepairPlugin: ve a RepairPlugin > Settings > Front-End Steps

Cómo solucionarlo

Por qué ocurre

RepairPlugin añade un código de seguridad único a cada formulario. Cuando un visitante carga tu página, recibe su propio código. Cuando envía el formulario, RepairPlugin comprueba que el código coincida. Si no coincide, el formulario se rechaza.

El problema con la caché: cuando un plugin de caché guarda tu página, también guarda el código de seguridad del primer visitante. Cada visitante posterior recibe el mismo código antiguo, que no coincide con su sesión. Eso es lo que causa el error.

Esto también puede ocurrir si un visitante abre tu página, la deja unas horas y luego intenta enviar el formulario — el código puede haber expirado para entonces.

Excluye las páginas de RepairPlugin de tu plugin de caché

Esto mantiene el resto de tu sitio rápido mientras te aseguras de que los formularios de RepairPlugin siempre funcionen.

WP Rocket:

  1. Ve a WP Rocket Settings > File Optimization
  2. Baja hasta Never Cache URL(s)
  3. Añade la(s) URL(s) de las páginas con RepairPlugin (por ejemplo, /repair/, /booking/)
  4. Haz clic en Save Changes

W3 Total Cache:

  1. Ve a Performance > Page Cache
  2. Baja hasta Never Cache the Following Pages
  3. Introduce las rutas donde se ejecuta RepairPlugin (por ejemplo, /repair, /booking)
  4. Haz clic en Save Settings & Purge Caches
https://www.repairplugin.com/wp-admin/admin.php?page=w3tc_pgcache
The W3 Total Cache page cache settings showing the Never cache the following pages field where you add RepairPlugin page paths

WP Super Cache:

  1. Ve a Settings > WP Super Cache
  2. Haz clic en la pestaña Advanced
  3. Bajo Accepted Filenames & Rejected URIs, encuentra el campo para cadenas que impiden el cacheo
  4. Añade las URLs de las páginas de RepairPlugin (por ejemplo, /repair-form/)
  5. Guarda los ajustes

LiteSpeed Cache:

  1. Ve a LiteSpeed Cache > Cache > Excludes
  2. Bajo Do Not Cache URIs, añade las rutas de las páginas de RepairPlugin (por ejemplo, /repair-quote/)
  3. Haz clic en Save Changes

SG Optimizer (SiteGround):

  1. Ve a SG Optimizer > Caching > Exclude URLs from Caching
  2. Introduce las URLs de las páginas de RepairPlugin (por ejemplo, /book-repair/)
  3. Haz clic en Save Changes

Cloudflare u otro CDN: Si usas un CDN como Cloudflare, crea una Page Rule para omitir el cacheo en las páginas de RepairPlugin.

Último recurso: desactiva la protección de seguridad del formulario

Si excluir las páginas de la caché no lo soluciona, puedes desactivar la protección de seguridad del formulario por completo:

  1. Ve a RepairPlugin > Settings > Front-End Steps
  2. Busca CSRF Protection for Front-End Forms
  3. Pon el interruptor en Off
  4. Advertencia: Esto elimina una capa de seguridad de tus formularios. Solo hazlo si nada más funciona.

Referencia de ajustes

AjusteDescripciónPor defectoEl cliente ve
CSRF Protection for Front-End FormsAñade códigos de seguridad a tus formularios para prevenir envíos no autorizados. Desactívalo solo si la exclusión de caché no soluciona los errores de envío de formularios. Consejo: Siempre intenta primero excluir las páginas de RepairPlugin de tu plugin de caché. Solo desactiva esto como último recurso.onNada — esto funciona entre bastidores. Cuando está activado, los formularios están protegidos. Cuando está desactivado, los formularios siguen funcionando igual pero sin la verificación de seguridad adicional.

Preguntas frecuentes

Excluí las páginas de RepairPlugin de la caché pero los formularios siguen fallando. ¿Qué hago?

Primero, vacía todas las cachés (tu plugin de caché, cualquier CDN como Cloudflare y la caché de tu navegador). Prueba en una ventana privada/incógnito. Si el problema continúa, prueba a desactivar el interruptor de protección CSRF en RepairPlugin > Settings > Front-End Steps como solución temporal, y contacta con support@repairplugin.com para investigar más.

¿Puede ocurrir este error sin un plugin de caché?

Sí, pero es raro. Si un visitante abre tu página, la deja unas horas y luego intenta enviar el formulario, el código de seguridad puede haber expirado. Este es un comportamiento normal y no requiere ningún cambio.

Artículos relacionados

Command Palette

Search for a command to run...