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

# WordPress troubleshooting

> Guia abrangente para solucionar problemas comuns de configuração com Notificações Web Push do OneSignal no WordPress, incluindo compatibilidade de navegador (Chrome, Firefox, Safari), integração de plugin e resolução de conflitos de CDN ou cache.

## Problemas comuns de configuração

### Verificar sua configuração do dashboard OneSignal

Certifique-se de ter completado cada passo no [guia de configuração do WordPress](./wordpress):

* Selecione a opção **WordPress Plugin** ao criar seu app OneSignal
* Sua URL do Site deve corresponder exatamente à URL do navegador
  * Por exemplo, `https://example.com` **não** é o mesmo que `https://www.example.com`. Use uma versão consistentemente.
  * Apenas uma origem de site é suportada para push. Veja [Same-origin policy](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy).
* Certifique-se de ter adicionado pelo menos um prompt de permissão.

### Não adicione o código OneSignal manualmente

O plugin WordPress OneSignal **automaticamente** inclui o script de inicialização e Service Worker.

* **Não** adicione código JavaScript `init` do OneSignal ao seu site.
* **Não** use a [Configuração de Código Personalizado](./web-push-custom-code-setup) com o plugin WordPress. Se precisar personalizar o método `init`, **desinstale o plugin** e adicione o código e o Service Worker manualmente.

### Enviar notificação ao publicar post

Quando você publica um post, página ou tipo de post personalizado, o OneSignal pode enviar automaticamente uma notificação para seus assinantes.

<Frame caption="Metabox do OneSignal Push Notifications——arraste para reposicionar se necessário">
  <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 do OneSignal Push Notifications——arraste para reposicionar se necessário" width="3252" height="1674" data-path="images/web-push/onesignal-push-notifications-metabox-wordpress.png" />
</Frame>

Se você não vir a caixa de seleção **Enviar notificação quando o post for publicado ou atualizado**, verifique estes itens:

1. Verifique as metaboxes à direita e na parte inferior do editor. Você pode arrastar e soltar conforme necessário.
2. Verifique as Opções de Tela no topo do editor para garantir que a metabox **OneSignal Push Notifications** esteja marcada.

<Frame caption="Opções de Tela mostrando a metabox OneSignal Push Notifications marcada">
  <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="Opções de Tela mostrando a metabox OneSignal Push Notifications marcada" width="1896" height="330" data-path="images/web-push/wordpress-screen-options-onesignal-push-notifications-metabox-checked.png" />
</Frame>

3. Verifique se está usando um Tipo de Post Personalizado. Geralmente encontrado na URL como `post_type=your_custom_type`. Nesse caso, adicione o tipo de post personalizado ao campo **Tipos de Post Personalizados** nas [configurações do plugin WordPress OneSignal](./wordpress#add-a-custom-post-type-to-onesignal-wordpress-plugin).

<Frame caption="Exemplo de onde encontrar o nome do tipo de post personalizado">
  <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="Configurações do plugin WordPress OneSignal mostrando o campo Tipos de Post Personalizados" width="1154" height="894" data-path="images/web-push/wordpress-find-custom-post-types-field.png" />
</Frame>

***

## Como solucionar problemas do seu site

<Steps>
  <Step title="Verificar se o plugin está ativo e abrir ferramentas do desenvolvedor">
    Carregue seu site em uma janela de navegador normal (não anônimo) com o plugin habilitado.

    <Frame caption="Clique com o botão direito no seu site, clique em Inspecionar e abra a aba 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="Ferramentas de Desenvolvedor do navegador abertas com a aba Console selecionada em um 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="Verificar o console para erros OneSignal">
    Abra a aba **Console**, atualize a página e procure por quaisquer erros relacionados ao OneSignal em vermelho ou amarelo.
    Veja [Erros comuns do Console OneSignal](#common-onesignal-console-errors) para ajuda.
  </Step>

  <Step title="Verificar status de assinatura no navegador">
    Após a página terminar de carregar e você não ver erros do OneSignal no Console, cole:

    ```javascript JavaScript theme={null}
    OneSignal.User.PushSubscription.id
    ```

    Se o visitante estiver assinado, retorna uma string (o Subscription ID). Se não estiver assinado ou a assinatura ainda não estiver pronta, você pode ver **`null`** ou um valor vazio. Se você ver **`OneSignal is not defined`**, aguarde alguns segundos e tente novamente, ou primeiro corrija os erros do Console em [Erros comuns do Console OneSignal](#common-onesignal-console-errors)——o SDK pode ainda estar carregando via o loader diferido.

    <Frame caption="Encontre seu OneSignal Subscription ID no 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 do navegador mostrando o resultado da string do id PushSubscription do usuário OneSignal" width="1258" height="448" data-path="images/docs/96cdeebdc8888b5c49b6466bf6975a75fb9497f7e54d34f7da3d6c25b35250ae-Screenshot_2025-02-27_at_11.15.16_AM.png" />
    </Frame>
  </Step>

  <Step title="Verificar Subscription ID no dashboard OneSignal">
    No **dashboard do OneSignal**, vá para **Audience > Subscriptions** e procure pelo ID retornado acima.

    <Frame caption="Procure no seu dashboard OneSignal pelo Subscription ID.">
      <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="Campo de pesquisa de Subscriptions do dashboard OneSignal com busca de subscription ID" width="2726" height="780" data-path="images/docs/e3907be9912e3ed3a934c6968f2e6f9354af519b8c670d1f7de07f32e71a8a80-Screenshot_2025-02-27_at_11.18.06_AM.png" />
    </Frame>
  </Step>

  <Step title="Enviar uma notificação push de teste">
    Se a assinatura existe e o status é **Subscribed**, siga o [guia Push](./push) para enviar uma notificação.
    Se nada aparecer, veja [Notificações não mostradas](./notifications-not-shown-web-push) para correções específicas do navegador.
  </Step>
</Steps>

***

## Erros comuns do console OneSignal

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

<Frame caption="Erro de incompatibilidade de URL do 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 no console mostrando incompatibilidade de origem da configuração de web push" width="2090" height="192" data-path="images/docs/334686c64af6155f95d674d0cfd28a5b92739f3cae57382073365ec9206b7e7c-Screenshot_2025-02-27_at_11.35.59_AM.png" />
</Frame>

Sua URL do site no dashboard OneSignal não corresponde ao seu domínio real.
Certifique-se de que corresponde exatamente ao domínio que você vê no navegador.

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

O visitante recusou o prompt do navegador. Não aparecerá novamente até que um período de espera expire.
Veja [Prompts de permissão web](./permission-requests) para regras do navegador ou limpe os dados do site para tentar novamente imediatamente.

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

<Frame caption="Erro de inicialização duplicada do 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="Erro no console: o SDK web do OneSignal só pode ser inicializado uma vez" width="2164" height="182" data-path="images/docs/e88d53c6c92a546f188c06e14e1776da8ad63c658c64044b6a674802ce2a2277-Screenshot_2025-02-27_at_2.40.32_PM.png" />
</Frame>

Você está carregando OneSignal duas vezes. Remova código OneSignal adicionado manualmente se você está usando o plugin.

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

<Frame caption="Arquivo Service Worker ausente (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="Erro no console: instalação do service worker falhou com erro 403 ou 404" width="3364" height="200" data-path="images/docs/990e505-Screen_Shot_2020-02-01_at_9.31.44_PM.png" />
</Frame>

Certifique-se de que este arquivo está acessível (substitua `your-site.com` e ajuste o **nome real da pasta do plugin** se diferir do padrão):
`https://your-site.com/wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/OneSignalSDKWorker.js`

Se não, veja [Suporte comum de plugin](#common-plugin-support) para corrigir problemas de CDN ou cache.

***

## Suporte comum de plugin

CDNs e plugins de cache podem bloquear os arquivos necessários do OneSignal. Os caminhos abaixo assumem que o diretório do plugin é **`onesignal-free-web-push-notifications`**; ajuste se sua instalação usar um nome de pasta diferente.

### Autoptimize

Em **Excluded scripts**, adicione:

```
wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/(.*)
```

### WP Rocket

Em **CDN > Exclude Files From CDN**, adicione:

```
(.*)/onesignal-free-web-push-notifications/sdk_files/(.*)
```

### LiteSpeed Cache

Em **CDN > Exclude Path**, adicione:

```
(.*)/onesignal-free-web-push-notifications/sdk_files/(.*)
```

Então pressione salvar.

### WP Super Cache

1. Vá para **Settings > WP Super Cache > CDN**
2. Em **Exclude if substring**, inclua: `onesignal-free-web-push-notifications`
3. Clique em **Contents** > **Delete Cache**

### WP Engine

O WP Engine pode reescrever URLs de plugins via seu CDN. As regras de **HTML Post-Processing** são específicas de cada ambiente; o trecho abaixo é apenas um **exemplo**——confirme os caminhos com o [suporte do WP Engine](https://wpengine.com/support/) ou seu Portal do Usuário antes de aplicar.

No WP Engine **plugin > General Settings > HTML Post-Processing**, você pode precisar de regras similares às seguintes. Substitua cada placeholder com os valores do **seu** site e hostname do CDN do WP Engine:

| Placeholder            | Substituir por                                                                              |
| ---------------------- | ------------------------------------------------------------------------------------------- |
| `YOURSITEHERE`         | Seu domínio base (segmento de regex), ex. `example` para `example.com`                      |
| `mywpenginehandleHere` | O nome da sua instalação WP Engine (subdomínio antes de `.wpengine.com`)                    |
| `wpengineCDNpathHere`  | Seu segmento de caminho NetDNA / CDN do WP Engine (frequentemente mostrado nas URLs de CDN) |
| `mywebsiteHere`        | A origem do seu site ativo sem caminho, 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. Vá para **Performance > CDN**
2. Em **Rejected files**, adicione:

```
{plugins_dir}/onesignal-free-web-push-notifications/sdk_files/*
```

<Frame caption="Configurações de exclusão 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="Lista de arquivos rejeitados do CDN do W3 Total Cache incluindo o caminho sdk_files do OneSignal" width="1071" height="494" data-path="images/docs/64ad121-Screen_Shot_2020-03-02_at_7.36.18_PM.png" />
</Frame>

### BunnyCDN

Exclua *onesignal* nos CDN Excluded Paths do plugin.

<Frame caption="Exemplo de exclusão 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="Caminhos excluídos do plugin WordPress do BunnyCDN incluindo onesignal" width="1830" height="518" data-path="images/docs/025f46c1159398106997c97a61ad26ffe4ecd6f7a068dcd6e3f743762e6e697b-Screenshot_2024-11-19_at_9.34.35_AM.png" />
</Frame>

### CDN Enabler

Em Settings > CDN Enabler, adicione isto a "Exclusions":

```
onesignal-free-web-push-notifications
```

### PressCDN

Em Exclude Directories, adicione:

```
/wp-content/plugins/onesignal-free-web-push-notifications/
```

### Breeze

Em **Settings > CDN > Exclude Content**, adicione:

```
/onesignal-free-web-push-notifications/sdk_files/
```

<Frame caption="Exemplo de exclusão 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="Campo de exclusão de conteúdo CDN do Breeze com o caminho sdk_files do OneSignal" width="1219" height="552" data-path="images/docs/e0ea4ad-Screen_Shot_2020-06-30_at_7.59.26_PM.png" />
</Frame>

### Hummingbird Pro

Vá para **Hummingbird > Asset Optimization**. Em **JavaScript** (e **CSS** se os assets do OneSignal aparecerem lá), localize arquivos cujas URLs contenham **`onesignal-free-web-push-notifications`** ou **`OneSignalSDK`**. **Exclua**-os de minificação/combinação/adiamento, ou mude esses assets para otimização **Não carregar** para que o plugin não os reescreva ou adie.

<Frame caption="Asset Optimization do 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="Lista de otimização de assets do Hummingbird Pro mostrando exclusões de scripts" width="476" height="90" data-path="images/docs/a888a91-PastedGraphic-4_3.png" />
</Frame>

### Sucuri

Siga o [guia de Whitelist do Sucuri](https://kb.sucuri.net/firewall/Whitelist+and+Blacklist/whitelist-file-folder) para permitir arquivos OneSignal.

### Solid Security (anteriormente iThemes Security)

Desabilite **Disable PHP in Plugins** (ou equivalente) em **System Tweaks** para que `OneSignalSDKWorker.js.php` possa executar.

<Frame caption="Configuração 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="Configuração do plugin de segurança para permitir PHP em plugins desmarcada ou desabilitada" width="818" height="188" data-path="images/docs/f78a21b-php-in-plugins.jpg" />
</Frame>

### Defender Security plugin

Não habilite "Prevent PHP execution".
Vá para Defender Plugin > Security Tweaks e verifique se a configuração está desabilitada.

### Exemplo .htaccess para acesso 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+ frequentemente usa `Require all denied` / `Require all granted` em vez de `Order allow,deny`. Consulte seu host ou ajuste as regras para corresponder à versão do Apache do seu servidor.
</Note>

***

## Lentidão do servidor ou site inacessível após enviar notificações

Se seu servidor experimenta lentidão ou fica inacessível após enviar notificações, frequentemente é devido ao aumento de carga de recursos de notificação ou recursos limitados do servidor.

### Não hospede seus próprios ícones de notificação

Evite auto-hospedar imagens usadas em notificações. Quando você hospeda seus próprios ícones ou imagens de notificação, seu servidor pode ficar sobrecarregado já que o navegador de cada destinatário tenta buscar a imagem ao mesmo tempo que uma notificação é enviada.
Para reduzir a carga do servidor, use soluções de hospedagem de imagem ou serviços CDN otimizados para acesso de alta concorrência.

### Considere atualizar recursos de hospedagem

Se problemas de servidor persistirem, você pode precisar:

* **Atualizar seu plano de hospedagem:** Maior largura de banda ou hospedagem mais poderosa pode ser necessária para lidar com envios de notificação em larga escala.
* **Consultar seu provedor de hospedagem:** Seu provedor pode oferecer insights ou otimizações específicas para seu ambiente de hospedagem.

***
