# Предпросмотр ссылки не работает для конкретного сайта

**URL:** https://meta.discourse.org/t/link-preview-not-working-for-specific-site/135568
**Category:** Support
**Created:** [10.Декабрь.2019 15:00:13 UTC](https://meta.discourse.org/t/link-preview-not-working-for-specific-site/135568 "2019-12-10T15:00:13Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![pgr](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pgr/32/156783_2.png) [@pgr](https://meta.discourse.org/u/pgr)
#### Post date: [10.Декабрь.2019 15:00:13 UTC](https://meta.discourse.org/t/link-preview-not-working-for-specific-site/135568/1 "2019-12-10T15:00:13Z")

</div>

Привет!

Я управляю недавно мигрированным форумом на Discourse. Красиво оформленные «превью ссылок» корректно генерируются для всех сайтов, которые я пробовал, кроме одного (который для нас очень важен):

> **[SuiteCRM Documentation](https://docs.suitecrm.com/)**
>
> All you need to know to successfully use SuiteCRM as an End-User, Developer or Administrator, plus Community Guidelines and Technical Blog.

Поскольку это не работает даже здесь, на Meta, я задаюсь вопросом: это ошибка в Discourse или, возможно, какая-то особенность самого сайта, вызывающая проблемы? Есть ли какие-то подсказки, что это может быть?

Этот сайт не является приватным и не требует входа в систему. Я также управляю этим сайтом, поэтому, если с его стороны нужно что-то сделать, я могу попробовать это реализовать.

Спасибо.

---

<div class="post-metadata">

### Author: ![Johani](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/johani/32/176920_2.png) [@Johani](https://meta.discourse.org/u/Johani)
#### Post date: [10.Декабрь.2019 15:12:15 UTC](https://meta.discourse.org/t/link-preview-not-working-for-specific-site/135568/2 "2019-12-10T15:12:15Z")

</div>

Гем Discourse onebox требует, чтобы сайты правильно определяли [теги Open Graph](https://ogp.me/). На сайте, о котором вы упомянули в своём сообщении, [нет тегов Open Graph](http://debug.iframely.com/?uri=https%3A%2F%2Fdocs.suitecrm.com%2F).

Поэтому мы мало что можем с этим сделать. Чтобы сайт отображался в Discourse в виде одной коробки (onebox), необходимо добавить соответствующие теги OG.

---

<div class="post-metadata">

### Author: ![pgr](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pgr/32/156783_2.png) [@pgr](https://meta.discourse.org/u/pgr)
#### Post date: [10.Декабрь.2019 15:13:46 UTC](https://meta.discourse.org/t/link-preview-not-working-for-specific-site/135568/3 "2019-12-10T15:13:46Z")

</div>

Отлично, это именно то, что мне нужно знать. Я попробую добавить эти теги. Спасибо.

---

<div class="post-metadata">

### Author: ![pgr](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pgr/32/156783_2.png) [@pgr](https://meta.discourse.org/u/pgr)
#### Post date: [10.Декабрь.2019 17:01:09 UTC](https://meta.discourse.org/t/link-preview-not-working-for-specific-site/135568/4 "2019-12-10T17:01:09Z")

</div>

🤔 Итак, я добавил теги: [проверьте мой сайт на iframeley](http://debug.iframely.com/?uri=https%3A%2F%2Fdocs.suitecrm.com%2F)

И у меня получается показать Onebox в WhatsApp:

 ![image](https://global.discourse-cdn.com/meta/original/3X/a/4/a4ca10af0ae13e1a1720607a9249a45e26f631b4.png)

Но не в Discourse:

> **[Developer Guide](https://docs.suitecrm.com/developer/)**
>
> All you need to know to successfully use SuiteCRM as an End-User, Developer or Administrator, plus Community Guidelines and Technical Blog.

Я подумал, что это может быть проблема кэширования, но похоже, что нет. Я пробовал на разных сайтах Discourse и с различными вариантами URL…

Есть ли какой-то другой тег, который требует Discourse и который я упустил? В другом посте здесь я прочитал, что обязательными являются только `title` и `description`, и у меня есть эти два…

Спасибо за помощь.

---

<div class="post-metadata">

### Author: ![JimPas](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jimpas/32/148179_2.png) [@JimPas](https://meta.discourse.org/u/JimPas)
#### Post date: [11.Декабрь.2019 04:46:43 UTC](https://meta.discourse.org/t/link-preview-not-working-for-specific-site/135568/5 "2019-12-11T04:46:43Z")

</div>

[onebox](https://github.com/discourse/onebox) посещает целевую страницу и проверяет наличие тегов [Open Graph](http://ogp.me/) или [oEmbed](https://oembed.com/), включая:

- адрес сайта
- заголовок
- главное изображение
- описание (обязательно)
- цена товара

> ⚠ Обратите внимание, что Discourse _требует_ наличия тега description, содержащего достаточный текст для краткого описания страницы; в противном случае целевая ссылка не будет оформлена как onebox.

Другое хорошее объяснение доступно по адресу [Creating rich link previews with Onebox](https://meta.discourse.org/t/rich-link-previews-with-onebox/98088).

### Расширенные iframe

По умолчанию тег `<iframe>` заблокирован по соображениям безопасности, но если он поступает из высокодоверенного источника, администратор Discourse может явно добавить домен в белый список как цель для `<iframe>` в настройках сайта.

---

<div class="post-metadata">

### Author: ![pgr](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pgr/32/156783_2.png) [@pgr](https://meta.discourse.org/u/pgr)
#### Post date: [11.Декабрь.2019 18:26:14 UTC](https://meta.discourse.org/t/link-preview-not-working-for-specific-site/135568/6 "2019-12-11T18:26:14Z")

</div>

Хорошо, спасибо. У меня есть заголовок и описание. Возможно, именно отсутствие атрибута `og:image` вызывает проблемы у Discourse, хотя я нигде не встречал, что этот атрибут обязателен.

Мне нужно будет попробовать _с_ этим атрибутом, но у меня возникли некоторые технические трудности при его добавлении в Hugo. Как только я это решу, я отпишусь здесь. Спасибо.

---

<div class="post-metadata">

### Author: ![pgr](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pgr/32/156783_2.png) [@pgr](https://meta.discourse.org/u/pgr)
#### Post date: [12.Декабрь.2019 15:38:02 UTC](https://meta.discourse.org/t/link-preview-not-working-for-specific-site/135568/7 "2019-12-12T15:38:02Z")

</div>

Это оказывается сложным. Теперь у меня есть `og:image` в моих мета-данных, и при проверке с помощью [iframeley](http://debug.iframely.com/?uri=https%3A%2F%2Fdocs.suitecrm.com%2F) всё выглядит нормально.

Но всё равно мне не удаётся заставить Discourse создать onebox… ☹

Что может быть упущено?

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [13.Декабрь.2019 03:29:11 UTC](https://meta.discourse.org/t/link-preview-not-working-for-specific-site/135568/8 "2019-12-13T03:29:11Z")

</div>

Одного изображения недостаточно. Требуется также текстовое описание.

---

<div class="post-metadata">

### Author: ![pgr](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pgr/32/156783_2.png) [@pgr](https://meta.discourse.org/u/pgr)
#### Post date: [13.Декабрь.2019 09:09:52 UTC](https://meta.discourse.org/t/link-preview-not-working-for-specific-site/135568/9 "2019-12-13T09:09:52Z")

</div>

Возможно, я упускаю что-то очевидное, но что не так или чего не хватает в моём мета-теге `og:description`?

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [13.Декабрь.2019 16:51:37 UTC](https://meta.discourse.org/t/link-preview-not-working-for-specific-site/135568/10 "2019-12-13T16:51:37Z")

</div>

Ничего, но описание должно существовать и содержать минимальное количество символов, с точки зрения Discourse.

---

<div class="post-metadata">

### Author: ![JimPas](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jimpas/32/148179_2.png) [@JimPas](https://meta.discourse.org/u/JimPas)
#### Post date: [13.Декабрь.2019 20:40:00 UTC](https://meta.discourse.org/t/link-preview-not-working-for-specific-site/135568/11 "2019-12-13T20:40:00Z")

</div>

Вы можете ознакомиться с этими двумя ссылками. В конце первого поста по первой ссылке есть небольшой материал о расширенных iframe, а сразу под размещённым изображением говорится о _Advanced iFrames_.  
В конце второй темы (задачи с Onebox) есть что-то интересное, что вы можете попробовать… команду _curl_ — и в посте приведён код для использования (просто замените ваш URL на показанный).

> [@Creating rich link previews with Onebox](https://meta.discourse.org/t/rich-link-previews-with-onebox/98088):
>
> bookmark This is a guide for creating rich link previews with Onebox in Discourse. It explains how to create Oneboxes, use inline Oneboxing, avoid Oneboxing, use hyperlinks, and handle advanced iFrames. person_raising_hand Required user level: All users Onebox converts your web links into useful preview excerpts that help inform readers about the target before they click through. Summary This guide covers how to: Create Oneboxes Use inline Oneboxing Avoid Oneboxing Use hyperlinks ins…

> [@Onebox challenges](https://meta.discourse.org/t/onebox-challenges/102586/9):
>
> Have you verified whether that page contains valid opengraph data to onebox?

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [12.Январь.2020 20:47:54 UTC](https://meta.discourse.org/t/link-preview-not-working-for-specific-site/135568/12 "2020-01-12T20:47:54Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
