Passer au contenu principal

Problèmes de configuration courants

Vérifiez votre configuration du tableau de bord OneSignal

Assurez-vous d’avoir complété chaque étape du guide de configuration WordPress :
  • Sélectionnez l’option Plugin WordPress lors de la création de votre application OneSignal
  • Votre URL de site doit correspondre exactement à l’URL du navigateur
    • Par exemple, https://example.com n’est pas identique à https://www.example.com. Utilisez une version de manière cohérente.
    • Une seule origine de site est prise en charge pour le push. Voir Politique de même origine.
  • Assurez-vous d’avoir ajouté au moins une invite d’autorisation.

N’ajoutez pas le code OneSignal manuellement

Le plugin WordPress OneSignal inclut automatiquement le script d’initialisation et le Service Worker.
  • N’ajoutez pas le code JavaScript init de OneSignal à votre site.
  • N’utilisez pas la Configuration de code personnalisé avec le plugin WordPress. Si vous devez personnaliser la méthode init, désinstallez le plugin et ajoutez le code et le Service Worker manuellement.

Envoyer une notification lors de la publication d’un article

Lorsque vous publiez un article, une page ou un type d’article personnalisé, OneSignal peut automatiquement envoyer une notification à vos abonnés.
Metabox OneSignal Push Notifications——faites-la glisser pour la repositionner si nécessaire
Si vous ne voyez pas la case à cocher Envoyer une notification lors de la publication ou de la mise à jour de l’article, vérifiez les éléments suivants :
  1. Vérifiez les metaboxes à droite et en bas de l’éditeur. Vous pouvez les glisser-déposer selon vos besoins.
  2. Vérifiez les Options d’écran en haut de l’éditeur pour vous assurer que la metabox OneSignal Push Notifications est cochée.
Options d'écran montrant la metabox OneSignal Push Notifications cochée
  1. Vérifiez si vous utilisez un Type d’article personnalisé. Celui-ci se trouve généralement dans l’URL sous la forme post_type=your_custom_type. Si c’est le cas, ajoutez le type d’article personnalisé au champ Types d’articles personnalisés dans les paramètres du plugin WordPress OneSignal.
Paramètres du plugin WordPress OneSignal montrant le champ Types d'articles personnalisés

Comment dépanner votre site

1

Vérifiez que le plugin est actif et ouvrez les outils de développement

Chargez votre site dans une fenêtre de navigateur normale (non incognito) avec le plugin activé.
Outils de développement du navigateur ouverts avec l'onglet Console sélectionné sur un site WordPress
2

Vérifiez la console pour les erreurs OneSignal

Ouvrez l’onglet Console, actualisez la page et recherchez les erreurs liées à OneSignal en rouge ou jaune. Voir Erreurs de console OneSignal courantes pour obtenir de l’aide.
3

Vérifiez le statut d'abonnement dans le navigateur

Une fois la page chargée et en l’absence d’erreurs OneSignal dans la Console, collez ceci :
JavaScript
OneSignal.User.PushSubscription.id
Si le visiteur est abonné, cela retourne une chaîne (l’ID d’abonnement). Si l’abonnement n’est pas actif ou pas encore prêt, vous pouvez voir null ou une valeur vide. Si vous voyez OneSignal is not defined, attendez quelques secondes et réessayez, ou corrigez d’abord les erreurs de Console dans Erreurs de console OneSignal courantes——le SDK est peut-être encore en cours de chargement via le chargeur différé.
Console du navigateur affichant le résultat de la chaîne d'id PushSubscription de l'utilisateur OneSignal
4

Vérifiez l'ID d'abonnement dans le tableau de bord OneSignal

Dans le tableau de bord OneSignal, allez dans Audience > Subscriptions et recherchez l’ID retourné ci-dessus.
Champ de recherche Subscriptions du tableau de bord OneSignal avec recherche d'ID d'abonnement
5

Envoyez une notification push de test

Si l’abonnement existe et le statut est Abonné, suivez le guide Push pour envoyer une notification. Si rien n’apparaît, voir Notifications non affichées pour les correctifs spécifiques au navigateur.

Erreurs de console OneSignal courantes

SdkInitError: OneSignal: This web push config can only be used on … Your current origin is …

SdkInitError en console indiquant une discordance d'origine de la configuration web push
Votre URL de site dans le tableau de bord OneSignal ne correspond pas à votre domaine réel. Assurez-vous qu’elle correspond exactement au domaine que vous voyez dans le navigateur.

PushPermissionNotGrantedError: The user dismissed the permission prompt.

Le visiteur a refusé l’invite du navigateur. Elle ne réapparaîtra pas avant l’expiration d’une période de refroidissement. Voir Invites d’autorisation Web pour les règles du navigateur ou effacez les données du site pour réessayer immédiatement.

The OneSignal web SDK can only be initialized once.

Erreur console : le SDK web OneSignal ne peut être initialisé qu'une seule fois
Vous chargez OneSignal deux fois. Supprimez le code OneSignal ajouté manuellement si vous utilisez le plugin.

Installing service worker failed.. 403 or 404 error

Erreur console : installation du service worker échouée avec une erreur 403 ou 404
Assurez-vous que ce fichier est accessible (remplacez your-site.com et adaptez le nom réel du dossier du plugin s’il diffère de la valeur par défaut) : https://your-site.com/wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/OneSignalSDKWorker.js Si ce n’est pas le cas, voir Support de plugins courants pour corriger les problèmes de CDN ou de cache.

Support de plugins courants

Les CDN et les plugins de cache peuvent bloquer les fichiers requis par OneSignal. Les chemins ci-dessous supposent que le répertoire du plugin est onesignal-free-web-push-notifications ; ajustez si votre installation utilise un nom de dossier différent.

Autoptimize

Dans Scripts exclus, ajoutez :
wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/(.*)

WP Rocket

Sous CDN > Exclure les fichiers du CDN, ajoutez :
(.*)/onesignal-free-web-push-notifications/sdk_files/(.*)

LiteSpeed Cache

Sous CDN > Exclure le chemin, ajoutez :
(.*)/onesignal-free-web-push-notifications/sdk_files/(.*)
Ensuite, appuyez sur enregistrer.

WP Super Cache

  1. Allez dans Paramètres > WP Super Cache > CDN
  2. Dans Exclure si sous-chaîne, incluez : onesignal-free-web-push-notifications
  3. Cliquez sur Contenu > Supprimer le cache

WP Engine

WP Engine peut réécrire les URLs des plugins via son CDN. Les règles de Traitement post-HTML sont spécifiques à chaque environnement ; l’extrait ci-dessous est fourni à titre d’exemple uniquement——confirmez les chemins avec le support WP Engine ou votre Portail Utilisateur avant de les appliquer. Dans WP Engine plugin > Paramètres généraux > Traitement post-HTML, vous aurez peut-être besoin de règles similaires aux suivantes. Remplacez chaque espace réservé par les valeurs de votre site et du nom d’hôte CDN WP Engine :
Espace réservéRemplacer par
YOURSITEHEREVotre domaine nu (segment regex), ex. example pour example.com
mywpenginehandleHereLe nom de votre installation WP Engine (sous-domaine avant .wpengine.com)
wpengineCDNpathHereVotre segment de chemin NetDNA / CDN de WP Engine (souvent visible dans les URLs CDN)
mywebsiteHereL’origine de votre site actif sans chemin, ex. https://example.com
text
#https?://(www\.)?(YOURSITEHERE\.com|mywpenginehandleHere.wpengine.com|wpengineCDNpathHere.wpengine.netdna-(ssl|cdn).com)/wp-(content|includes)#
=> https://wpengineCDNpathHere-wpengine.netdna-ssl.com/wp-$4
#https://wpengineCDNpathHere-wpengine.netdna-ssl.com/plugins/onesignal-free-web-push-notifications/#
=> https://mywebsiteHere.com/wp-content/plugins/onesignal-free-web-push-notifications/
#https://wpengineCDNpathHere-wpengine.netdna-ssl.com/wp-content/plugins/onesignal-free-web-push-notifications/#
=> https://mywebsiteHere.com/wp-content/plugins/onesignal-free-web-push-notifications/

W3 Total Cache

  1. Allez dans Performance > CDN
  2. Sous Fichiers rejetés, ajoutez :
{plugins_dir}/onesignal-free-web-push-notifications/sdk_files/*
Liste des fichiers CDN rejetés de W3 Total Cache incluant le chemin sdk_files de OneSignal

BunnyCDN

Excluez onesignal dans les chemins CDN exclus du plugin.
Chemins exclus du plugin WordPress BunnyCDN incluant onesignal

CDN Enabler

Dans Paramètres > CDN Enabler, ajoutez ceci aux “Exclusions” :
onesignal-free-web-push-notifications

PressCDN

Dans Exclure les répertoires, ajoutez :
/wp-content/plugins/onesignal-free-web-push-notifications/

Breeze

Dans Paramètres > CDN > Exclure le contenu, ajoutez :
/onesignal-free-web-push-notifications/sdk_files/
Champ d'exclusion de contenu CDN Breeze avec le chemin sdk_files de OneSignal

Hummingbird Pro

Allez dans Hummingbird > Optimisation des ressources. Sous JavaScript (et CSS si les ressources OneSignal y apparaissent), repérez les fichiers dont les URLs contiennent onesignal-free-web-push-notifications ou OneSignalSDK. Excluez-les de la minification/combinaison/différement, ou basculez ces ressources en optimisation Ne pas charger pour que le plugin ne les réécrive ni ne les retarde.
Liste d'optimisation des ressources Hummingbird Pro montrant les exclusions de scripts

Sucuri

Suivez le guide de liste blanche de Sucuri pour autoriser les fichiers OneSignal.

Solid Security (anciennement iThemes Security)

Désactivez Désactiver PHP dans les plugins (ou équivalent) sous Ajustements système pour que OneSignalSDKWorker.js.php puisse s’exécuter.
Paramètre du plugin de sécurité pour autoriser PHP dans les plugins décoché ou désactivé

Plugin Defender Security

N’activez pas “Empêcher l’exécution de PHP”. Allez dans Plugin Defender > Ajustements de sécurité et vérifiez que le paramètre est désactivé.

Exemple .htaccess pour l’accès au Service Worker

<Files *.php>
Order allow,deny
Deny from all
</Files>
<Files OneSignalSDKWorker.js.php>
Allow from all
ForceType 'application/javascript; charset=UTF-8'
</Files>
<Files OneSignalSDKWorker.js>
Allow from all
ForceType 'application/javascript; charset=UTF-8'
</Files>
Apache 2.4+ utilise souvent Require all denied / Require all granted au lieu de Order allow,deny. Renseignez-vous auprès de votre hébergeur ou adaptez les règles à la version d’Apache de votre serveur.

Ralentissements du serveur ou site inaccessible après l’envoi de notifications

Si votre serveur subit des ralentissements ou devient inaccessible après l’envoi de notifications, c’est souvent dû à une charge accrue provenant des ressources de notification ou à des ressources serveur limitées.

N’hébergez pas vos propres icônes de notification

Évitez d’auto-héberger les images utilisées dans les notifications. Lorsque vous hébergez vos propres icônes ou images de notification, votre serveur peut être surchargé car le navigateur de chaque destinataire tente de récupérer l’image en même temps qu’une notification est envoyée. Pour réduire la charge du serveur, utilisez des solutions d’hébergement d’images ou des services CDN optimisés pour un accès à forte concurrence.

Envisagez de mettre à niveau les ressources d’hébergement

Si les problèmes de serveur persistent, vous devrez peut-être :
  • Mettre à niveau votre plan d’hébergement : Une bande passante plus élevée ou un hébergement plus puissant peut être nécessaire pour gérer les envois de notifications à grande échelle.
  • Consulter votre fournisseur d’hébergement : Votre fournisseur peut offrir des informations ou des optimisations spécifiques à votre environnement d’hébergement.