Мы структурировали наш форум Discourse так, что видимость категорий строго контролируется группами. Наша цель — создать организованный и персонализированный опыт для авторизованных пользователей, при этом обеспечивая доступность публичного контента для SEO. Наша текущая настройка включает:
Доступ на основе групп — пользователи должны вступить в группу, чтобы увидеть определённые категории.
Отслеживаемые категории — при вступлении в группу пользователи автоматически начинают отслеживать связанные с ней категории.
Поведение заглушённых категорий — заглушённые категории должны быть свернуты по умолчанию.
Права доступа к поиску — авторизованные пользователи должны видеть только результаты поиска из категорий, к которым у них есть доступ.
Публичная видимость для SEO — незарегистрированные посетители (включая краулеров Google) должны видеть все категории и иметь возможность их индексировать.
Требование онбординга — новые пользователи должны выбрать группу перед началом участия.
Столкнувшиеся с нами проблемы
1. Видимость категорий на основе групп работает не так, как ожидалось
- Когда пользователь вступает в группу, ожидаемое поведение заключается в том, что категории группы должны появиться на главной странице и на странице категорий.
- Однако это не происходит мгновенно — иногда категории вообще не отображаются или появляются только после прокрутки вниз.
- Ранние созданные категории (например, Флеботомисты) работают корректно, тогда как недавно созданные (например, Судебный пристав) отображаются с задержкой или не появляются до ручной активации.
- Пользователи часто видят только заглушённые категории вместо ожидаемых отслеживаемых/наблюдаемых категорий.
- Временное решение: если пользователь вручную отключит заглушение хотя бы одной категории, остальные присоединённые категории начнут отображаться корректно.
2. Результаты поиска показывают несвязанные категории
- Авторизованные пользователи видят результаты поиска из категорий, к которым у них нет доступа.
- Ожидаемое поведение: Discourse должен ограничивать результаты поиска только категориями, назначенными группе пользователя.
- Наблюдаемое поведение: поиск всё ещё возвращает результаты из всех категорий, что означает, что пользователи могут видеть фрагменты контента, к которым у них технически нет доступа.
- Связанное обсуждение: разговор на ask[.]discourse[.]com подтверждает, что Discourse должен ограничивать результаты поиска на основе прав доступа групп.
3. SEO и краулинг Google против ограниченного доступа
- Мы хотим, чтобы все категории индексировались Google, чтобы контент можно было найти в результатах поиска.
- Однако мы не хотим, чтобы авторизованные пользователи видели все категории по умолчанию — только те, которые привязаны к выбранной ими группе.
- Текущая проблема: если мы скрываем категорию от авторизованных пользователей, она также исчезает из Google, что делает её индексацию невозможной.
- Идеальное решение: Google должен иметь возможность краулить и индексировать все категории, но результаты поиска для авторизованных пользователей должны по-прежнему ограничиваться правами доступа групп.
Вопросы к сообществу
Как обеспечить немедленное появление присоединённых категорий и их отображение выше заглушённых?
Как полностью обеспечить ограничение результатов поиска для авторизованных пользователей, сохраняя при этом видимость контента для SEO?
Есть ли способ разрешить Google индексировать все публичные категории, одновременно скрывая их от авторизованных пользователей до вступления в группу?
Какой лучший подход для принудительного выбора группы при регистрации, не блокируя при этом возможность публичных читателей находить контент?
Связанные обсуждения и ссылки
Доступ к категориям на основе групп работает не так, как ожидалось — Обсуждение задержек видимости категорий, переопределения настроек отслеживания заглушёнными категориями и проблем с поведением поиска.
[Результаты поиска ограничены правами доступа групп (ask[.]discourse[.]com)] — Подтверждает, что Discourse ограничивает результаты поиска на основе прав доступа групп, но нам нужен способ сбалансировать это с SEO.
Видео-демонстрация проблемы:
