Skip to main content

Problemas comunes de configuración

Verificar la configuración de tu dashboard de OneSignal

Asegúrate de haber completado cada paso en la guía de configuración de WordPress:
  • Selecciona la opción WordPress Plugin al crear tu aplicación OneSignal
  • Tu URL del sitio debe coincidir exactamente con la URL del navegador
    • Por ejemplo, https://example.com no es lo mismo que https://www.example.com. Usa una versión consistentemente.
    • Solo se soporta un origen de sitio para push. Consulta Política del mismo origen.
  • Asegúrate de haber agregado al menos un prompt de permiso.

No agregar el código de OneSignal manualmente

El plugin de WordPress de OneSignal incluye automáticamente el script de inicialización y el service worker. La versión 3+ aloja un archivo OneSignalSDKWorker.js simple en el directorio sdk_files del plugin y establece la ruta en el init del plugin. No subes el worker a la raíz de tu sitio, ni estableces serviceWorkerPath tú mismo. Si necesitas opciones de init de Código personalizado o una ubicación personalizada del worker, desinstala el plugin y sigue la Configuración con código personalizado. Eso es una migración completa fuera de WordPress, no una forma de reubicar el service worker del plugin.

Enviar notificación cuando se publica una entrada

Cuando publicas una entrada, página o tipo de entrada personalizado, OneSignal puede enviar automáticamente una notificación a tus suscriptores.
Metabox de OneSignal Push Notifications—arrastra para reposicionar si es necesario

Metabox de OneSignal Push Notifications—arrastra para reposicionar si es necesario

Si no ves la casilla Send notification when post is published or updated, verifica estos elementos:
  1. Revisa los metaboxes a la derecha y abajo del editor. Puedes arrastrar y soltar según sea necesario.
  2. Revisa las Opciones de pantalla en la parte superior del editor para asegurarte de que el metabox OneSignal Push Notifications esté marcado.
Opciones de pantalla mostrando el metabox de OneSignal Push Notifications marcado

Opciones de pantalla mostrando el metabox de OneSignal Push Notifications marcado

  1. Verifica si usas un tipo de entrada personalizado. Normalmente se encuentra en la URL como post_type=your_custom_type. Si es así, agrega el tipo de entrada personalizado al campo Custom Post Types en la configuración del plugin WordPress de OneSignal.
Configuración del plugin WordPress de OneSignal mostrando el campo Custom Post Types

Ejemplo de dónde encontrar el nombre del tipo de entrada personalizado


Cómo solucionar problemas de tu sitio

1

Verificar que el plugin esté activo y abrir herramientas de desarrollador

Carga tu sitio en una ventana de navegador normal (no incógnito) con el plugin habilitado.
Herramientas de desarrollador del navegador abiertas con la pestaña Console seleccionada en un sitio WordPress

Haz clic derecho en tu sitio, haz clic en Inspeccionar y abre la pestaña Console.

2

Verificar errores de OneSignal en la consola

Abre la pestaña Console, refresca la página y busca errores rojos o amarillos relacionados con OneSignal. Consulta Errores comunes de consola de OneSignal para ayuda.
3

Verificar estado de suscripción en el navegador

Después de que la página termine de cargarse y no veas errores de OneSignal en la Consola, pega esto:
JavaScript
Si el visitante está suscrito, devuelve una cadena (el Subscription ID). Si no está suscrito o la suscripción aún no está lista, puedes ver null o un valor vacío. Si ves OneSignal is not defined, espera unos segundos y vuelve a intentarlo, o primero corrige los errores de Consola en Errores comunes de consola de OneSignal—el SDK puede estar cargándose aún mediante el cargador diferido.
Consola del navegador mostrando el resultado de la cadena del id de PushSubscription del usuario de OneSignal

Encuentra tu Subscription ID de OneSignal en la consola.

4

Verificar el Subscription ID en el dashboard de OneSignal

En el dashboard de OneSignal, ve a Audience > Subscriptions y busca el ID devuelto arriba.
Campo de búsqueda de Suscripciones del dashboard de OneSignal con búsqueda de ID de suscripción

Busca en tu dashboard de OneSignal el Subscription ID.

5

Enviar una notificación push de prueba

Si la suscripción existe y el estado es Subscribed, sigue la guía de Push para enviar una notificación. Si no aparece nada, consulta Notificaciones no mostradas para correcciones específicas del navegador.

Errores comunes de consola de OneSignal

SdkInitError: OneSignal: This web push config can only be used on … Your current origin is …

Consola SdkInitError mostrando discordancia de origen de configuración de web push

Error de discordancia de URL del sitio.

Tu URL del sitio en el dashboard de OneSignal no coincide con tu dominio real. Asegúrate de que coincida exactamente con el dominio que ves en el navegador.

PushPermissionNotGrantedError: The user dismissed the permission prompt.

El visitante rechazó el prompt del navegador. No aparecerá nuevamente hasta que expire un período de espera. Consulta Prompts de permiso web para reglas del navegador o limpia los datos del sitio para reintentar inmediatamente.

The OneSignal web SDK can only be initialized once.

Error de consola: el SDK web de OneSignal solo puede inicializarse una vez

Error de inicialización duplicada de OneSignal.

Estás cargando OneSignal dos veces. Elimina el código de OneSignal agregado manualmente si estás usando el plugin.

Installing service worker failed.. 403 or 404 error

Error de consola: instalación del service worker fallida con 403 o 404

Archivo Service Worker faltante (403/404).

El plugin sirve OneSignalSDKWorker.js desde su directorio sdk_files. Las instalaciones desde WordPress.org usan la carpeta onesignal-free-web-push-notifications. Si instalaste desde un zip, la carpeta puede diferir. Reemplaza your-site.com y el nombre de la carpeta para que coincida con Plugins en wp-admin: https://your-site.com/wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/OneSignalSDKWorker.js Deberías ver esta única línea de JavaScript:
Si esa URL devuelve 404 o está bloqueada, consulta Soporte común de plugins para corregir reglas de CDN, caché o plugins de seguridad. Las versiones antiguas del plugin (v2) servían OneSignalSDKWorker.js.php desde el mismo directorio sdk_files. Si tu consola aún solicita una URL .js.php, estás usando el worker heredado. Consulta Solid Security y Ejemplo de .htaccess para notas sobre ejecución de PHP que aplican solo a esas instalaciones.

Soporte común de plugins

Los CDN y plugins de caché pueden bloquear los archivos requeridos de OneSignal. Las instalaciones desde WordPress.org usan el directorio de plugin onesignal-free-web-push-notifications. Si instalaste desde un zip, la carpeta puede ser diferente (por ejemplo OneSignal-WordPress-Plugin). Verifica Plugins en wp-admin o wp-content/plugins/ y sustituye ese nombre en las rutas a continuación. Usa estas configuraciones específicas de cada plugin:

Autoptimize

En Excluded scripts, agrega:

WP Rocket

Bajo CDN > Exclude Files From CDN, agrega:

LiteSpeed Cache

Bajo CDN > Exclude Path, agrega:
Luego presiona guardar.

WP Super Cache

  1. Ve a Settings > WP Super Cache > CDN
  2. En Exclude if substring, incluye: onesignal-free-web-push-notifications
  3. Haz clic en Contents > Delete Cache

WP Engine

WP Engine puede reescribir las URLs de los plugins a través de su CDN. Las reglas de HTML Post-Processing son específicas de cada entorno; el fragmento a continuación es solo un ejemplo—confirma las rutas con el soporte de WP Engine o tu Portal de Usuario antes de aplicarlas. En WP Engine plugin > General Settings > HTML Post-Processing, puede que necesites reglas similares a las siguientes. Reemplaza cada marcador de posición con los valores de tu sitio y el nombre de host CDN de WP Engine:

W3 Total Cache

  1. Ve a Performance > CDN
  2. Bajo Rejected files, agrega:
Lista de archivos rechazados de CDN de W3 Total Cache incluyendo la ruta sdk_files de OneSignal

Configuración de exclusión de W3 Total Cache.

BunnyCDN

Excluye onesignal en las rutas excluidas de CDN del plugin (CDN Excluded Paths).
Rutas excluidas del plugin WordPress de BunnyCDN incluyendo onesignal

Ejemplo de exclusión de BunnyCDN.

CDN Enabler

En Settings > CDN Enabler, agrega esto a “Exclusions”:

PressCDN

En Exclude Directories, agrega:

Breeze

En Settings > CDN > Exclude Content, agrega:
Campo de exclusión de contenido CDN de Breeze con la ruta sdk_files de OneSignal

Ejemplo de exclusión de Breeze.

Hummingbird Pro

Ve a Hummingbird > Asset Optimization. Bajo JavaScript (y CSS si los assets de OneSignal aparecen allí), localiza archivos cuyas URLs contengan onesignal-free-web-push-notifications o OneSignalSDK. Excluye dichos archivos de la minificación/combinación/aplazamiento, o cambia la optimización de esos assets a Don’t load para que el plugin no los reescriba ni los retrase.
Lista de optimización de assets de Hummingbird Pro mostrando exclusiones de scripts

Optimización de assets de Hummingbird Pro.

Sucuri

Sigue la guía de Whitelist de Sucuri para permitir archivos de OneSignal.

Solid Security (anteriormente iThemes Security)

La versión 3+ sirve un archivo estático OneSignalSDKWorker.js. No necesitas ejecución de PHP en el directorio de plugins para ese worker. Si aún ejecutas el plugin v2, o la URL del worker termina en .js.php, deshabilita Disable PHP in Plugins (o equivalente) bajo System Tweaks para que OneSignalSDKWorker.js.php pueda ejecutarse.
Configuración del plugin de seguridad para permitir PHP en plugins desmarcada o deshabilitada

Deshabilita el bloqueo de ejecución de PHP en plugins solo si aún sirves el worker v2 .js.php.

Defender Security plugin

La versión 3+ no necesita ejecución de PHP para el worker. Si Prevent PHP execution está activado, no hay problema para el archivo .js de v3. Si aún sirves OneSignalSDKWorker.js.php (v2), deja Prevent PHP execution deshabilitado. Ve a Defender > Security Tweaks y verifica la configuración.

Ejemplo de .htaccess para acceso al service worker

Permite el worker de JavaScript v3. Usa esto si tu hosting o un plugin de seguridad bloquea archivos en wp-content/plugins/.
Las versiones antiguas del plugin (v2) sirven OneSignalSDKWorker.js.php desde el mismo directorio sdk_files. Agrega este bloque solo si esa URL .js.php aún está en uso:
Apache 2.2 usa Order allow,deny con Allow from all / Deny from all en lugar de Require. Consulta a tu hosting o usa la sintaxis que tu servidor ya utiliza.

Ralentizaciones del servidor o sitio inalcanzable después de enviar notificaciones

Si tu servidor experimenta ralentizaciones o se vuelve inalcanzable después de enviar notificaciones, a menudo se debe al aumento de carga por los activos de notificación o a recursos limitados del servidor.

No alojar tus propios iconos de notificación

Evita el auto-alojamiento de imágenes usadas en notificaciones. Cuando alojas tus propios iconos o imágenes de notificación, tu servidor puede sobrecargarse ya que el navegador de cada destinatario intenta obtener la imagen al mismo tiempo que se envía una notificación. Para reducir la tensión del servidor, usa soluciones de alojamiento de imágenes o servicios CDN optimizados para acceso de alta concurrencia.

Considera actualizar recursos de alojamiento

Si los problemas del servidor persisten, puede que necesites:
  • Actualizar tu plan de alojamiento: Puede ser necesario un mayor ancho de banda o un alojamiento más potente para manejar envíos de notificaciones a gran escala.
  • Consultar con tu proveedor de alojamiento: Tu proveedor puede ofrecer perspectivas u optimizaciones específicas para tu entorno de alojamiento.