Configuración y resolución de problemas de oneboxes

:bookmark: Esta guía explica cómo configurar y solucionar problemas de oneboxes en Discourse. Cubre la configuración de administrador, cómo funcionan los oneboxes y los pasos para resolver problemas comunes.

:person_raising_hand: Nivel de usuario requerido: Administrador

Los oneboxes son vistas previas de enlaces enriquecidas que los usuarios pueden crear en sus publicaciones. Aunque los usuarios pueden generar estas vistas previas fácilmente, los administradores del sitio tienen controles adicionales y pueden necesitar solucionar problemas cuando los enlaces no se muestran como se espera.

Configuración de administrador

Para gestionar la configuración de onebox:

  1. Ve al panel de Administración
  2. Navega a la sección de configuración del sitio
  3. Busca “onebox”

Verás una lista de configuraciones relacionadas con onebox:

Algunas configuraciones notables incluyen:

  • post onebox maxlength: Controla la cantidad de texto incluido en un onebox
  • max oneboxes per post: Limita el número de oneboxes que pueden aparecer en una sola publicación (valor predeterminado: 50)
  • enable inline onebox on all domains: Habilita los oneboxes en línea en todos los dominios, convirtiendo las URL simples en títulos enlazados (por ejemplo, https://en.wikipedia.org/wiki/Fun_(band) se convierte en “Fun (band) - Wikipedia”). Esto está habilitado por defecto.
  • blocked onebox domains: Permite deshabilitar los oneboxes para dominios específicos
  • block onebox on redirect: Cuando está habilitado, evita que se generen oneboxes para URLs que redirigen a un destino diferente

Cómo funcionan los oneboxes

Cuando se incluye un enlace en una publicación, Discourse visita la página de destino y busca etiquetas Open Graph o oEmbed, incluyendo:

  • Dirección del sitio
  • Título
  • Imagen destacada
  • Icono del sitio (o favicon)
  • Descripción (obligatoria)
  • Precio del producto (si es relevante)

:warning: Discourse requiere que la etiqueta de descripción esté presente y contenga suficiente texto para resumir la página. Sin esto, el enlace de destino no generará un onebox.

Aquí hay un ejemplo de un onebox para https://discourse.org que muestra el título del sitio, la imagen destacada, el icono y la descripción:

Solución de problemas

Si los oneboxes no funcionan como se espera, prueba estos pasos:

  1. Prueba el sitio usando iFramely:

    • Pega el enlace y verifica si está utilizando las etiquetas meta OpenGraph o oEmbed correctas
    • Asegúrate de que el texto de descripción esté presente y sea adecuado
  2. Verifica si la solicitud del onebox está siendo bloqueada:

    • Algunos hosts pueden bloquear agentes de usuario “desconocidos”
    • Verifica que el sitio web de destino no esté bloqueando el agente de usuario de Discourse
  3. Para enlaces internos que no se muestran como oneboxes:

    • Asegúrate de que el enlace no esté en una categoría segura
    • Los enlaces internos solo generan oneboxes en categorías públicas o dentro de la misma categoría por razones de seguridad

Desde la consola de rails, puedes invalidar/obtener explícitamente oneboxes llamando a los métodos mientras pruebas haciendo:

[1] pry(main)> Oneboxer.invalidate(url)
=> 0

[2] pry(main)> Oneboxer.onebox(url)
=> "<aside class=\"onebox …(elided)\""

[3] pry(main)> InlineOneboxer.invalidate(url)
=> 0

[4] pry(main)> InlineOneboxer.lookup(url)
=> {url: "https://example.com", title: "Example Page Title"}

Recursos adicionales

2 Me gusta

Este es un buen recurso, pero parece quedarse corto.

Hice esto y devolvió una caja, tenía poco contenido pero aún se veía mejor que un simple enlace URL.

Suponiendo que la falta de contenido es el problema para que no se muestre en mi sitio, ¿qué se puede hacer?

No veo una configuración para mostrar en una caja los sitios que no tienen suficiente contenido, así que, ¿se puede contactar a un administrador del sitio para que haga un cambio de su parte? Si es así, ¿qué se necesita preguntar?

¿Cómo ayuda a resolver el problema de no mostrarse en una caja?

2 Me gusta