TL;DR: частично возможно имитировать краулинг Googlebot на Discourse. Вот как начать…
Станьте Googlebot
Откройте окно в режиме инкогнито (всегда начинайте заново)
Откройте DevTools
Откройте Network Conditions в DevTools
Снимите галочку с «Use browser default»
В выпадающем меню выберите Googlebot Smartphone
Затем перейдите на https://meta.discourse.org (выглядит совсем иначе; не проблема, ведь вашему Googlebot и ботам это не важно)
Перейдите в View > Developer > View Source
Скопируйте код и вставьте его в файл с расширением .html
Отличная работа! Вы создали файл, на который ссылаются люди, чтобы увидеть, что Googlebot проиндексировал и закешировал.
Работа Googlebot завершена. Теперь нужно отрендерить закешированный файл в браузере.
Станьте Chrome
Откройте терминал и выполните команду npx http-server
Перейдите к файлу
Откройте Chrome DevTools
На панели Elements щелкните правой кнопкой мыши по тегу <html... и выберите Copy outerHTML.
Это тот контент, который будет индексироваться, а не кешироваться — именно он индексируется.
Итог: Googlebot получает HTML, а Chrome его рендерит. Отрендеренный HTML — это золото. Убедитесь, что ваш ценный контент и ссылки отображаются именно там.
Кэшированный HTML-код отображается в Chrome (headless). При отображении через JavaScript в DOM могут добавляться дополнительный текст и ссылки. Google учитывает эту информацию при индексации.
Именно так Googlebot получает контент из приложений, heavily использующих JavaScript. Перейдите в Google, выполните поиск по запросу, который вы знаете, отображает контент только с помощью JavaScript > нажмите на иконку с тремя точками > нажмите кнопку “Сохранённая копия” > нажмите “Просмотреть исходный код” > скопируйте его и отобразите в Chrome, чтобы увидеть, какой контент появляется в DOM.
Примечание: Перед отображением в Chrome обновите все относительные пути (ресурсы CSS и JS) на абсолютные ^^
Обязательно добавьте строку user agent для Googlebot, например: Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html). Сервер может отправлять Googlebot другой HTML-код.
Думаю, вывод будет таким же, но наличие User-Agent не повредит. Насчет Chrome я не уверен, но в Firefox можно кликнуть правой кнопкой мыши по запросу во вкладке «Сеть» и выбрать «Копировать как cURL», чтобы получить полный набор заголовков, имитирующий запрос браузера.