Si ves un aviso en el panel de administración titulado "Errores detectados en el formulario de donación", esta guía explica qué significa y cómo resolverlo.
Lo importante que debes saber primero es que este único aviso puede apuntar a dos situaciones muy diferentes. Una de ellas puede impedir que los donantes reales paguen con tarjeta y necesita tu atención. La otra es que Charitable está detectando rastreadores automatizados, y es inofensivo. Antes de cambiar cualquier configuración, identifica con cuál estás tratando.
- Qué significa este aviso
- Primero, identifique la causa
- Causa 1: Un plugin de optimización está bloqueando el script de pago
- Ubicación de la configuración por plugin
- Causa 2: Rastreadores de motores de búsqueda y redes sociales
- Actualizar a la última versión
- Descartar el aviso
- Avanzado: Lo que Charitable excluye automáticamente
- ¿Todavía necesita ayuda?
Qué significa este aviso
Para realizar un pago con tarjeta, tu formulario de donación depende de un pequeño script cargado directamente desde tu proveedor de pagos en el navegador del visitante. Stripe carga js.stripe.com, PayPal carga el SDK de PayPal y Square carga el SDK web de Square. Ese script es el que dibuja los campos seguros de la tarjeta y envía el pago al proveedor. Si falta, los campos de la tarjeta no pueden aparecer y la donación no se puede completar.
Charitable supervisa cada página de donación a medida que se carga. Si el script de pago requerido no estaba presente, registra el evento y, si se registran suficientes, muestra este aviso. El aviso también enumera cualquier plugin de caché u optimización que haya detectado en tu sitio, lo que es tu primera pista de lo que sucedió.
Hay dos razones comunes por las que falta el script, y requieren respuestas muy diferentes.
- Un plugin de caché u optimización ha cacheadado, combinado, minificado o retrasado el JavaScript de la página, de modo que el script de pago nunca se ejecutó. Esto puede disuadir a los donantes reales y necesita ser solucionado.
- Rastreadores de motores de búsqueda y redes sociales visitaron tus páginas de donación. Leen la página pero no ejecutan scripts de pago de la misma manera que lo hace un navegador real, por lo que la verificación registra un fallo aunque ningún donante real se haya visto afectado. Esto es inofensivo.
Primero, identifique la causa
Charitable registra cada evento para que puedas ver exactamente lo que sucedió. Para ver el registro:
- Haz clic en Revisar el registro en el aviso, o ve a Charitable > Herramientas > Registros en tu administrador de WordPress. También puedes ver un resumen en Charitable > Herramientas > Información del sistema en la sección Errores del formulario.
- Busca las entradas con el código de error gateway_sdk_not_loaded. Puedes exportar el registro completo a un archivo CSV si prefieres revisarlo en una hoja de cálculo.
- Para cada entrada, mira el agente de usuario del visitante (el navegador que cargó la página).
El agente de usuario te indica qué camino seguir:
- Un navegador normal y actual (Chrome, Safari, Firefox o Edge en un teléfono u ordenador) significa que un visitante real podría haber sido afectado. Sigue la Causa 1.
- Un motor de búsqueda o rastreador social (por ejemplo,
bingbot,Googlebot,meta-externalagentde Facebook oOAI-SearchBotde OpenAI) significa que un bot automatizado activó la comprobación, no un donante. Sigue la Causa 2.
Si cada entrada es un rastreador y tus donaciones llegan normalmente, casi con toda seguridad te encuentras ante el caso inofensivo de la Causa 2.
Causa 1: Un plugin de optimización está bloqueando el script de pago
Si tu registro muestra navegadores normales, la causa casi siempre es un plugin de caché u optimización. Tres funciones en particular pueden retener el script de pago de una página de donación:
- La caché de página completa puede servir una copia almacenada de la página que se construyó sin el script de pago.
- Minificar y combinar JavaScript puede romper el orden en el que el script de pago necesita cargarse.
- Retrasar o diferir JavaScript (a veces llamado "cargar JavaScript en la interacción") retiene los scripts hasta que el visitante hace clic o se desplaza, por lo que el script de pago no está listo cuando el formulario lo necesita. Este es el culpable más común.
La solución es indicar a tu plugin de optimización que deje en paz las páginas de donación y los scripts de pago. Aplica estas tres acciones:
- Excluye tus páginas de donación de la caché de página completa. Añade las URL de cada página que contenga un formulario de donación (tus páginas de campaña y de donación) a la lista de exclusión o omisión de caché. Si tu host o CDN también almacenan páginas en caché, exclúyelas también allí.
- Excluye los scripts de pago y los scripts de Charitable de minificar y combinar. Usa los valores que se indican a continuación.
- Excluye los mismos scripts de retrasar o diferir JavaScript. Este es el paso que se omite con más frecuencia y, por lo general, el que lo soluciona.
En la mayoría de los plugins de optimización puedes pegar lo siguiente en los campos de exclusión o "no optimizar" correspondientes. No necesitas ser exacto, basta con que coincida cualquier parte de la dirección del script:
js.stripe.com
www.paypal.com/sdk
paypalobjects.com
web.squarecdn.com
js.squareup.com
charitable
charitable-pro
CHARITABLE_VARS
Después de guardar, borra la caché de tu plugin de optimización, luego abre una página de donación en una ventana de navegador privada o de incógnito y confirma que los campos de la tarjeta aparecen y que una donación de prueba funciona.
Ubicación de la configuración por plugin
Dónde se encuentran estas opciones depende del plugin. Los más comunes se indican a continuación. Para WP Rocket y WP-Optimize, Charitable ya aplica estas exclusiones por ti, por lo que normalmente no necesitas cambiar nada allí.
WP Fastest Cache
En la pestaña Ajustes, revisa Minificar JS, Combinar JS y JS de bloqueo de renderizado, y desactívalos para realizar pruebas si es necesario. Si usas la función premium Retrasar JS, agrega los valores anteriores a su lista de exclusión. En Excluir > Excluir páginas, agrega las URL de tu página de campaña y donación para que nunca se almacenen en caché, y en Excluir > Excluir JS, agrega los valores anteriores. Borra la caché desde la pestaña Eliminar caché después.
WP Rocket
Charitable excluye automáticamente los scripts de pago y sus propios archivos de la minificación, combinación y Retraso de ejecución de JavaScript de WP Rocket, por lo que normalmente no se necesita ninguna acción. Si aún ves un problema, confirma que no se estén volviendo a agregar manualmente los scripts de Charitable o de pago, y en Reglas avanzadas > Nunca almacenar en caché (URL) agrega las URL de tu página de donación.
LiteSpeed Cache
En Optimización de página > Ajustes de JS, agrega los valores anteriores a Exclusiones de JS y, si lo usas, a Exclusiones de JS del modo invitado y a las exclusiones de Localización o diferimiento. En Caché > Exclusiones, agrega las URL de tu página de donación a No almacenar en caché URIs. Purga todas las cachés después.
WP-Optimize
Charitable agrega automáticamente los scripts de pago y sus propios archivos a las exclusiones de minificación y combinación de WP-Optimize, por lo que normalmente no se necesita ninguna acción. Si es necesario, puedes confirmarlos en WP-Optimize > Minificar > JavaScript en la lista de exclusiones, y excluir las páginas de donación del almacenamiento en caché en WP-Optimize > Caché > Ajustes avanzados.
Autoptimize
En Ajustes > Autoptimize > Opciones de JavaScript, agrega los valores anteriores a Excluir scripts de Autoptimize. Si usas la opción "Habilitar optimización de JavaScript al 100%" o cualquier opción de diferimiento, asegúrate de que estas exclusiones sigan aplicándose. Autoptimize no almacena en caché las páginas por sí mismo, así que combínalo con las exclusiones del plugin de caché de tu página.
W3 Total Cache
En Rendimiento > Minificar, agrega los valores anteriores a la lista Nunca minificar los siguientes archivos JS, y en Rendimiento > Caché de página > Avanzado agrega las URL de tu página de donación a Nunca almacenar en caché las siguientes páginas.
FlyingPress
En Ajustes > JavaScript, agrega los valores anteriores a las listas Excluir de carga diferida y Excluir de retraso. En Ajustes > Caché, agrega las URL de tu página de donación a las exclusiones. Purga la caché después.
WP Super Cache
WP Super Cache no minifica ni retrasa JavaScript, por lo que la solución aquí es solo el almacenamiento en caché. En Ajustes > WP Super Cache > Avanzado, agrega las URL de tu campaña y página de donación a Nombres de archivo aceptados y URIs rechazadas para que no se sirvan desde la caché.
Cache Enabler
Cache Enabler es solo una caché de páginas. En Ajustes > Cache Enabler, añade las URLs de tus páginas de donación a las Exclusiones de caché (IDs de entradas o rutas de página) para que siempre se sirvan actualizadas.
Otras herramientas siguen la misma idea. En SiteGround Optimizer, desactiva o excluye los scripts de pago y Charitable de las opciones de JavaScript y evita combinarlos. En Cloudflare, desactiva Rocket Loader para tus páginas de donación (Rocket Loader de Cloudflare retrasa JavaScript y puede retener el script de pago), y si usas Automatic Platform Optimization (APO), excluye las páginas de donación.
Causa 2: Rastreadores de motores de búsqueda y redes sociales
Si todas tus entradas de registro son de rastreadores, la noticia es buena. Los motores de búsqueda y las plataformas sociales obtienen tus páginas de donación para indexarlas o crear vistas previas de enlaces, pero no ejecutan el script de pago de la misma manera que un navegador real. La comprobación ve que falta el script y lo registra, aunque ningún donante real se haya visto afectado y nada en tu sitio esté roto.
Un goteo constante de visitas de rastreadores es normal para cualquier página de donación pública, y es suficiente para mantener el aviso visible. Tus donaciones reales no se ven afectadas y no se está rechazando a ningún donante.
No necesitas cambiar ninguna configuración de caché para esto. El mejor paso es actualizar Charitable, como se describe a continuación. Las versiones más recientes reconocen a los rastreadores y dejan de contarlos, por lo que estas entradas ya no activan el aviso.
Actualizar a la última versión
Sea cual sea la causa que te aplique, actualizar Charitable a la última versión merece la pena. Ve a Plugins > Plugins Instalados y actualiza Charitable. Versiones recientes:
- Carga el script de Stripe en todo el sitio, para que sea mucho menos probable que se elimine de una página de donación cacheada.
- Excluye automáticamente los scripts de pago de los plugins de optimización populares.
- Reconoce los rastreadores de motores de búsqueda y redes sociales, para que ya no activen falsas alarmas.
- Dirige esta guía de solución de problemas a la dirección correcta (las versiones anteriores enlazaban a una página que ya no existe).
Descartar el aviso
El aviso puede permanecer durante unos días incluso después de abordar la causa. Se borra por sí solo una vez que no hay nuevos eventos registrados durante 24 horas, y puedes descartarlo manualmente desde el panel en cualquier momento.
Avanzado: Lo que Charitable excluye automáticamente
Para WP Rocket y WP-Optimize, Charitable excluye automáticamente los SDK de pago y sus propios scripts de la minificación, combinación y retraso de JavaScript, por lo que normalmente no necesitas configurar nada allí. Para otras herramientas, excluye lo siguiente manualmente.
- Hosts de scripts del proveedor de pagos:
js.stripe.com,www.paypal.com/sdk,paypalobjects.com,web.squarecdn.com(ysandbox.web.squarecdn.comen modo de prueba),js.squareup.com. - Scripts propios de Charitable: cualquier archivo bajo
/wp-content/plugins/charitable/o/wp-content/plugins/charitable-pro/, y los manejadores de scriptscharitable-script,charitable-stripe,charitable-paypal,charitable-squareycharitable-universal. - Variables de configuración en línea:
CHARITABLE_VARS,CHARITABLE_STRIPE_VARS,CHARITABLE_PAYPAL_VARS,CHARITABLE_SQUARE_VARS.
¿Todavía necesita ayuda?
Si tu registro muestra navegadores normales y las donaciones siguen fallando después de excluir los scripts, ponte en contacto con el soporte de Charitable. Nos ayuda si incluyes el código de error de tu registro (gateway_sdk_not_loaded), la pasarela de pago que utilizas y los plugins de caché u optimización que figuran en el aviso. Eso nos dice inmediatamente dónde buscar.





