Встраивание списка тем Discourse на другой сайт

Я вижу все запрошенные темы: https://forum.flowster.app/embed/topics?discourse_embed_id=de-k0ofgk7q0&category=17&per_page=5&template=complete&top_period=all

Возможно, div, в котором находится iframe, слишком мал, чтобы вы могли увидеть остальные?

2 лайка

@Falco Спасибо за помощь! По этой ссылке я вижу несколько тем, но почему этот HTML-код не работает? Я что-то неправильно делаю с тегом <d-topics-list>?

<!DOCTYPE html>
<html lang="en">
  <head>
	<script src="https://forum.flowster.app/javascripts/embed-topics.js"></script>
</head>
<body>
	<d-topics-list discourse-url="https://forum.flowster.app" template="complete" top_period="all" category="17" per-page="5"></d-topics-list>
</body>
</html>
2 лайка

Кто-нибудь знает ответ? Почему мой HTML-код выше не работает? :cry:

2 лайка

Когда Google рендерит страницу, на которой используется функция встраивания тем Discourse, похоже, что он использует заглавные элементы <div>.

Ниже представлен скриншот отрендеренного HTML из консоли поиска Google.

2 лайка

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

Если это может быть полезно для других сайтов, можно ли добавить параметр last в код встраивания, чтобы пользователей автоматически перекидывало к последнему сообщению в теме вместо первого?

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

7 лайков

Я считаю, что стоит ещё раз поднять этот вопрос, так как это довольно серьёзная проблема с SEO на странице.

Заголовки для URL, созданных с помощью встроенных тем, содержат x-robots-tag: noindex,indexifembedded.

indexifembedded предназначен только для Google.

Это должно выглядеть примерно так: X-Robots-Tag: googlebot:noindex,indexifembedded.

Или, возможно, стоит вообще убрать этот тег.

Главный минус в том, что Bing или любой другой краулер не проиндексирует и не учтёт контент, отображаемый через встроенную тему (поскольку он реагирует только на часть noindex).

Пример URL

1 лайк

Именно этого мы и хотим, верно? Я не хочу, чтобы какие-либо краулеры напрямую индексировали что-либо в /embed/topics.

2 лайка

Привет, @Falco

Я не думаю, что это так, ведь в таком случае мой пример URL не будет проиндексирован.

https://discuss.flynumber.com/embed/topics?discourse_embed_id=de-d49rj6kge&template=complete&allow_create=true&search=Australia&per_page=5

Google сканирует эти URL как отдельные адреса, отличные от URL страницы, на которой отображается встроенная тема.

Он всё равно будет сканировать мой URL

https://www.flynumber.com/products/virtual-phone-number/australia

но Bing, перейдя на URL embed/topics, увидит директиву noindex и не учтёт это в отношении вышеуказанного URL.

В то время как Google не будет индексировать URL embed/topics, но, поскольку он понимает параметр “indexifembedded”, он всё равно засчитает этот контент для страницы, на которой отображается встраивание.

2 лайка

После использования этого, вот несколько отзывов…

Было бы здорово включить несколько category, а не только одну. Мне пришлось повозиться, чтобы скрыть определённые темы. Для этого работает exclude_tag.

Однако я создал тег admin, который добавляю к темам, не предназначенным для отображения в виджете. Когда я попытался изменить настройку для моего тега admin на «Теги видны только следующим группам», функциональность exclude_tag перестала работать.

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

Кто-нибудь пробовал встраивать Discourse на страницу Salesforce, например Community, используя LWC? Мне кажется, что тег там не будет распознан.

Не конец света, но параметр поиска не включает теги, привязанные к теме.

У меня, например, вот так:

<div class="rss-widget">
<h2 style="text-align: center;">Форумные темы, связанные с США</h2>
<hr>

<script defer src="https://discuss.example.com/javascripts/embed-topics.js"></script>

<d-topics-list discourse-url="https://discuss.example.com"  template="complete" search="usa" per-page="7"></d-topics-list>
</div>

Это не отображает темы с тегом “usa”, но если ввести “usa” в теле сообщения, они появятся.

1 лайк

Привет!
Возможно ли отображать теги (или категорию) темы во встроенном списке? Или добавить CSS-классы, доступные на главной странице, чтобы мы могли стилизовать темы?

Кажется, я ищу возможность сделать встроенный список тем таким же, как список тем на главной странице… например, вот этот: Topics tagged official

2 лайка