Пользовательский маршрут не индексируется/не отображается в представлении краулера

Продолжение от: Creating Routes in Discourse and Showing Data

Извините за пост на старую тему, но, похоже, это подходящее место для вопроса…
После изучения этого и других руководств по созданию маршрута и отображению данных

Я повторил это для неадминистративной страницы /snack, и всё работает, данные отображаются идеально!
Вот примерно так это выглядит:

...</header>

<h1>donut</h1>

<hr>

<p>delicious!</p>

<footer>...

Но я только что понял, что эта страница нигде не индексируется, не сканируется, не включается в карту сайта, не оптимизирована для SEO и так далее. Похоже, это потому, что страницы Discourse имеют версию для «краулеров» без JavaScript…

Итак… после изучения вышеупомянутого руководства, что делать дальше, чтобы отобразить те же данные на версии «для краулеров», то есть на версии этой страницы без JavaScript?

Сейчас версия без JavaScript выглядит так:

...</header>

пусто

<footer>...

Там написано «пусто» как обычный текст… Это потому, что загружается файл по умолчанию empty.html.erb, верно? Как сделать так, чтобы там отображалось наше { name: "donut", description: "delicious!" } вместо этого? :slight_smile:

Пытался кое-что найти в Google, но ничего полезного не нашёл…
Вот такие вещи, как… respond_to do… и format.html… и format.json…
И разные варианты render plain, text, html…
Ничего…

:frowning:

Может быть, отдельный шаблон .html.erb для версии без JavaScript?
Как его назвать? Где разместить? Как передать в него { name: "donut", description: "delicious!" }?

:frowning:

Помогите :grinning:

Не знаю. Но вам определённо нужен шаблон без JavaScript. Что произойдёт, если вы откроете страницу с отключённым JavaScript?

Отображается обычная страница без JavaScript — заголовок, подвал…

Но это ожидаемо, так как каждый урок охватывает только то, как передавать JSON-данные в шаблон Ember…

Страницы только на JavaScript, насколько мне известно, не индексируются.

Возможно, вам стоит взглянуть на то, над чем я работал:

Зачем вы показываете мне это? ^^ Я спрашивал о туториале Создание маршрутов в Discourse и отображение данных… Я следовал ему. У меня есть маршрут. У меня есть данные: { name: "пончик", description: "вкусно!" }. Маршрут читает JSON и отображает эти данные.

Как получить эти же данные на страницу для краулера?

Как поможет мне другая версия плагина статических страниц? ^^ Существует множество плагинов для статических страниц, большинство из которых мертвы и заброшены. Так что… ура… ещё один…

Я нашёл тему с таким же вопросом: How to transfer data from plugin to app/views templates?. Но ему тоже никто не помог ^^ И, похоже, его решение заключалось в том, чтобы перестать использовать Discourse ^^

Это единственное «настоящее» решение? :slight_smile:

Это плагин для Discourse, который в конечном итоге рендерит бэкенд-шаблоны, доступные для поисковых роботов и имеющие собственные маршруты — вот причина. Возможно, вы могли бы:

  1. использовать его
  2. адаптировать под свои нужды?

Подумав, я рекомендую вам ознакомиться с базовым плагином, без расширений:

Но решать вам.

Так что вы явно знаете, как это сделать…
Не могли бы вы просто показать, как это делается? ^^

Например: «Чтобы надпись

Привет, @MrBug :slight_smile:

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

Я закрываю эту тему сейчас.