一般的なセットアップの問題
OneSignalダッシュボードのセットアップを確認
WordPressセットアップガイドの各手順を完了していることを確認してください:- OneSignalアプリを作成するときにWordPress Pluginオプションを選択します
- サイトURLはブラウザのURLと完全に一致する必要があります
- たとえば、
https://example.comはhttps://www.example.comと同じではありません。1つのバージョンを一貫して使用してください。 - プッシュでは1つのサイトオリジンのみがサポートされます。Same-origin policyを参照してください。
- たとえば、
- 少なくとも1つの権限プロンプトを追加していることを確認してください。
OneSignalコードを手動で追加しないでください
OneSignal WordPressプラグインは、初期化スクリプトとService Workerを自動的に含めます。- OneSignal JavaScriptの
initコードをサイトに追加しないでください。 - WordPressプラグインとカスタムコードセットアップを併用しないでください。
initメソッドをカスタマイズする必要がある場合は、プラグインをアンインストールしてからコードとService Workerを手動で追加してください。
投稿公開時に通知を送信する
投稿、ページ、またはカスタム投稿タイプを公開すると、OneSignalはサブスクライバーに自動的に通知を送信できます。
OneSignal Push Notificationsメタボックス——必要に応じてドラッグして位置を変更できます
- エディターの右側と下部にあるメタボックスを確認してください。必要に応じてドラッグ&ドロップできます。
- エディター上部の画面オプションを確認し、OneSignal Push Notificationsメタボックスがチェックされていることを確認してください。

OneSignal Push Notificationsメタボックスがチェックされた画面オプション
- カスタム投稿タイプを使用しているか確認してください。通常、URLに
post_type=your_custom_typeとして表示されます。使用している場合は、OneSignal WordPressプラグイン設定のカスタム投稿タイプフィールドにカスタム投稿タイプを追加してください。

カスタム投稿タイプ名の確認場所の例
サイトのトラブルシューティング方法
プラグインがアクティブであることを確認し、開発者ツールを開く

サイトを右クリックし、検証をクリックして、コンソールタブを開きます。
OneSignalエラーのコンソールを確認
ブラウザでサブスクリプションステータスを確認
null または空の値が表示されることがあります。OneSignal is not defined と表示された場合は、数秒待ってから再試行するか、先に一般的なOneSignalコンソールエラーのコンソールエラーを修正してください——SDKが遅延ローダーを介してまだ読み込み中の可能性があります。
コンソールでOneSignalサブスクリプションIDを見つける。
OneSignalダッシュボードでサブスクリプションIDを確認

OneSignalダッシュボードでサブスクリプションIDを検索します。
一般的なOneSignalコンソールエラー
SdkInitError: OneSignal: This web push config can only be used on … Your current origin is …

サイトURLの不一致エラー。
PushPermissionNotGrantedError: The user dismissed the permission prompt.
訪問者がブラウザのプロンプトを拒否しました。クールダウン期間が終了するまで再度表示されません。
ブラウザルールについてはWeb権限プロンプトを参照するか、サイトデータをクリアしてすぐに再試行してください。
The OneSignal web SDK can only be initialized once.

重複するOneSignal初期化エラー。
Installing service worker failed.. 403 or 404 error

Service Workerファイルが見つかりません(403/404)。
your-site.com を実際のドメインに置き換え、デフォルトと異なる場合は実際のプラグインフォルダ名に合わせてください):
https://your-site.com/wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/OneSignalSDKWorker.js
そうでない場合は、CDNまたはキャッシュの問題を修正するために一般的なプラグインサポートを参照してください。
一般的なプラグインサポート
CDNとキャッシュプラグインは、OneSignalの必要なファイルをブロックする可能性があります。以下のパスはプラグインディレクトリがonesignal-free-web-push-notifications であることを前提としています。インストールで異なるフォルダ名を使用している場合は適宜調整してください。
Autoptimize
Excluded scriptsに追加:WP Rocket
CDN > Exclude Files From CDNの下に追加:LiteSpeed Cache
CDN > Exclude Pathの下に追加:WP Super Cache
- Settings > WP Super Cache > CDNに移動
- Exclude if substringに含める:
onesignal-free-web-push-notifications - Contents > Delete Cacheをクリック
WP Engine
WP EngineはそのCDNを通じてプラグインURLを書き換える場合があります。HTML後処理ルールは環境ごとに異なります。以下のスニペットはあくまで例です——適用前にWP Engineサポートまたはユーザーポータルでパスを確認してください。 WP Engine plugin > General Settings > HTML Post-Processingで、以下のようなルールが必要になる場合があります。各プレースホルダーをあなたのサイトとWP Engine CDNホスト名の実際の値に置き換えてください:W3 Total Cache
- Performance > CDNに移動
- Rejected filesの下に追加:

W3 Total Cache除外設定。
BunnyCDN
プラグインのCDN Excluded Pathsでonesignalを除外します。
BunnyCDN除外の例。
CDN Enabler
Settings > CDN Enablerで、「Exclusions」にこれを追加:PressCDN
Exclude Directoriesに追加:Breeze
Settings > CDN > Exclude Contentに追加:
Breeze除外の例。
Hummingbird Pro
Hummingbird > Asset Optimizationに移動します。JavaScript(OneSignalアセットが含まれる場合はCSSも)の下で、URLにonesignal-free-web-push-notifications または OneSignalSDK を含むファイルを見つけます。ミニファイ/結合/遅延から除外するか、それらのアセットを読み込まない最適化に切り替えて、プラグインがそれらを書き換えたり遅延させたりしないようにします。

Hummingbird Pro Asset Optimization。
Sucuri
OneSignalファイルを許可するには、SucuriのWhitelistガイドに従ってください。Solid Security(旧iThemes Security)
OneSignalSDKWorker.js.php が動作できるよう、System TweaksでDisable PHP in Plugins(または同等のオプション)を無効にします。

iThemes PHPプラグイン設定。
Defender Security plugin
「Prevent PHP execution」を有効にしないでください。 Defender Plugin > Security Tweaksに移動し、設定が無効になっていることを確認します。Service Workerアクセス用の.htaccessの例
Order allow,deny の代わりに Require all denied / Require all granted を使用することが多いです。ホストに確認するか、サーバーのApacheバージョンに合わせてルールを調整してください。通知送信後のサーバー速度低下またはサイトにアクセスできない
通知を送信した後にサーバーが速度低下したり、アクセスできなくなったりする場合、多くの場合、通知アセットからの負荷の増加またはサーバーリソースの制限が原因です。独自の通知アイコンをホストしないでください
通知で使用される画像を自己ホストしないでください。独自の通知アイコンまたは画像をホストすると、通知が送信されると同時にすべての受信者のブラウザが画像を取得しようとするため、サーバーが過負荷になる可能性があります。 サーバーの負担を軽減するには、高並行アクセス用に最適化された画像ホスティングソリューションまたはCDNサービスを使用してください。ホスティングリソースのアップグレードを検討してください
サーバーの問題が続く場合は、次のことが必要になる場合があります:- ホスティングプランをアップグレード: 大規模な通知送信を処理するには、より高い帯域幅またはより強力なホスティングが必要になる場合があります。
- ホスティングプロバイダーに相談: プロバイダーは、ホスティング環境に固有の洞察または最適化を提供できます。