Что можно изменить, чтобы указать несколько категорий?
Можно ли ожидать, что это будет работать, если «другой сайт» запущен локально на http://localhost:8000, а сайт Discourse находится не локально на поддомене https? Или же «другому сайту» тоже потребуется «настоящий» домен?
Файл скрипта, похоже, загружается корректно, и в консоли JS я не вижу ошибок. «Другой сайт» — это Gatsby/React-сайт; я добавляю элемент <d-topics-list>, когда страница отрисована в браузере, используя useEffect, и в живом DOM всё выглядит правильно (см. скриншот)…

Переход с https на http обычно вызывает проблемы, но вы можете убедиться в этом, открыв консоль браузера F12.
Ага, проблема, похоже, в том, что React вмешивается в клиентский DOM, сбрасывая его до состояния, соответствующего серверному рендерингу (с элементом <d-topics-list> в исходном виде), сразу после того, как скрипт embed-topics.js вставляет iframe.
Кто-нибудь знает, в чём причина этой ошибки??
Последняя сборка Discourse
Последняя версия Chrome
Отказано во встраивании ‘https://vapingcommunity.co.uk/’, так как один из предков нарушает следующую директиву политики безопасности контента: “frame-ancestors ‘self’”.
Скорее всего, это связано с данным изменением: (cc @falco)
Зарегистрирован ли ваш основной сайт в разделе Администрирование > Настройка > Встраивание?
Бинго! Не заметил этого изменения, теперь всё работает идеально, большое спасибо ![]()
У кого-нибудь возникают ошибки «Refused to frame»?
Я включил встраивание тем и получаю:
Refused to frame 'https://myforumurl.com/', так как предок нарушает следующую директиву Content Security Policy: "frame-ancestors 'self'".
Пытаетесь ли вы встроить весь форум на другой сайт? Это не сработает.
Автор оригинального поста описывает, как встроить списки тем на другой сайт, но вы не можете запускать Discourse в iframe по причинам, которые вы описали.
Нет, только последние темы. Я следовал инструкциям, чтобы включить встраивание темы в настройках, и скопировал скрипты в заголовок и тело хост-сайта. Не уверен, вызвана ли ошибка тем, что на тестовом сайте разработки еще нет SSL.
Это связано с настройками безопасности вашего сайта, а не со стороны Discourse.
Всё заработало. Просто не прочитал инструкции достаточно внимательно ![]()
Всё работает отлично, единственная проблема в том, что Google индексирует сам URL iframe.
Например, я встроил темы Discourse на эту страницу.
Google вроде бы правильно индексирует указанную выше страницу… но также индексирует следующие URL, которые я хотел бы исправить:
Можно ли добавить мета-тег noindex на эти страницы? Или ещё лучше — внедрить новый тег Google на эти страницы:
Интересно, спасибо за совет @nader. Нужно ли нам по умолчанию добавлять этот новый тег в <iframe> @falco или сделать это настройкой?
Этого должно быть достаточно
Просто хотел отметить, что сейчас всем поисковым роботам отправляется заголовок ' noindex, indexifembedded ', хотя поддержку нового параметра indexifembedded предоставляет только Google согласно их документации.
Вероятно, стоит изменить это на x-robots-tag: googlebot:noindex, indexifembedded
Или вовсе убрать, так как директива noindex может иметь непредвиденные последствия для других поисковых систем.
Сомневаюсь, что лишнее слово особенно вредно для других краулеров. Есть ли у вас какие-либо доказательства этого, например, говорят ли какие-либо другие краулеры сайтам не использовать indexifembedded?
(В большинстве случаев при написании такого кода вы обычно игнорируете любые теги HTML, которые не ожидаете — это своего рода стандарт для HTML.)
Я этого не вижу, но на странице Google действительно указано:
В настоящее время только Google поддерживает тег
indexifembedded.
Я согласен, что они проигнорируют indexifembedded, но меня беспокоит, что noindex может вызвать проблемы с SEO для страницы, на которой он размещен.
Итак, пусть Bing просканирует URL, содержащий встроенные темы. Он просканирует этот URL, а также URL встраивания:
/embed/topics?discourse_embed_id=XXXXXX....
Если вышеуказанный URL помечен как noindex, я беспокоюсь, что это навредит SEO страницы, на которой размещена встроенная тема.
Это решается использованием x-robots-tag: googlebot:noindex, indexifembedded, но я понимаю, почему Discourse может не хотеть отдавать предпочтение одной поисковой системе. Надеюсь, это станет стандартом, но пока, похоже, это касается только Google.
Привет! Хотелось бы уточнить, нет ли пока встроенного способа заставлять встроенные темы открываться с атрибутом target="_blank" вместо target="_parent"?
Просто интересно, почему отображается только одна тема? Кто-нибудь знает?
Вот категория (в которой много тем): Amazon Specific - eCommerce Sellers Forum
И код для вставки:
<d-topics-list discourse-url="https://forum.flowster.app" template="complete" top_period="all" category="17" per-page="5"></d-topics-list>
Но отображается только одна тема:
![]()
