Saltar al contenido principal

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 una solicitud 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.
  • No agregues código init de JavaScript de OneSignal a tu sitio.
  • No uses la Configuración de Código Personalizado con el plugin de WordPress. Si necesitas personalizar el método init, desinstala el plugin y agrega el código y el Service Worker manualmente.

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
Si no ves la casilla Enviar notificación cuando la entrada se publique o actualice, 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
  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 Tipos de Entrada Personalizados en la configuración del plugin WordPress de OneSignal.
Configuración del plugin WordPress de OneSignal mostrando el campo de Tipos de Entrada Personalizados

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
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
OneSignal.User.PushSubscription.id
Si el visitante está suscrito, devuelve una cadena (el ID de Suscripción). 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
4

Verificar ID de Suscripción 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
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 Notifications not shown 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
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ó la solicitud del navegador. No aparecerá nuevamente hasta que expire un período de espera. Consulta Solicitudes 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
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
Asegúrate de que este archivo sea accesible (reemplaza your-site.com y ajusta el nombre real de la carpeta del plugin si difiere del predeterminado): https://your-site.com/wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/OneSignalSDKWorker.js Si no, consulta Soporte común de plugin para corregir problemas de CDN o caché.

Soporte común de plugin

Los CDN y plugins de caché pueden bloquear los archivos requeridos de OneSignal. Las rutas a continuación asumen que el directorio del plugin es onesignal-free-web-push-notifications; ajusta si tu instalación usa un nombre de carpeta diferente.

Autoptimize

En Excluded scripts, agrega:
wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/(.*)

WP Rocket

Bajo CDN > Exclude Files From CDN, agrega:
(.*)/onesignal-free-web-push-notifications/sdk_files/(.*)

LiteSpeed Cache

Bajo CDN > Exclude Path, agrega:
(.*)/onesignal-free-web-push-notifications/sdk_files/(.*)
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 Procesamiento post-HTML 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:
Marcador de posiciónReemplazar con
YOURSITEHERETu dominio sin prefijo (segmento de regex), p. ej. example para example.com
mywpenginehandleHereEl nombre de tu instalación de WP Engine (subdominio antes de .wpengine.com)
wpengineCDNpathHereTu segmento de ruta NetDNA / CDN de WP Engine (suele aparecer en las URLs de CDN)
mywebsiteHereEl origen de tu sitio activo sin ruta, p. ej. https://example.com
text
#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. Ve a Performance > CDN
  2. Bajo Rejected files, agrega:
{plugins_dir}/onesignal-free-web-push-notifications/sdk_files/*
Lista de archivos rechazados de CDN de W3 Total Cache incluyendo la ruta sdk_files de OneSignal

BunnyCDN

Excluye onesignal en las Rutas Excluidas de CDN del plugin.
Rutas excluidas del plugin WordPress de BunnyCDN incluyendo onesignal

CDN Enabler

En Settings > CDN Enabler, agrega esto a “Exclusions”:
onesignal-free-web-push-notifications

PressCDN

En Exclude Directories, agrega:
/wp-content/plugins/onesignal-free-web-push-notifications/

Breeze

En Settings > CDN > Exclude Content, agrega:
/onesignal-free-web-push-notifications/sdk_files/
Campo de exclusión de contenido CDN de Breeze con la ruta sdk_files de OneSignal

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 No cargar para que el plugin no los reescriba ni los retrase.
Lista de optimización de assets de Hummingbird Pro mostrando exclusiones de scripts

Sucuri

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

Solid Security (anteriormente iThemes Security)

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

Defender Security plugin

No habilites “Prevent PHP execution”. Ve a Defender Plugin > Security Tweaks y verifica que la configuración esté deshabilitada.

Ejemplo de .htaccess para acceso al Service Worker

<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>
Apache 2.4+ frecuentemente usa Require all denied / Require all granted en lugar de Order allow,deny. Consulta a tu hosting o ajusta las reglas para que coincidan con la versión de Apache de tu servidor.

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 de activos de notificación o recursos limitados del servidor.

No alojar tus propios íconos de notificación

Evita el auto-alojamiento de imágenes usadas en notificaciones. Cuando alojas tus propios íconos 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.