一般的なセットアップの問題
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メタボックスがチェックされていることを確認してください。

- カスタム投稿タイプを使用しているか確認してください。通常、URLに
post_type=your_custom_typeとして表示されます。使用している場合は、OneSignal WordPressプラグイン設定のカスタム投稿タイプフィールドにカスタム投稿タイプを追加してください。

サイトのトラブルシューティング方法
OneSignalエラーのコンソールを確認
Consoleタブを開き、ページを更新し、赤または黄色のOneSignal関連のエラーを探します。
ヘルプについては、一般的なOneSignalコンソールエラーを参照してください。
ブラウザでサブスクリプションステータスを確認
ページの読み込みが完了し、コンソールにOneSignalのエラーが表示されていないことを確認してから、次を貼り付けます:訪問者がサブスクライブしている場合、文字列(サブスクリプションID)を返します。サブスクライブしていない、またはサブスクリプションがまだ準備できていない場合は、
JavaScript
null または空の値が表示されることがあります。OneSignal is not defined と表示された場合は、数秒待ってから再試行するか、先に一般的なOneSignalコンソールエラーのコンソールエラーを修正してください——SDKが遅延ローダーを介してまだ読み込み中の可能性があります。
一般的なOneSignalコンソールエラー
SdkInitError: OneSignal: This web push config can only be used on … Your current origin is …
SdkInitError: OneSignal: This web push config can only be used on … Your current origin is …

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

Installing service worker failed.. 403 or 404 error
Installing service worker failed.. 403 or 404 error

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

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

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

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

