На моём контенте используются CSS-теги, и в настройках администратора встраивания я указал CSS-селекторы, но краулер их не обнаруживает. Я полагаю, что это связано с тем, что мой сайт создан на React, и CSS-селекторы недоступны. Как можно использовать эту функцию на сайте на React?
Возможно, это так, хотя я ожидал, что запрос, который Discourse отправляет на сайт, вернёт HTML. Ещё стоит проверить, что Discourse кэширует контент, полученный с внешнего сайта, в течение 10 минут. Это означает, что если вы меняете настройку сайта allowed embed selectors, вам придётся подождать до 10 минут, чтобы увидеть результат нового значения.
Если ваш сайт Discourse ещё не запущен в продакшн и у вас есть доступ к консоли Rails сайта Discourse, вы можете очистить кэш из консоли командой Rails.cache.clear.
Дополнительные сведения об этой настройке здесь: Configuring allowed embed selectors.
Редакция: Я думаю, что встраивание работает как положено. Просто для некоторых сайтов его сложно настроить. Я перенесу эту тему в раздел Support.
Несколько месяцев назад я создал тему #feature с предложением, что Discourse должен найти лучший способ парсинга встроенных постов: Topic embedding needs some love. Если никто не возьмётся за это раньше меня, я скоро уделю этому время.
Discourse представляет поисковым роботам иной вид. Чтобы его увидеть, вам нужно зайти с отключённым JavaScript.
Я не ожидаю, что встраиваемые сообщения будут индексироваться, поскольку они не существуют на сайте, где они встроены.
Привет, я имею в виду, как Discourse сканирует мой сайт на React с помощью функции встроенных постов. Мне трудно указать, какой контент включать в пост Discourse, из-за того, как он видит мою страницу на React.
Если это поможет, код, используемый для извлечения внешнего поста, находится здесь: discourse/app/models/topic_embed.rb at main · discourse/discourse · GitHub
Если у вас есть доступ к консоли Rails вашего сайта, вы можете протестировать его, чтобы получить представление о том, что происходит. Например:
TopicEmbed.find_remote("https://blog.discourse.org/2023/04/introducing-discourse-ai/")
Проблемы у меня возникали с методом parse_html, который вызывается в конце метода find_remote. Ruby Readability испытывает трудности с некоторым HTML/CSS.
Также возможно, что HTML не возвращается с вашего сайта на React. Вы можете подтвердить это, выполнив код из метода find_remote пошагово в консоли.
Это превосходно, спасибо!