ABC News не отображается в одной карточке из-за отсутствующего описания

Эта ссылка не «однобоксуется» на моём сайте —

Хм, и я вижу, что её нет и здесь. Хотя ABC News (что неудивительно) содержит миллион тегов Open Graph, включая все теги OG для Facebook и Twitter. Не баг ли это? Или, возможно, из всего этого метаданных Discourse onebox не может ничего извлечь? :wink:

Спасибо!

Обычные виновники — отсутствующие теги Open Graph или что-то, что блокирует пользовательский агент Discourse или диапазоны IP-адресов облачного провайдера. Тот факт, что мы видим теги локально в браузере, не означает, что сервер обязательно их видит.

Небольшое тестирование через cURL с вашего VPS обычно позволяет выявить причину.

Используйте инструмент iframely для устранения неполадок с тегами OpenGraph и oEmbed на странице. Отсутствие текстового описания любого рода — ещё одна причина, которую я иногда встречаю в реальной практике.

Хм, хорошо. Кажется, я, возможно, разобрался… Возможно, отсутствует поле “description”?

Вот три ссылки с крупных сайтов и соответствующие отчёты iframely:

:arrow_forward: Отчёт iframely для ABC News

:arrow_forward: Отчёт iframely для CNN

:arrow_forward: Отчёт iframely для NBC News

Единственное различие, которое я вижу между примером ABC News выше и этой ссылкой NBC News, заключается в том, что NBC включает больше размеров изображений, иконки, а также дату и описание. Могло ли что-то из этого стать “блокирующим фактором”, препятствующим активации onebox?

Хм, и у CNN также отсутствует описание, но есть иконка и дата. Возможно, поле description является обязательным…?

Да, отсутствие описания означает, что onebox не сработает.

Ох. :-/

Это кажется… довольно радикальным шагом. Я не понимаю, почему нужно отказываться от всей красоты onebox, если просто отсутствует описание. Я попробую сделать PR, который позволит сайтам, у которых нет поля с описанием (на данный момент мы обнаружили, что это ABC и CNN), всё же передавать изображение и заголовок.

На самом деле, учитывая, как часто эта тема возникает в поддержке, я думаю: если единственное, что мешает одному блоку, — это отсутствие описания (или слишком короткое описание), нам, вероятно, стоит добавить описание-заполнитель, например:

На этой странице отсутствуют теги описания

Тогда хотя бы будет один блок, и станет понятно, что происходит. Можешь ли ты назначить это @sam?

Мне интересно, не стоит ли нам просто отменить правило «описание обязательно» и сделать его опциональным на уровне настроек сайта:

Однобокс в первом сообщении выглядит вполне разумным, на мой взгляд, описание кажется излишним.

С глубоким уважением — если описание недоступно, зачем показывать такое сообщение?!

Это полезное сообщение, если вы отлаживаете onebox. Для таких технарей, как мы, отлично, прекрасно.

Но если вы обычный человек :wink: который просто хочет разместить ссылку на какой-нибудь нетехнический сайт и не заботится о внутреннем устройстве onebox, то это сообщение добавляет ничего, кроме шума. Гарантирую, подавляющее большинство пользователей Discourse (на сайтах о машинах, технической поддержке, сообществах, аудиооборудовании и т. д.) не знают и не заботятся о том, что такое «тег описания», почему это важно, или предоставила ли размещённая ими ссылка такое описание или нет. Всё, чего они хотят, — чтобы их ссылки выглядели красиво, точка.

Тем не менее: да, я думаю, мы все согласны, что нет необходимости ограничивать onebox работой только с сайтами, имеющими тег описания — особенно когда описание на самом деле не обязательно. Заголовок и фото не только выглядят вполне приемлемо, но и намного лучше, чем ничего.

Ни Facebook, ни Twitter не требуют описаний (и они никогда не показывают сообщение вроде «На этой странице отсутствуют теги описания»), и у них нет проблем с тем, чтобы работать просто с фото и заголовком для создания красивой ссылки. Не вижу причин, почему моё любимое прогрессивное программное обеспечение для форумов не может последовать их примеру. :+1:

Это преждевременно. Это может произойти, а может и нет; @codinghorror является руководителем проекта и решает, какую реализацию мы выберем.

Я считаю, что правило «без описания — без превью» (onebox) следует отменить или сделать его опциональным, если это необходимо, но в конечном итоге решение не за мной.

Если мы отменим правило «без описания — без превью» или сделаем его опциональным, возможно, потребуется новый визуальный шаблон для превью без описания; это нетривиальная задача. Правило «без описания — без превью» появилось из-за жалоб пользователей на то, как такие превью отображались без описаний.

Федеральный апелляционный суд отменил решение судьи и приказал прекратить дело Флинна по просьбе Минюста — это много синего текста. Например, Twitter отображает этот текст чёрным, а не синим.

Вполне справедливо.

Мне кажется странным, что если выбор стоит между:

ВАРИАНТ А — текущее поведение при отсутствии описания

Эй, посмотрите на эту статью:

https://www.nbcnews.com/politics/congress/cats-saved-gov-t-kitten-slaughterhouse-visit-capitol-purr-thank-n1034811

ВАРИАНТ Б — (предлагаемое изменение) показывать превью, даже если описание отсутствует

Эй, посмотрите на эту статью:

Действительно, люди предпочитают вариант А варианту Б? (И, что более важно, действительно, кто-то жаловался, что вариант Б выглядит некрасиво? Мне кажется, с эстетической точки зрения он вполне приемлем…)

Не совсем понимаю, что вы имеете в виду? Когда я публикую ссылку в Twitter, даже если описания нет, она всё равно корректно расширяется? Вот тест, который я только что провёл со ссылкой на CNN из моего первого сообщения в этой теме.

А вот как Discourse сейчас отображает точно такую же ссылку:

Так приятно видеть, что люди заботятся о собачках…

https://edition.cnn.com/2020/05/15/health/gallery/coronavirus-people-adopting-pets-photos/index.html

Извините, что подхватываю тему, но чтобы снизить нагрузку на поддержку, не могли бы мы в будущем добавить более подробное журналирование сбоев Onebox, чтобы администраторы сайтов не оставались в неведении, когда что-то не «работает в виде карточки»?

Меня устраивает это изменение, если макет не потребует много правок, @sam. Это уже давно перешагнуло правило трёх, так что, вероятно, сейчас допустимо использовать oneboxes без описания.

Спасибо @codinghorror и @sam, очень ценим.

Гем Onebox теперь поддерживает oneboxes только с заголовком согласно этому коммиту. Пример:

Вы откатили это через несколько месяцев в этом PR. В чём была причина?