Предварительный просмотр ссылок в Slack не работает или не обновляется

Slack генерирует превью ссылок с помощью бота, который считывает теги oEmbed, Open Graph и Twitter Card. Результаты кэшируются в Slack примерно на 30 минут.

Последнее обновление

Быстрое решение


  1. Проверьте страницу с помощью инструмента проверки метатегов.

  2. Убедитесь, что теги находятся в HTML-коде, который загружает Slackbot, ближе к началу блока head.

  3. Пропустите Slackbot-LinkExpanding через брандмауэр или защиту от ботов.

  4. Подождите около 30 минут или опубликуйте URL-адрес с ?v=2.


Почему предпросмотр в Slack отсутствует или устарел

  • Slack кэшировал последний результат. Ответы кэшируются глобально примерно на 30 минут.

  • Slackbot загружает страницу лишь частично. Он использует HTTP-заголовки Range, чтобы скачивать как можно меньше данных, поэтому теги, расположенные глубоко на странице, могут быть пропущены.

  • Блокировка защитой от ботов. Slack выполняет запросы с user agent Slackbot-LinkExpanding 1.0; страница с капчей/проверкой или ошибка 403 означают, что теги получены не будут.

  • Изображение не проходит проверку Slack. Slack загружает изображение для проверки, поэтому неработающий или заблокированный URL изображения приводит к потере картинки.

  • В ссылке не указан протокол. Ссылки разворачиваются в превью только тогда, когда URL указан полностью, включая http или https.

Как это исправить

  1. Откройте страницу в инструменте проверки метатегов, чтобы просмотреть теги Open Graph и Twitter.

  2. Размещайте og:title, og:description и og:image ближе к началу блока head.

  3. Разрешите user agent Slackbot-LinkExpanding в настройках вашего CDN или правилах брандмауэра.

  4. Убедитесь, что URL изображения загружается без файлов cookie или авторизации.

  5. Опубликуйте ссылку повторно через 30 минут или добавьте ?v=2, чтобы протестировать её сразу же.

Теги, которые считывает Slack

  • oEmbed, если страница ссылается на конечную точку oEmbed

  • og:title, og:description, og:image

  • twitter:title, twitter:description, twitter:image. Проверьте их с помощью валидатора карточек Twitter

Требования к размеру изображений

Не подтверждено: Slack не публикует лимиты на размер или вес файлов для изображений в предпросмотре. JPG или PNG размером 1200 x 630 пикселей отлично подходит как для Slack, так и для всех остальных платформ, рассмотренных здесь.

Как принудительно обновить предпросмотр

В Slack нет инструмента для сброса кэша. Подождите около 30 минут или отправьте URL с параметром запроса (query string). Уже отправленные сообщения сохраняют свой предпросмотр. Инструмент обновления показывает порядок действий для каждого приложения.

Slack не учитывает robots.txt при разворачивании ссылок, поэтому правило Disallow не заблокирует и не объяснит отсутствие предпросмотра.

Источники

Частые вопросы

Как долго Slack кэширует предпросмотр ссылок?

Около 30 минут по всему миру в Slack, согласно странице Slack для роботов.

Блокирует ли robots.txt предпросмотр ссылок в Slack?

Нет. Slack заявляет, что не соблюдает robots.txt для предварительного просмотра ссылок, поскольку действует от имени пользователя.

Почему в Slack отображается заголовок, но нет изображения?

Slack скачивает изображение для проверки. Если этот запрос завершится ошибкой или будет заблокирован, предпросмотр ссылки отобразится без изображения.

Проверьте свою страницу, затем обновите предпросмотр

Вставьте свой URL в бесплатный инструмент проверки, чтобы увидеть, какие именно теги считывает каждое приложение. Как только теги будут настроены правильно, воспользуйтесь инструментом обновления, чтобы очистить старый предпросмотр.