Настройка и устранение неполадок oneboxes

:bookmark: Это руководство объясняет, как настроить и устранить неполадки с oneboxes в Discourse. Оно охватывает параметры администратора, принцип работы oneboxes и шаги по решению распространённых проблем.

:person_raising_hand: Требуемый уровень пользователя: Администратор

Oneboxes — это расширенные предпросмотры ссылок, которые пользователи могут создавать в своих сообщениях. Хотя пользователи могут легко генерировать такие предпросмотры, администраторы сайта имеют дополнительные возможности управления и могут нуждаться в устранении неполадок, когда ссылки не отображаются как ожидалось.

Настройка администратора

Для управления параметрами onebox:

  1. Перейдите в панель администратора
  2. Перейдите в раздел настроек сайта
  3. Найдите “onebox”

Вы увидите список параметров, связанных с onebox:

Некоторые важные параметры:

  • post onebox maxlength: Контролирует объём текста, включаемого в onebox
  • max oneboxes per post: Ограничивает количество oneboxes, которые могут отображаться в одном сообщении (по умолчанию: 50)
  • enable inline onebox on all domains: Включает встроенные oneboxes для всех доменов, преобразуя простые URL в связанные заголовки (например, https://en.wikipedia.org/wiki/Fun_(band) становится “Fun (band) - Wikipedia”). Включено по умолчанию.
  • blocked onebox domains: Позволяет отключить oneboxes для конкретных доменов
  • block onebox on redirect: При включении предотвращает создание onebox для URL, которые перенаправляют на другое место назначения

Как работают oneboxes

Когда в сообщение включена ссылка, Discourse посещает целевую страницу и ищет теги Open Graph или oEmbed, включая:

  • Адрес сайта
  • Заголовок
  • Изображение-обложка
  • Иконка сайта (или favicon)
  • Описание (обязательно)
  • Цена товара (если применимо)

:warning: Discourse требует, чтобы тег описания присутствовал и содержал достаточно текста для краткого изложения страницы. Без этого целевая ссылка не будет преобразована в onebox.

Вот пример onebox для https://discourse.org, отображающий заголовок сайта, изображение-обложку, иконку и описание:

Устранение неполадок

Если oneboxes не работают как ожидалось, попробуйте следующие шаги:

  1. Протестируйте сайт с помощью iFramely:

    • Вставьте ссылку и проверьте, используются ли правильные мета-теги OpenGraph или oEmbed
    • Убедитесь, что текст описания присутствует и достаточно информативен
  2. Проверьте, не блокируется ли запрос onebox:

    • Некоторые хосты могут блокировать «неизвестных» пользователей (user agents)
    • Убедитесь, что целевой сайт не блокирует user agent Discourse
  3. Для внутренних ссылок, которые не отображаются как oneboxes:

    • Убедитесь, что ссылка не находится в защищённой категории
    • Внутренние ссылки преобразуются в oneboxes только в публичных категориях или в пределах одной категории по соображениям безопасности

Из консоли Rails вы можете явно инвалидировать/получить oneboxes, вызвав соответствующие методы во время тестирования:

[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"}

Дополнительные ресурсы

2 лайка

This is a good resource but seems to fall short

I did this and it returned a one box, it was light on contents but still looked better than a simple url link

Assuming its being light on content is the issue for it not one boxing on my site based on it not meeting this requirement what can be done?

I don’t see a setting to one box sites that don’t have enough content, so then can a site admin be contacted to make a change on their end, if so what needs to be asked?

How does it help solve the issue of not one boxing?

2 лайка