Si vous voyez une notification dans le tableau de bord intitulée « Erreurs du formulaire de don détectées », ce guide explique ce que cela signifie et comment y remédier.
La chose importante à savoir d'abord est que cette seule notification peut indiquer deux situations très différentes. L'une d'elles peut empêcher les vrais donateurs de payer par carte et nécessite votre attention. L'autre est que Charitable détecte des robots d'exploration automatisés, et c'est inoffensif. Avant de modifier des paramètres, identifiez celle avec laquelle vous avez affaire.
- Ce que signifie cette notification
- Premièrement, identifiez la cause
- Cause 1 : Un plugin d'optimisation bloque le script de paiement
- Emplacement des paramètres par plugin
- Cause 2 : Robots d'exploration des moteurs de recherche et des réseaux sociaux
- Mettre à jour vers la dernière version
- Ignorer la notification
- Avancé : Ce que Charitable exclut automatiquement
- Besoin d'aide ?
Ce que signifie cette notification
Pour accepter un paiement par carte, votre formulaire de don repose sur un petit script chargé directement depuis votre fournisseur de paiement dans le navigateur du visiteur. Stripe charge js.stripe.com, PayPal charge le SDK PayPal, et Square charge le SDK Web Square. Ce script est ce qui dessine les champs de carte sécurisés et envoie le paiement au fournisseur. S'il est manquant, les champs de carte ne peuvent pas apparaître et le don ne peut pas être complété.
Charitable surveille chaque page de don lors de son chargement. Si le script de paiement requis était absent, il enregistre l'événement et, si suffisamment d'événements sont enregistrés, affiche cette notification. La notification liste également tous les plugins de mise en cache ou d'optimisation qu'il a détectés sur votre site, ce qui est votre premier indice sur ce qui s'est passé.
Il y a deux raisons courantes pour lesquelles le script est manquant, et elles appellent des réponses très différentes.
- Un plugin de mise en cache ou d'optimisation a mis en cache, combiné, minifié ou retardé le JavaScript de la page, de sorte que le script de paiement ne s'est jamais exécuté. Cela peut dissuader les vrais donateurs et nécessite une correction.
- Les robots d'exploration des moteurs de recherche et des réseaux sociaux ont visité vos pages de don. Ils lisent la page mais n'exécutent pas les scripts de paiement comme le fait un vrai navigateur, donc la vérification enregistre un échec même si aucun vrai donateur n'a été affecté. C'est inoffensif.
Premièrement, identifiez la cause
Charitable enregistre chaque événement consigné afin que vous puissiez voir exactement ce qui s'est passé. Pour consulter le journal :
- Cliquez sur Examiner le journal sur la notification, ou allez dans Charitable > Outils > Journaux dans votre administration WordPress. Vous pouvez également voir un résumé sous Charitable > Outils > Infos système dans la section Erreurs du formulaire.
- Trouvez les entrées avec le code d'erreur gateway_sdk_not_loaded. Vous pouvez exporter le journal complet dans un fichier CSV si vous préférez l'examiner dans une feuille de calcul.
- Pour chaque entrée, regardez l'agent utilisateur du visiteur (le navigateur qui a chargé la page).
L'agent utilisateur vous indique le chemin à suivre :
- Un navigateur normal et actuel (Chrome, Safari, Firefox ou Edge sur un téléphone ou un ordinateur) signifie qu'un visiteur réel a pu être affecté. Suivez la Cause 1.
- Un robot d'exploration de moteur de recherche ou de réseau social (par exemple
bingbot,Googlebot,meta-externalagentde Facebook, ouOAI-SearchBotd'OpenAI) signifie qu'un bot automatisé a déclenché la vérification, pas un donateur. Suivez la Cause 2.
Si chaque entrée est un robot d'exploration et que vos dons arrivent normalement par ailleurs, vous êtes presque certainement confronté au cas inoffensif de la Cause 2.
Cause 1 : Un plugin d'optimisation bloque le script de paiement
Si votre journal affiche des navigateurs normaux, la cause est presque toujours un plugin de mise en cache ou d'optimisation. Trois fonctionnalités en particulier peuvent retenir le script de paiement d'une page de don :
- La mise en cache de page entière peut servir une copie stockée de la page qui a été construite sans le script de paiement.
- Minifier et combiner JavaScript peut casser l'ordre dans lequel le script de paiement doit se charger.
- Retarder ou différer JavaScript (parfois appelé « charger JavaScript à l'interaction ») retarde les scripts jusqu'à ce que le visiteur clique ou fasse défiler, de sorte que le script de paiement n'est pas prêt lorsque le formulaire en a besoin. C'est le coupable le plus courant.
La solution consiste à dire à votre plugin d'optimisation de laisser les pages de don et les scripts de paiement tranquilles. Appliquez ces trois actions :
- Excluez vos pages de don de la mise en cache de page entière. Ajoutez les URL de chaque page contenant un formulaire de don (vos pages de campagne et de don) à la liste d'exclusion ou de contournement du cache. Si votre hébergeur ou votre CDN met également des pages en cache, excluez-les également là.
- Excluez les scripts de paiement et les scripts de Charitable de la minification et de la combinaison. Utilisez les valeurs listées ci-dessous.
- Excluez les mêmes scripts du retard ou du report de JavaScript. C'est l'étape la plus souvent manquée, et généralement celle qui résout le problème.
Dans la plupart des plugins d'optimisation, vous pouvez coller ce qui suit dans les champs d'exclusion pertinents ou les champs « ne pas optimiser ». Vous n'avez pas besoin d'être exact, correspondre à n'importe quelle partie de l'adresse du script suffit :
js.stripe.com
www.paypal.com/sdk
paypalobjects.com
web.squarecdn.com
js.squareup.com
charitable
charitable-pro
CHARITABLE_VARS
Après avoir enregistré, videz le cache de votre plugin d'optimisation, puis ouvrez une page de don dans une fenêtre de navigateur privée ou incognito et confirmez que les champs de carte apparaissent et qu'un don de test fonctionne.
Emplacement des paramètres par plugin
L'emplacement de ces options dépend du plugin. Les plus courants sont ci-dessous. Pour WP Rocket et WP-Optimize, Charitable applique déjà ces exclusions pour vous, vous n'avez donc normalement rien à y changer.
WP Fastest Cache
Sous l'onglet Paramètres, examinez Minifier le JS, Combiner le JS et JS bloquant le rendu, et désactivez-les pour tester si nécessaire. Si vous utilisez la fonctionnalité premium Reporter le JS, ajoutez les valeurs ci-dessus à sa liste d'exclusion. Sous Exclure > Exclure les pages, ajoutez les URL de vos pages de campagne et de don afin qu'elles ne soient jamais mises en cache, et sous Exclure > Exclure le JS, ajoutez les valeurs ci-dessus. Videz le cache de l'onglet Supprimer le cache ensuite.
WP Rocket
Charitable exclut automatiquement les scripts de paiement et ses propres fichiers de la minification, de la combinaison et de l'exécution différée de JavaScript de WP Rocket, donc cela ne nécessite généralement aucune action. Si vous rencontrez toujours un problème, vérifiez que rien ne réajoute manuellement les scripts Charitable ou de paiement, et sous Règles avancées > Ne jamais mettre en cache (URL) ajoutez les URL de vos pages de don.
LiteSpeed Cache
Sous Optimisation de la page > Paramètres JS, ajoutez les valeurs ci-dessus à Exclusions JS et, si vous l'utilisez, à Exclusions JS du mode invité et aux exclusions de Localisation ou de report. Sous Cache > Exclusions, ajoutez les URL de vos pages de don à Ne pas mettre en cache les URI. Videz tous les caches ensuite.
WP-Optimize
Charitable ajoute automatiquement les scripts de paiement et ses propres fichiers aux exclusions de minification et de combinaison de WP-Optimize, donc cela ne nécessite généralement aucune action. Si nécessaire, vous pouvez les vérifier sous WP-Optimize > Minifier > JavaScript dans la liste des exclusions, et exclure les pages de don de la mise en cache sous WP-Optimize > Cache > Paramètres avancés.
Autoptimize
Sous Paramètres > Autoptimize > Options JavaScript, ajoutez les valeurs ci-dessus à Exclure les scripts d'Autoptimize. Si vous utilisez l'option « Activer l'optimisation JavaScript à 100 % » ou toute option de report, assurez-vous que ces exclusions s'appliquent toujours. Autoptimize ne met pas de pages en cache lui-même, donc associez-le aux exclusions de votre plugin de cache de page.
W3 Total Cache
Sous Performance > Minifier, ajoutez les valeurs ci-dessus à la liste Ne jamais minifier les fichiers JS suivants, et sous Performance > Cache de page > Avancé ajoutez les URL de vos pages de don à Ne jamais mettre en cache les pages suivantes.
FlyingPress
Sous Paramètres > JavaScript, ajoutez les valeurs ci-dessus aux listes Exclure du chargement différé et Exclure du report. Sous Paramètres > Cache, ajoutez les URL de vos pages de don aux exclusions. Videz le cache ensuite.
WP Super Cache
WP Super Cache ne minifie ni ne reporte le JavaScript, donc la solution ici est uniquement la mise en cache. Sous Paramètres > WP Super Cache > Avancé, ajoutez les URL de vos pages de campagne et de don à Noms de fichiers acceptés & URI rejetés afin qu'elles ne soient pas servies depuis le cache.
Cache Enabler
Cache Enabler est un cache de page uniquement. Sous Paramètres > Cache Enabler, ajoutez les URL de vos pages de dons à la section Exclusions du cache (ID de publication ou chemins de page) afin qu'elles soient toujours servies fraîches.
D'autres outils suivent la même idée. Dans SiteGround Optimizer, désactivez ou excluez les scripts de dons et de paiement des options JavaScript et évitez de les combiner. Dans Cloudflare, désactivez Rocket Loader pour vos pages de dons (Rocket Loader de Cloudflare retarde l'exécution de JavaScript et peut retarder le script de paiement), et si vous utilisez Automatic Platform Optimization (APO), excluez les pages de dons.
Cause 2 : Robots d'exploration des moteurs de recherche et des réseaux sociaux
Si toutes vos entrées de journal sont des robots d'exploration, la nouvelle est bonne. Les moteurs de recherche et les plateformes sociales récupèrent vos pages de dons pour les indexer ou créer des aperçus de liens, mais ils n'exécutent pas le script de paiement comme le fait un vrai navigateur. La vérification voit le script manquant et l'enregistre, même si aucun donateur réel n'a été affecté et que rien sur votre site n'est cassé.
Un flux constant de visites de robots d'exploration est normal pour toute page de don publique, et cela suffit à maintenir l'avis affiché. Vos dons réels ne sont pas affectés et aucun donateur n'est refusé.
Vous n'avez pas besoin de modifier les paramètres de mise en cache pour cela. La meilleure étape est de mettre à jour Charitable, comme décrit ci-dessous. Les versions plus récentes reconnaissent les robots d'exploration et arrêtent de les compter, de sorte que ces entrées ne déclenchent plus l'avis.
Mettre à jour vers la dernière version
Quelle que soit la cause qui s'applique à vous, la mise à jour de Charitable vers la dernière version est utile. Allez dans Extensions > Extensions installées et mettez à jour Charitable. Versions récentes :
- Chargez le script Stripe sur tout le site, de sorte qu'il soit beaucoup moins susceptible d'être supprimé d'une page de don mise en cache.
- Excluez automatiquement les scripts de paiement des plugins d'optimisation populaires.
- Reconnaissez les robots d'exploration des moteurs de recherche et des réseaux sociaux, afin qu'ils ne déclenchent plus de fausses alertes.
- Pointez ce guide de dépannage vers la bonne adresse (les anciennes versions renvoyaient à une page qui n'existe plus).
Ignorer la notification
L'avis peut rester pendant quelques jours même après que la cause a été traitée. Il disparaît de lui-même une fois qu'il n'y a plus de nouveaux événements enregistrés pendant 24 heures, et vous pouvez le masquer manuellement depuis le tableau de bord à tout moment.
Avancé : Ce que Charitable exclut automatiquement
Pour WP Rocket et WP-Optimize, Charitable exclut automatiquement les SDK de paiement et ses propres scripts de la minification, de la combinaison et du délai d'exécution JavaScript, vous n'avez donc normalement rien à configurer. Pour les autres outils, excluez les éléments suivants manuellement.
- Hôtes de scripts du fournisseur de paiement :
js.stripe.com,www.paypal.com/sdk,paypalobjects.com,web.squarecdn.com(etsandbox.web.squarecdn.comen mode test),js.squareup.com. - Scripts propres à Charitable : tout fichier sous
/wp-content/plugins/charitable/ou/wp-content/plugins/charitable-pro/, et les gestionnaires de scriptscharitable-script,charitable-stripe,charitable-paypal,charitable-squareetcharitable-universal. - Variables de configuration en ligne :
CHARITABLE_VARS,CHARITABLE_STRIPE_VARS,CHARITABLE_PAYPAL_VARS,CHARITABLE_SQUARE_VARS.
Besoin d'aide ?
Si votre journal affiche des navigateurs normaux et que les dons échouent toujours après l'exclusion des scripts, contactez le support de Charitable. Cela nous aide si vous incluez le code d'erreur de votre journal (gateway_sdk_not_loaded), la passerelle de paiement que vous utilisez et les plugins de mise en cache ou d'optimisation listés dans l'avis. Cela nous indique immédiatement où chercher.





