일반적인 설정 문제
OneSignal 대시보드 설정 확인
WordPress 설정 가이드의 각 단계를 완료했는지 확인하세요:- OneSignal 앱을 만들 때 WordPress 플러그인 옵션을 선택합니다
- 사이트 URL은 브라우저 URL과 정확히 일치해야 합니다
- 예를 들어
https://example.com은https://www.example.com과 동일하지 않습니다. 하나의 버전을 일관되게 사용하세요. - 푸시에는 하나의 사이트 출처만 지원됩니다. 동일 출처 정책을 참조하세요.
- 예를 들어
- 최소한 하나의 권한 프롬프트를 추가했는지 확인하세요.
OneSignal 코드를 수동으로 추가하지 마세요
OneSignal WordPress 플러그인은 초기화 스크립트와 서비스 워커를 자동으로 포함합니다. 버전 3+는 플러그인의sdk_files 디렉터리에 일반 OneSignalSDKWorker.js를 호스팅하고 플러그인의 init에서 경로를 설정합니다. 워커를 사이트 루트에 업로드하지 않으며 serviceWorkerPath를 직접 설정하지도 않습니다.
- 사이트에 OneSignal JavaScript
init코드를 추가하지 마세요. - 플러그인과 함께 사용자 지정 코드 설정을 사용하지 마세요.
init 옵션이나 사용자 지정 워커 위치가 필요한 경우 플러그인을 제거하고 사용자 지정 코드 설정을 따르세요. 이는 WordPress에서 완전히 마이그레이션하는 것이지 플러그인의 서비스 워커를 재배치하는 방법이 아닙니다.
게시물 게시 시 알림 보내기
게시물, 페이지 또는 사용자 지정 게시물 유형을 게시하면 OneSignal이 구독자에게 자동으로 알림을 보낼 수 있습니다.
OneSignal Push Notifications 메타박스—필요한 경우 드래그하여 위치를 변경할 수 있습니다
- 편집기 오른쪽과 아래쪽의 메타박스를 확인하세요. 필요에 따라 드래그 앤 드롭할 수 있습니다.
- 편집기 상단의 화면 옵션을 확인하여 OneSignal Push Notifications 메타박스가 체크되어 있는지 확인하세요.

OneSignal Push Notifications 메타박스가 체크된 화면 옵션
- 사용자 지정 게시물 유형을 사용하고 있는지 확인하세요. 일반적으로 URL에서
post_type=your_custom_type형태로 확인할 수 있습니다. 그렇다면 OneSignal WordPress 플러그인 설정의 사용자 지정 게시물 유형 필드에 해당 유형을 추가하세요.

사용자 지정 게시물 유형 이름을 찾는 위치 예시
사이트 문제를 해결하는 방법
플러그인이 활성화되어 있는지 확인하고 개발자 도구 열기

사이트를 마우스 오른쪽 버튼으로 클릭하고 검사를 클릭한 다음 Console 탭을 엽니다.
콘솔에서 OneSignal 오류 확인
브라우저에서 구독 상태 확인
null 또는 빈 값이 표시될 수 있습니다. **OneSignal is not defined**가 표시되면 몇 초 기다린 후 다시 시도하거나, 먼저 일반적인 OneSignal 콘솔 오류의 콘솔 오류를 수정하세요—SDK가 지연 로더를 통해 아직 로드 중일 수 있습니다.
콘솔에서 OneSignal 구독 ID를 찾습니다.
OneSignal 대시보드에서 구독 ID 확인

구독 ID에 대해 OneSignal 대시보드를 검색합니다.
테스트 푸시 알림 보내기
일반적인 OneSignal 콘솔 오류
SdkInitError: OneSignal: This web push config can only be used on … Your current origin is …

사이트 URL 불일치 오류.
PushPermissionNotGrantedError: The user dismissed the permission prompt.
방문자가 브라우저 프롬프트를 거부했습니다. 대기 기간이 만료될 때까지 다시 나타나지 않습니다.
브라우저 규칙에 대해서는 웹 권한 프롬프트를 참조하거나 사이트 데이터를 지워 즉시 다시 시도하세요.
The OneSignal web SDK can only be initialized once.

중복 OneSignal 초기화 오류.
Installing service worker failed.. 403 or 404 error

서비스 워커 파일 누락(403/404).
sdk_files 디렉터리에서 OneSignalSDKWorker.js를 제공합니다. WordPress.org 설치는 onesignal-free-web-push-notifications 폴더를 사용합니다. zip에서 설치한 경우 폴더가 다를 수 있습니다. your-site.com과 폴더 이름을 wp-admin의 플러그인과 일치하도록 교체하세요:
https://your-site.com/wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/OneSignalSDKWorker.js
다음 한 줄의 JavaScript가 표시되어야 합니다:
sdk_files 디렉터리에서 OneSignalSDKWorker.js.php를 제공했습니다. 콘솔이 여전히 .js.php URL을 요청하는 경우 레거시 워커를 사용 중인 것입니다. 해당 설치에만 적용되는 PHP 실행 참고 사항은 Solid Security 및 .htaccess 예시를 참조하세요.
일반적인 플러그인 지원
CDN 및 캐싱 플러그인은 OneSignal의 필수 파일을 차단할 수 있습니다. WordPress.org 설치는 플러그인 디렉터리 **onesignal-free-web-push-notifications**를 사용합니다. zip에서 설치한 경우 폴더가 다를 수 있습니다(예: OneSignal-WordPress-Plugin). wp-admin의 플러그인 또는 wp-content/plugins/를 확인하고 아래 경로에서 해당 이름으로 대체하세요.
다음 플러그인별 설정을 사용하세요:
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 Post-Processing 규칙은 환경마다 다릅니다. 아래 스니펫은 예시일 뿐입니다—적용 전에 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 자산 최적화.
Sucuri
OneSignal 파일을 허용하려면 Sucuri의 화이트리스트 가이드를 따르세요.Solid Security (구 iThemes Security)
버전 3+는 정적OneSignalSDKWorker.js 파일을 제공합니다. 해당 워커에 대해서는 플러그인 디렉터리에서 PHP 실행이 필요하지 않습니다.
여전히 플러그인 v2를 실행 중이거나 워커 URL이 .js.php로 끝나는 경우 OneSignalSDKWorker.js.php가 실행될 수 있도록 System Tweaks에서 Disable PHP in Plugins(또는 동등한 옵션)를 비활성화하세요.

v2 .js.php 워커를 여전히 제공하는 경우에만 플러그인의 PHP 실행 차단을 비활성화하세요.
Defender Security plugin
버전 3+는 워커에 대해 PHP 실행이 필요하지 않습니다. Prevent PHP execution이 켜져 있어도 v3.js 파일에는 문제가 없습니다.
여전히 OneSignalSDKWorker.js.php(v2)를 제공하는 경우 Prevent PHP execution을 비활성화 상태로 유지하세요. Defender > Security Tweaks로 이동하여 설정을 확인합니다.
서비스 워커 액세스를 위한 .htaccess 예시
v3 JavaScript 워커를 허용합니다. 호스트 또는 보안 플러그인이wp-content/plugins/의 파일을 차단하는 경우 사용하세요.
sdk_files 디렉터리에서 OneSignalSDKWorker.js.php를 제공합니다. 해당 .js.php URL이 여전히 사용 중인 경우에만 이 블록을 추가하세요:
Require 대신 Order allow,deny와 Allow from all / Deny from all을 사용합니다. 호스트에 문의하거나 서버가 이미 사용하는 구문에 맞추세요.알림을 보낸 후 서버 속도 저하 또는 사이트에 액세스할 수 없음
알림을 보낸 후 서버 속도가 저하되거나 액세스할 수 없게 되면 알림 자산의 부하 증가 또는 제한된 서버 리소스로 인한 경우가 많습니다.자체 알림 아이콘을 호스팅하지 마세요
알림에 사용되는 이미지를 자체 호스팅하지 마세요. 자체 알림 아이콘 또는 이미지를 호스팅하면 알림이 전송될 때 모든 수신자의 브라우저가 동시에 이미지를 가져오려고 시도하므로 서버에 과부하가 걸릴 수 있습니다. 서버 부하를 줄이려면 동시 액세스 수가 많은 환경에 최적화된 이미지 호스팅 솔루션 또는 CDN 서비스를 사용하세요.호스팅 리소스 업그레이드 고려
서버 문제가 지속되면 다음이 필요할 수 있습니다:- 호스팅 플랜 업그레이드: 대규모 알림 전송을 처리하려면 더 높은 대역폭 또는 더 강력한 호스팅이 필요할 수 있습니다.
- 호스팅 제공업체에 문의: 제공업체는 호스팅 환경에 특정한 인사이트 또는 최적화를 제공할 수 있습니다.