> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Dépannage WordPress

> Guide complet pour dépanner les problèmes de configuration courants avec les notifications Web Push OneSignal sur WordPress, incluant la compatibilité des navigateurs (Chrome, Firefox, Safari), l'intégration du plugin et la résolution des conflits CDN ou de cache.

## 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](./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](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy).
* 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é](./web-push-custom-code-setup) 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.

<Frame caption="Metabox OneSignal Push Notifications——faites-la glisser pour la repositionner si nécessaire">
  <img src="https://mintcdn.com/onesignal/kAXbp86YqdTAbPtE/images/web-push/onesignal-push-notifications-metabox-wordpress.png?fit=max&auto=format&n=kAXbp86YqdTAbPtE&q=85&s=428a477e16f85fa50f9ff69678304340" alt="Metabox OneSignal Push Notifications——faites-la glisser pour la repositionner si nécessaire" width="3252" height="1674" data-path="images/web-push/onesignal-push-notifications-metabox-wordpress.png" />
</Frame>

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.

<Frame caption="Options d'écran montrant la metabox OneSignal Push Notifications cochée">
  <img src="https://mintcdn.com/onesignal/kAXbp86YqdTAbPtE/images/web-push/wordpress-screen-options-onesignal-push-notifications-metabox-checked.png?fit=max&auto=format&n=kAXbp86YqdTAbPtE&q=85&s=fd11371fd17a5d66fec241bcc2ff5084" alt="Options d'écran montrant la metabox OneSignal Push Notifications cochée" width="1896" height="330" data-path="images/web-push/wordpress-screen-options-onesignal-push-notifications-metabox-checked.png" />
</Frame>

3. 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](./wordpress#add-a-custom-post-type-to-onesignal-wordpress-plugin).

<Frame caption="Exemple d'emplacement du nom du type d'article personnalisé">
  <img src="https://mintcdn.com/onesignal/kAXbp86YqdTAbPtE/images/web-push/wordpress-find-custom-post-types-field.png?fit=max&auto=format&n=kAXbp86YqdTAbPtE&q=85&s=3239d37ca790551c1fd3685f8424f319" alt="Paramètres du plugin WordPress OneSignal montrant le champ Types d'articles personnalisés" width="1154" height="894" data-path="images/web-push/wordpress-find-custom-post-types-field.png" />
</Frame>

***

## Comment dépanner votre site

<Steps>
  <Step title="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é.

    <Frame caption="Faites un clic droit sur votre site, cliquez sur Inspecter et ouvrez l'onglet Console.">
      <img src="https://mintcdn.com/onesignal/3zq1PvSaqvUE2bIx/images/docs/28c27ab14a40621fbcc2c4168d49a2bf72088536a669be59c160b7a30a7fcd95-Screenshot_2025-02-27_at_10.39.27_AM.png?fit=max&auto=format&n=3zq1PvSaqvUE2bIx&q=85&s=38d793be0784bcfd8acee745e3757dcf" alt="Outils de développement du navigateur ouverts avec l'onglet Console sélectionné sur un site WordPress" width="1814" height="1024" data-path="images/docs/28c27ab14a40621fbcc2c4168d49a2bf72088536a669be59c160b7a30a7fcd95-Screenshot_2025-02-27_at_10.39.27_AM.png" />
    </Frame>
  </Step>

  <Step title="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](#common-onesignal-console-errors) pour obtenir de l'aide.
  </Step>

  <Step title="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 JavaScript theme={null}
    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](#common-onesignal-console-errors)——le SDK est peut-être encore en cours de chargement via le chargeur différé.

    <Frame caption="Trouvez votre ID d'abonnement OneSignal dans la console.">
      <img src="https://mintcdn.com/onesignal/tc0EvmtSSX56SX0c/images/docs/96cdeebdc8888b5c49b6466bf6975a75fb9497f7e54d34f7da3d6c25b35250ae-Screenshot_2025-02-27_at_11.15.16_AM.png?fit=max&auto=format&n=tc0EvmtSSX56SX0c&q=85&s=f396b737c9cd56257c59d6515086aec6" alt="Console du navigateur affichant le résultat de la chaîne d'id PushSubscription de l'utilisateur OneSignal" width="1258" height="448" data-path="images/docs/96cdeebdc8888b5c49b6466bf6975a75fb9497f7e54d34f7da3d6c25b35250ae-Screenshot_2025-02-27_at_11.15.16_AM.png" />
    </Frame>
  </Step>

  <Step title="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.

    <Frame caption="Recherchez votre ID d'abonnement dans le tableau de bord OneSignal.">
      <img src="https://mintcdn.com/onesignal/Z6xkXGfmy814If53/images/docs/e3907be9912e3ed3a934c6968f2e6f9354af519b8c670d1f7de07f32e71a8a80-Screenshot_2025-02-27_at_11.18.06_AM.png?fit=max&auto=format&n=Z6xkXGfmy814If53&q=85&s=76657b84cf0f8f29fa03a776f26cf66c" alt="Champ de recherche Subscriptions du tableau de bord OneSignal avec recherche d'ID d'abonnement" width="2726" height="780" data-path="images/docs/e3907be9912e3ed3a934c6968f2e6f9354af519b8c670d1f7de07f32e71a8a80-Screenshot_2025-02-27_at_11.18.06_AM.png" />
    </Frame>
  </Step>

  <Step title="Envoyez une notification push de test">
    Si l'abonnement existe et le statut est **Abonné**, suivez le [guide Push](./push) pour envoyer une notification.
    Si rien n'apparaît, voir [Notifications non affichées](./notifications-not-shown-web-push) pour les correctifs spécifiques au navigateur.
  </Step>
</Steps>

***

## Erreurs de console OneSignal courantes

### <Danger>SdkInitError: OneSignal: This web push config can only be used on ... Your current origin is ...</Danger>

<Frame caption="Erreur de non-concordance de l'URL du site.">
  <img src="https://mintcdn.com/onesignal/_KaXe4GQkxsEfa17/images/docs/334686c64af6155f95d674d0cfd28a5b92739f3cae57382073365ec9206b7e7c-Screenshot_2025-02-27_at_11.35.59_AM.png?fit=max&auto=format&n=_KaXe4GQkxsEfa17&q=85&s=2d8d0656875180f0b77dd88795a4bced" alt="SdkInitError en console indiquant une discordance d'origine de la configuration web push" width="2090" height="192" data-path="images/docs/334686c64af6155f95d674d0cfd28a5b92739f3cae57382073365ec9206b7e7c-Screenshot_2025-02-27_at_11.35.59_AM.png" />
</Frame>

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.

### <Danger>PushPermissionNotGrantedError: The user dismissed the permission prompt.</Danger>

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](./permission-requests) pour les règles du navigateur ou effacez les données du site pour réessayer immédiatement.

### <Danger>The OneSignal web SDK can only be initialized once.</Danger>

<Frame caption="Erreur d'initialisation en double de OneSignal.">
  <img src="https://mintcdn.com/onesignal/Xl2NHJvxakrK4JbL/images/docs/e88d53c6c92a546f188c06e14e1776da8ad63c658c64044b6a674802ce2a2277-Screenshot_2025-02-27_at_2.40.32_PM.png?fit=max&auto=format&n=Xl2NHJvxakrK4JbL&q=85&s=cc2d3a0773b894f423f0d6db598a37a1" alt="Erreur console : le SDK web OneSignal ne peut être initialisé qu'une seule fois" width="2164" height="182" data-path="images/docs/e88d53c6c92a546f188c06e14e1776da8ad63c658c64044b6a674802ce2a2277-Screenshot_2025-02-27_at_2.40.32_PM.png" />
</Frame>

Vous chargez OneSignal deux fois. Supprimez le code OneSignal ajouté manuellement si vous utilisez le plugin.

### <Danger>Installing service worker failed.. 403 or 404 error</Danger>

<Frame caption="Fichier Service Worker manquant (403/404).">
  <img src="https://mintcdn.com/onesignal/tc0EvmtSSX56SX0c/images/docs/990e505-Screen_Shot_2020-02-01_at_9.31.44_PM.png?fit=max&auto=format&n=tc0EvmtSSX56SX0c&q=85&s=0d719e6b826477612901d07e1d505f15" alt="Erreur console : installation du service worker échouée avec une erreur 403 ou 404" width="3364" height="200" data-path="images/docs/990e505-Screen_Shot_2020-02-01_at_9.31.44_PM.png" />
</Frame>

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](#common-plugin-support) 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](https://wpengine.com/support/) 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                                                                         |
| ---------------------- | ------------------------------------------------------------------------------------- |
| `YOURSITEHERE`         | Votre domaine nu (segment regex), ex. `example` pour `example.com`                    |
| `mywpenginehandleHere` | Le nom de votre installation WP Engine (sous-domaine avant `.wpengine.com`)           |
| `wpengineCDNpathHere`  | Votre segment de chemin NetDNA / CDN de WP Engine (souvent visible dans les URLs CDN) |
| `mywebsiteHere`        | L'origine de votre site actif sans chemin, ex. `https://example.com`                  |

```text text theme={null}
#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/*
```

<Frame caption="Paramètres d'exclusion W3 Total Cache.">
  <img src="https://mintcdn.com/onesignal/MUgio66t0sYhGEvj/images/docs/64ad121-Screen_Shot_2020-03-02_at_7.36.18_PM.png?fit=max&auto=format&n=MUgio66t0sYhGEvj&q=85&s=1b7d1eb06d32c8beef4026a70111dcdb" alt="Liste des fichiers CDN rejetés de W3 Total Cache incluant le chemin sdk_files de OneSignal" width="1071" height="494" data-path="images/docs/64ad121-Screen_Shot_2020-03-02_at_7.36.18_PM.png" />
</Frame>

### BunnyCDN

Excluez *onesignal* dans les chemins CDN exclus du plugin.

<Frame caption="Exemple d'exclusion BunnyCDN.">
  <img src="https://mintcdn.com/onesignal/ciRrThfP6xMpI7GY/images/docs/025f46c1159398106997c97a61ad26ffe4ecd6f7a068dcd6e3f743762e6e697b-Screenshot_2024-11-19_at_9.34.35_AM.png?fit=max&auto=format&n=ciRrThfP6xMpI7GY&q=85&s=d893359f9da931a9db313391a58cf1ca" alt="Chemins exclus du plugin WordPress BunnyCDN incluant onesignal" width="1830" height="518" data-path="images/docs/025f46c1159398106997c97a61ad26ffe4ecd6f7a068dcd6e3f743762e6e697b-Screenshot_2024-11-19_at_9.34.35_AM.png" />
</Frame>

### 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/
```

<Frame caption="Exemple d'exclusion Breeze.">
  <img src="https://mintcdn.com/onesignal/Z6xkXGfmy814If53/images/docs/e0ea4ad-Screen_Shot_2020-06-30_at_7.59.26_PM.png?fit=max&auto=format&n=Z6xkXGfmy814If53&q=85&s=c12fed5c62e460beec878171e940928d" alt="Champ d'exclusion de contenu CDN Breeze avec le chemin sdk_files de OneSignal" width="1219" height="552" data-path="images/docs/e0ea4ad-Screen_Shot_2020-06-30_at_7.59.26_PM.png" />
</Frame>

### 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.

<Frame caption="Optimisation des ressources Hummingbird Pro.">
  <img src="https://mintcdn.com/onesignal/RWtLFPeffHrC81wI/images/docs/a888a91-PastedGraphic-4_3.png?fit=max&auto=format&n=RWtLFPeffHrC81wI&q=85&s=e376446d64ec7fa8a8067ac7e8e551ba" alt="Liste d'optimisation des ressources Hummingbird Pro montrant les exclusions de scripts" width="476" height="90" data-path="images/docs/a888a91-PastedGraphic-4_3.png" />
</Frame>

### Sucuri

Suivez le [guide de liste blanche de Sucuri](https://kb.sucuri.net/firewall/Whitelist+and+Blacklist/whitelist-file-folder) 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.

<Frame caption="Paramètre de plugin PHP iThemes.">
  <img src="https://mintcdn.com/onesignal/KSCNwSpBCNSQ8xdF/images/docs/f78a21b-php-in-plugins.jpg?fit=max&auto=format&n=KSCNwSpBCNSQ8xdF&q=85&s=ee27f7a8662e6f8e2b001056b22aa904" alt="Paramètre du plugin de sécurité pour autoriser PHP dans les plugins décoché ou désactivé" width="818" height="188" data-path="images/docs/f78a21b-php-in-plugins.jpg" />
</Frame>

### 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

```apache theme={null}
<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>
```

<Note>
  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.
</Note>

***

## 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.

***
