Я знаю, что при публикации ссылки на тему вашего форума в Twitter, если в этой теме есть изображение или несколько изображений, превью темы в Twitter покажет это изображение или первое изображение в теме в качестве миниатюры превью.
Я также читал, что существуют «изображения категорий», которые могут отображаться как миниатюры, а также есть опция «Twitter Summary Large Image» в настройках сайта. Однако мне ни разу не удавалось увидеть, чтобы эти два последних варианта работали в качестве миниатюр в Twitter. Если в теле поста на форуме нет изображения, то в качестве миниатюры я получаю просто стандартное серое изображение с иконкой в центре слева от превью текста.
Так как же можно контролировать, какое изображение будет отображаться в качестве миниатюры темы в Twitter?
Заранее благодарю за помощь.
PS: ключи API Twitter сохранены, и вход через Twitter работает.
opengraph image является базовым. Если настроена только эта опция, она будет отображаться, если отсутствуют изображение поста или категории.
Если настроено twitter summary large image, оно заменит opengraph image в Twitter. Таким образом, в Twitter будет отображаться именно оно, а не opengraph image.
Изображение логотипа категории и первое изображение поста всегда имеют приоритет над остальными.
Порядок приоритета:
первое изображение поста и изображение логотипа категории
(если отсутствуют)
twitter summary large image
(если отсутствует)
opengraph image
(если отсутствует)
large icon
(если я не ошибаюсь)
Настройка
opengraph image и twitter summary large image можно настроить здесь: /admin/site_settings/category/branding
Итак, я сталкиваюсь с проблемой. У меня есть два сообщения, которые ведут себя по-разному, и я не могу понять почему. В одном сообщении в Twitter отображается превью-изображение onebox, а в другом — twitter_summary_large_image.
Хорошо, это имеет смысл. Но я бы ожидал, что два поста будут вести себя одинаково. Разве что Discourse или Twitter каким-то образом анализируют ссылку, представленную Onebox, и затем ищут мета-тег оттуда, а не из поста Discourse? Это могло бы объяснить, почему первый пост может вести на веб-страницу, где определён мета-тег, а второй пост, на который ссылается Onebox, — нет.
Вы имеете в виду, что в посте Discourse нет мета-тега, или что в ссылке, на которую ссылается Onebox, нет мета-тега?
Я говорю об этом. Страница, которую вы делитесь, должна содержать правильные мета-теги, которые будут использоваться на большинстве платформ (Twitter, Facebook, Discord, Discourse и т. д.).
Я думаю, что это хороший ресурс для изучения этого вопроса:
Кажется, мне удалось решить проблему. Мне пришлось изменить настройку «Файлы >> загружать удалённые изображения локально». Теперь она включена. Я протестировал это, отключив создание темы, а затем снова включив и создав дубликат темы. Далее я проверил миниатюры изображений в обеих темах. Одна ссылается на локальное хранилище изображений, а другая — на удалённое изображение по ссылке.
Затем я поделился каждой темой в социальной сети LinkedIn, так как там работает предпросмотр. В случае с локальным хранилищем изображений LinkedIn берёт локальное изображение из моего сообщества. В другом случае он показывает opengraph_image из настроек, а не миниатюру изображения с сайта по ссылке.
Таким образом, похоже, что для отображения изображения предпросмотра из onebox при публикации ссылок в социальных сетях необходимо включить настройку «Файлы >> загружать удалённые изображения локально».