Skip to main content

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. La version 3+ héberge un fichier OneSignalSDKWorker.js simple dans le répertoire sdk_files du plugin et définit le chemin dans l’init du plugin. Vous ne téléversez pas le worker à la racine de votre site et vous ne définissez pas serviceWorkerPath vous-même. Si vous avez besoin des options init du Code personnalisé ou d’un emplacement de worker personnalisé, désinstallez le plugin et suivez la Configuration avec code personnalisé. Il s’agit d’une migration complète hors de WordPress, pas d’un moyen de déplacer le service worker du plugin.

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

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

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

Exemple d'emplacement du nom du type d'article personnalisé


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

Faites un clic droit sur votre site, cliquez sur Inspecter et ouvrez l'onglet Console.

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
Si le visiteur est abonné, cela retourne une chaîne (le Subscription ID). S’il n’est pas abonné ou si l’abonnement n’est 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

Trouvez votre Subscription ID OneSignal dans la console.

4

Vérifiez le Subscription ID 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

Recherchez le Subscription ID dans votre tableau de bord OneSignal.

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

Erreur de non-concordance de l'URL du site.

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

Erreur d'initialisation en double de OneSignal.

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

Fichier Service Worker manquant (403/404).

Le plugin sert OneSignalSDKWorker.js depuis son répertoire sdk_files. Les installations depuis WordPress.org utilisent le dossier onesignal-free-web-push-notifications. Si vous avez installé depuis un fichier zip, le dossier peut différer. Remplacez your-site.com et le nom du dossier pour qu’ils correspondent à Extensions dans wp-admin : https://your-site.com/wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/OneSignalSDKWorker.js Vous devriez voir cette seule ligne de JavaScript :
Si cette URL retourne un 404 ou est bloquée, voir Support de plugins courants pour corriger les règles de CDN, de cache ou de plugin de sécurité. Les anciennes versions du plugin (v2) servaient OneSignalSDKWorker.js.php depuis le même répertoire sdk_files. Si votre console demande toujours une URL .js.php, vous utilisez le worker hérité. Voir Solid Security et Exemple .htaccess pour les notes d’exécution PHP qui s’appliquent uniquement à ces installations.

Support de plugins courants

Les CDN et les plugins de cache peuvent bloquer les fichiers requis par OneSignal. Les installations depuis WordPress.org utilisent le répertoire de plugin onesignal-free-web-push-notifications. Si vous avez installé depuis un fichier zip, le dossier peut être différent (par exemple OneSignal-WordPress-Plugin). Vérifiez Extensions dans wp-admin ou wp-content/plugins/ et remplacez ce nom dans les chemins ci-dessous. Utilisez ces paramètres spécifiques aux plugins :

Autoptimize

Dans Scripts exclus, ajoutez :

WP Rocket

Sous CDN > Exclure les fichiers du CDN, ajoutez :

LiteSpeed Cache

Sous CDN > Exclure le chemin, ajoutez :
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 le plugin > Paramètres généraux > Traitement post-HTML de WP Engine, 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 :

W3 Total Cache

  1. Allez dans Performance > CDN
  2. Sous Fichiers rejetés, ajoutez :
Liste des fichiers CDN rejetés de W3 Total Cache incluant le chemin sdk_files de OneSignal

Paramètres d'exclusion W3 Total Cache.

BunnyCDN

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

Exemple d'exclusion BunnyCDN.

CDN Enabler

Dans Paramètres > CDN Enabler, ajoutez ceci aux “Exclusions” :

PressCDN

Dans Exclure les répertoires, ajoutez :

Breeze

Dans Paramètres > CDN > Exclure le contenu, ajoutez :
Champ d'exclusion de contenu CDN Breeze avec le chemin sdk_files de OneSignal

Exemple d'exclusion Breeze.

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/du report, 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

Optimisation des ressources Hummingbird Pro.

Sucuri

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

Solid Security (anciennement iThemes Security)

La version 3+ sert un fichier statique OneSignalSDKWorker.js. Vous n’avez pas besoin de l’exécution PHP dans le répertoire des plugins pour ce worker. Si vous utilisez toujours le plugin v2, ou si l’URL du worker se termine par .js.php, 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é

Ne désactivez le blocage de l'exécution PHP dans les plugins que si vous servez encore le worker v2 .js.php.

Plugin Defender Security

La version 3+ n’a pas besoin de l’exécution PHP pour le worker. Si Empêcher l’exécution de PHP est activé, cela ne pose pas de problème pour le fichier .js de la v3. Si vous servez toujours OneSignalSDKWorker.js.php (v2), laissez Empêcher l’exécution de PHP désactivé. Allez dans Defender > Ajustements de sécurité et vérifiez le paramètre.

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

Autorisez le worker JavaScript v3. Utilisez ceci si votre hébergeur ou un plugin de sécurité bloque les fichiers dans wp-content/plugins/.
Les anciennes versions du plugin (v2) servent OneSignalSDKWorker.js.php depuis le même répertoire sdk_files. Ajoutez ce bloc uniquement si cette URL .js.php est encore utilisée :
Apache 2.2 utilise Order allow,deny avec Allow from all / Deny from all au lieu de Require. Renseignez-vous auprès de votre hébergeur ou adaptez-vous à la syntaxe déjà utilisée par 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.