Можно ли настроить Discourse так, чтобы он был открыт для незарегистрированных посетителей и Google для базового контента, но требовал входа для доступа к премиум-контенту? Желательно с визуальным различием между бесплатным и премиум-контентом.
Да, просто поместите премиум-контент в защищённые категории.
Например, вы можете использовать плагин «Подписки», чтобы добавлять пользователей в премиум-группы и разрешать только этим группам просматривать указанные категории.
Что касается внешнего вида, многие компоненты тем позволяют настраивать их отображение в зависимости от категории, а также создавать собственные элементы на свой вкус.
Через категории, конечно.