> ## 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トラブルシューティング

> WordPress上のOneSignal Web Push Notificationsの一般的なセットアップの問題をトラブルシューティングするための包括的なガイド。ブラウザ互換性（Chrome、Firefox、Safari）、プラグイン統合、CDNまたはキャッシュの競合の解決を含みます。

## 一般的なセットアップの問題

### OneSignalダッシュボードのセットアップを確認

[WordPressセットアップガイド](./wordpress)の各手順を完了していることを確認してください：

* OneSignalアプリを作成するときに**WordPress Plugin**オプションを選択します
* サイトURLはブラウザのURLと完全に一致する必要があります
  * たとえば、`https://example.com`は`https://www.example.com`と**同じではありません**。1つのバージョンを一貫して使用してください。
  * プッシュでは1つのサイトオリジンのみがサポートされます。[Same-origin policy](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy)を参照してください。
* 少なくとも1つの権限プロンプトを追加していることを確認してください。

### OneSignalコードを手動で追加しないでください

OneSignal WordPressプラグインは、初期化スクリプトとService Workerを**自動的に**含めます。

* OneSignal JavaScriptの `init` コードをサイトに追加**しないでください**。
* WordPressプラグインと[カスタムコードセットアップ](./web-push-custom-code-setup)を**併用しないでください**。`init` メソッドをカスタマイズする必要がある場合は、**プラグインをアンインストール**してからコードとService Workerを手動で追加してください。

### 投稿公開時に通知を送信する

投稿、ページ、またはカスタム投稿タイプを公開すると、OneSignalはサブスクライバーに自動的に通知を送信できます。

<Frame caption="OneSignal Push Notificationsメタボックス——必要に応じてドラッグして位置を変更できます">
  <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="OneSignal Push Notificationsメタボックス——必要に応じてドラッグして位置を変更できます" width="3252" height="1674" data-path="images/web-push/onesignal-push-notifications-metabox-wordpress.png" />
</Frame>

**投稿が公開または更新されたときに通知を送信する**チェックボックスが表示されない場合は、次の項目を確認してください：

1. エディターの右側と下部にあるメタボックスを確認してください。必要に応じてドラッグ＆ドロップできます。
2. エディター上部の**画面オプション**を確認し、**OneSignal Push Notifications**メタボックスがチェックされていることを確認してください。

<Frame caption="OneSignal Push Notificationsメタボックスがチェックされた画面オプション">
  <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="OneSignal Push Notificationsメタボックスがチェックされた画面オプション" width="1896" height="330" data-path="images/web-push/wordpress-screen-options-onesignal-push-notifications-metabox-checked.png" />
</Frame>

3. カスタム投稿タイプを使用しているか確認してください。通常、URLに `post_type=your_custom_type` として表示されます。使用している場合は、[OneSignal WordPressプラグイン設定](./wordpress#add-a-custom-post-type-to-onesignal-wordpress-plugin)の**カスタム投稿タイプ**フィールドにカスタム投稿タイプを追加してください。

<Frame caption="カスタム投稿タイプ名の確認場所の例">
  <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="OneSignal WordPressプラグイン設定のカスタム投稿タイプフィールド" width="1154" height="894" data-path="images/web-push/wordpress-find-custom-post-types-field.png" />
</Frame>

***

## サイトのトラブルシューティング方法

<Steps>
  <Step title="プラグインがアクティブであることを確認し、開発者ツールを開く">
    プラグインを有効にして、通常の（シークレットモードではない）ブラウザウィンドウでサイトを読み込みます。

    <Frame caption="サイトを右クリックし、検証をクリックして、コンソールタブを開きます。">
      <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="WordPressサイトでコンソールタブが選択された状態のブラウザ開発者ツール" width="1814" height="1024" data-path="images/docs/28c27ab14a40621fbcc2c4168d49a2bf72088536a669be59c160b7a30a7fcd95-Screenshot_2025-02-27_at_10.39.27_AM.png" />
    </Frame>
  </Step>

  <Step title="OneSignalエラーのコンソールを確認">
    **Console**タブを開き、ページを更新し、赤または黄色のOneSignal関連のエラーを探します。
    ヘルプについては、[一般的なOneSignalコンソールエラー](#common-onesignal-console-errors)を参照してください。
  </Step>

  <Step title="ブラウザでサブスクリプションステータスを確認">
    ページの読み込みが完了し、コンソールにOneSignalのエラーが表示されていないことを確認してから、次を貼り付けます：

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

    訪問者がサブスクライブしている場合、文字列（サブスクリプションID）を返します。サブスクライブしていない、またはサブスクリプションがまだ準備できていない場合は、**`null`** または空の値が表示されることがあります。**`OneSignal is not defined`** と表示された場合は、数秒待ってから再試行するか、先に[一般的なOneSignalコンソールエラー](#common-onesignal-console-errors)のコンソールエラーを修正してください——SDKが遅延ローダーを介してまだ読み込み中の可能性があります。

    <Frame caption="コンソールでOneSignalサブスクリプションIDを見つける。">
      <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="ブラウザコンソールにOneSignalユーザーPushSubscription idの文字列結果が表示されている" width="1258" height="448" data-path="images/docs/96cdeebdc8888b5c49b6466bf6975a75fb9497f7e54d34f7da3d6c25b35250ae-Screenshot_2025-02-27_at_11.15.16_AM.png" />
    </Frame>
  </Step>

  <Step title="OneSignalダッシュボードでサブスクリプションIDを確認">
    **OneSignalダッシュボード**で **Audience > Subscriptions** に移動し、上記で返されたIDを検索します。

    <Frame caption="OneSignalダッシュボードでサブスクリプション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="サブスクリプションIDルックアップを示すOneSignalダッシュボードのSubscriptions検索フィールド" width="2726" height="780" data-path="images/docs/e3907be9912e3ed3a934c6968f2e6f9354af519b8c670d1f7de07f32e71a8a80-Screenshot_2025-02-27_at_11.18.06_AM.png" />
    </Frame>
  </Step>

  <Step title="テストプッシュ通知を送信">
    サブスクリプションが存在し、ステータスが**Subscribed**の場合、[Pushガイド](./push)に従って通知を送信します。
    何も表示されない場合は、ブラウザ固有の修正については[通知が表示されない](./notifications-not-shown-web-push)を参照してください。
  </Step>
</Steps>

***

## 一般的なOneSignalコンソールエラー

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

<Frame caption="サイトURLの不一致エラー。">
  <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にウェブプッシュ設定のオリジン不一致が表示されている" width="2090" height="192" data-path="images/docs/334686c64af6155f95d674d0cfd28a5b92739f3cae57382073365ec9206b7e7c-Screenshot_2025-02-27_at_11.35.59_AM.png" />
</Frame>

OneSignalダッシュボードのサイトURLが実際のドメインと一致しません。
ブラウザに表示されるドメインと完全に一致することを確認してください。

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

訪問者がブラウザのプロンプトを拒否しました。クールダウン期間が終了するまで再度表示されません。
ブラウザルールについては[Web権限プロンプト](./permission-requests)を参照するか、サイトデータをクリアしてすぐに再試行してください。

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

<Frame caption="重複する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="コンソールエラー：OneSignalウェブSDKは一度しか初期化できない" width="2164" height="182" data-path="images/docs/e88d53c6c92a546f188c06e14e1776da8ad63c658c64044b6a674802ce2a2277-Screenshot_2025-02-27_at_2.40.32_PM.png" />
</Frame>

OneSignalを2回読み込んでいます。プラグインを使用している場合は、手動で追加したOneSignalコードを削除してください。

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

<Frame caption="Service Workerファイルが見つかりません（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="コンソールエラー：Service Workerのインストールが403または404エラーで失敗した" width="3364" height="200" data-path="images/docs/990e505-Screen_Shot_2020-02-01_at_9.31.44_PM.png" />
</Frame>

このファイルがアクセス可能であることを確認してください（`your-site.com` を実際のドメインに置き換え、デフォルトと異なる場合は**実際のプラグインフォルダ名**に合わせてください）：
`https://your-site.com/wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/OneSignalSDKWorker.js`

そうでない場合は、CDNまたはキャッシュの問題を修正するために[一般的なプラグインサポート](#common-plugin-support)を参照してください。

***

## 一般的なプラグインサポート

CDNとキャッシュプラグインは、OneSignalの必要なファイルをブロックする可能性があります。以下のパスはプラグインディレクトリが **`onesignal-free-web-push-notifications`** であることを前提としています。インストールで異なるフォルダ名を使用している場合は適宜調整してください。

### Autoptimize

**Excluded scripts**に追加：

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

### WP Rocket

**CDN > Exclude Files From CDN**の下に追加：

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

### LiteSpeed Cache

**CDN > Exclude Path**の下に追加：

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

次に保存を押します。

### WP Super Cache

1. **Settings > WP Super Cache > CDN**に移動
2. **Exclude if substring**に含める：`onesignal-free-web-push-notifications`
3. **Contents** > **Delete Cache**をクリック

### WP Engine

WP EngineはそのCDNを通じてプラグインURLを書き換える場合があります。**HTML後処理**ルールは環境ごとに異なります。以下のスニペットは**あくまで例**です——適用前に[WP Engineサポート](https://wpengine.com/support/)またはユーザーポータルでパスを確認してください。

WP Engine **plugin > General Settings > HTML Post-Processing**で、以下のようなルールが必要になる場合があります。各プレースホルダーを**あなたの**サイトとWP Engine CDNホスト名の実際の値に置き換えてください：

| プレースホルダー               | 置き換える内容                                           |
| ---------------------- | ------------------------------------------------- |
| `YOURSITEHERE`         | 裸のドメイン（正規表現セグメント）、例：`example.com` の場合は `example`  |
| `mywpenginehandleHere` | WP Engineのインストール名（`.wpengine.com` の前のサブドメイン）      |
| `wpengineCDNpathHere`  | WP EngineのNetDNA / CDNパスセグメント（CDN URLに表示されることが多い） |
| `mywebsiteHere`        | パスを含まないライブサイトのオリジン、例：`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. **Performance > CDN**に移動
2. **Rejected files**の下に追加：

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

<Frame caption="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="W3 Total Cache CDNの拒否ファイルリストにOneSignal sdk_filesパスが含まれている" width="1071" height="494" data-path="images/docs/64ad121-Screen_Shot_2020-03-02_at_7.36.18_PM.png" />
</Frame>

### BunnyCDN

プラグインのCDN Excluded Pathsで*onesignal*を除外します。

<Frame caption="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="BunnyCDN WordPressプラグインの除外パスにonesignalが含まれている" width="1830" height="518" data-path="images/docs/025f46c1159398106997c97a61ad26ffe4ecd6f7a068dcd6e3f743762e6e697b-Screenshot_2024-11-19_at_9.34.35_AM.png" />
</Frame>

### CDN Enabler

Settings > CDN Enablerで、「Exclusions」にこれを追加：

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

### PressCDN

Exclude Directoriesに追加：

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

### Breeze

**Settings > CDN > Exclude Content**に追加：

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

<Frame caption="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="BreezeのCDN除外コンテンツフィールドにOneSignal sdk_filesパスが含まれている" width="1219" height="552" data-path="images/docs/e0ea4ad-Screen_Shot_2020-06-30_at_7.59.26_PM.png" />
</Frame>

### Hummingbird Pro

**Hummingbird > Asset Optimization**に移動します。**JavaScript**（OneSignalアセットが含まれる場合は**CSS**も）の下で、URLに **`onesignal-free-web-push-notifications`** または **`OneSignalSDK`** を含むファイルを見つけます。ミニファイ/結合/遅延から**除外**するか、それらのアセットを**読み込まない**最適化に切り替えて、プラグインがそれらを書き換えたり遅延させたりしないようにします。

<Frame caption="Hummingbird Pro Asset Optimization。">
  <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="スクリプト除外を表示しているHummingbird Proアセット最適化リスト" width="476" height="90" data-path="images/docs/a888a91-PastedGraphic-4_3.png" />
</Frame>

### Sucuri

OneSignalファイルを許可するには、[SucuriのWhitelistガイド](https://kb.sucuri.net/firewall/Whitelist+and+Blacklist/whitelist-file-folder)に従ってください。

### Solid Security（旧iThemes Security）

`OneSignalSDKWorker.js.php` が動作できるよう、**System Tweaks**で**Disable PHP in Plugins**（または同等のオプション）を無効にします。

<Frame caption="iThemes PHPプラグイン設定。">
  <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="セキュリティプラグイン設定でプラグインのPHP許可が未チェックまたは無効になっている" width="818" height="188" data-path="images/docs/f78a21b-php-in-plugins.jpg" />
</Frame>

### Defender Security plugin

「Prevent PHP execution」を有効にしないでください。
Defender Plugin > Security Tweaksに移動し、設定が無効になっていることを確認します。

### Service Workerアクセス用の.htaccessの例

```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+ では `Order allow,deny` の代わりに `Require all denied` / `Require all granted` を使用することが多いです。ホストに確認するか、サーバーのApacheバージョンに合わせてルールを調整してください。
</Note>

***

## 通知送信後のサーバー速度低下またはサイトにアクセスできない

通知を送信した後にサーバーが速度低下したり、アクセスできなくなったりする場合、多くの場合、通知アセットからの負荷の増加またはサーバーリソースの制限が原因です。

### 独自の通知アイコンをホストしないでください

通知で使用される画像を自己ホストしないでください。独自の通知アイコンまたは画像をホストすると、通知が送信されると同時にすべての受信者のブラウザが画像を取得しようとするため、サーバーが過負荷になる可能性があります。
サーバーの負担を軽減するには、高並行アクセス用に最適化された画像ホスティングソリューションまたはCDNサービスを使用してください。

### ホスティングリソースのアップグレードを検討してください

サーバーの問題が続く場合は、次のことが必要になる場合があります：

* **ホスティングプランをアップグレード：** 大規模な通知送信を処理するには、より高い帯域幅またはより強力なホスティングが必要になる場合があります。
* **ホスティングプロバイダーに相談：** プロバイダーは、ホスティング環境に固有の洞察または最適化を提供できます。

***
