Категории против тегов для «типа контента» против «тематики» — какие паттерны URL правильные?

Всем привет — ищу совета по структуре нашего Discourse. Если мы выберем Вариант 1, то при трёх уровнях категорий (L1–L2–L3) у нас получится 1200 категорий. Если же убрать L3, то останется около 150 категорий с уровнями L1 и L2.

Контекст
Мы публикуем несколько типов контента (вопросы, обсуждения, инструкции/статьи, события, вакансии, объявления) по разным темам. Например:

  • Тематические области (L1): Кулинария, Фотография
  • Подтемы (L2): Итальянская кухня (в рамках Кулинарии), Портрет (в рамках Фотографии)
  • Фокус (L3): паста, закваска, освещение, композиция

Я колеблюсь между двумя подходами и буду рад советам по лучшим практикам.


Подход A (тема = категории, тип контента = теги)

  • Категории

    • L1 (Тематическая область): cooking, photography
    • L2 (Подтема): italian, portrait
    • (Вопрос) Стоит ли добавлять третий уровень категорий для «Фокуса» (например, cooking → italian → pasta) или лучше оставить дерево категорий неглубоким и реализовать Фокус через теги?
  • Теги

    • Обязательный тег типа контента (ровно один): question, discussion, how-to, event, job, bulletin
    • Опциональный/обязательный тег фокуса: pasta, sourdough, lighting, composition, …

Шаблоны URL (Подход A)

  • Предзаполненный редактор (L2 + тип + опциональный фокус):
    /new-topic?category=cooking/italian&tags=question,pasta
  • Категория, отфильтрованная по одному тегу (например, «Вопросы по итальянской кухне»):
    /c/cooking/italian?tags=question
  • Пересечение тегов (И) (по всему сайту, например, «паста + вопрос»):
    /tags/intersection/pasta/question
  • Категория + несколько тегов (использовать Расширенный поиск):
    /search?q=category:cooking/italian%20tags:pasta+question

Вопросы по Подходу A

  1. Является ли лучшей практикой избегать третьего уровня категорий и держать «Фокус» в тегах?
  2. Есть ли подводные камни, когда страницы категорий поддерживают фильтрацию только одним тегом (?tags=), и для фильтрации по нескольким тегам в рамках одной категории приходится использовать Расширенный поиск?

Подход B (тип контента = категории, тема = теги)

  • Категории: один или несколько верхних уровней для Вопросов, Обсуждений, Инструкций, Событий, Вакансий, Объявлений.

  • Теги (три группы для темы):

    • Тематическая область (например, cooking, photography) — максимум один
    • Подтема (например, italian, portrait) — максимум один
    • Фокус (например, pasta, lighting) — 1 обязательный (или опциональный)

Шаблоны URL (Подход B)

  • Предзаполненный редактор (категория типа + теги темы):
    /new-topic?category=questions&tags=cooking,italian,pasta
  • Просмотр типа по теме (например, Вопросы об итальянской кухне):
    /c/questions?tags=italian (несколько тегов + категория → Расширенный поиск)
  • Пересечение тем по всему сайту (независимо от типа):
    /tags/intersection/italian/pasta

Вопросы по Подходу B

  1. Разделяет ли контент по категориям «типов» затрудняет ли навигацию по темам?
  2. Есть ли проблемы с требованием указывать несколько групп тегов (Тематическая область + Подтема + Фокус) для каждой темы?

Общие вопросы

  • Лучшие практики на сегодня: Держать неглубокое дерево категорий (1–2 уровня) и переносить детализацию в теги?
  • Когда оправдан третий уровень категорий? Только для действительно объёмных тем Фокуса, которым нужны отдельные права доступа или целевые страницы?
  • Ограничение функционала: Если мы включим Решение/Голосование, лучше ограничивать их по категориям тем в Подходе A или по категориям «Вопросов» в Подходе B?
  • UX редактора: Остаются ли предзаполненные ссылки редактора (/new-topic?category=...&tags=...) предпочтительным способом引导 авторов?
  • UX поиска: Есть ли более новые паттерны для фильтрации по категории + нескольким тегам (помимо Расширенного поиска), о которых нам стоит знать?

Заранее спасибо за советы, примеры и истории «что сработало у вас»!

1 лайк

Я думаю, что ответ во многом зависит от ваших ожиданий относительно того, насколько различные темы внутри вашего сообщества будут интересны конкретному участнику.

Ожидаете ли вы значительного пересечения между группами, обсуждающими фотографию и кулинарию? Если да, то теги для этих разных тем, вероятно, будут работать хорошо.

Или вы пытаетесь обслуживать несколько субсообществ — одно для кулинарии, другое для фотографии — в рамках одного и того же сайта? Если так, вам, возможно, больше подойдут категории для каждого из них.

Я исхожу из предположения, что вы говорите о едином сообществе, где люди вместе обсуждают множество тем.


Моя рекомендация — начать с чего-то похожего на подход B.

Наличие разных категорий для различных типов контента позволит вам более четко сигнализировать о том, какой это вид обсуждения и какое поведение ожидается от участников. В некоторых случаях вы можете усилить это, настроив категории под эти цели (например, используя плагин «solved» для категории вопросов и ответов).

Затем в первую очередь опирайтесь на теги для тематического содержания. Это дает вам свободу применять несколько тегов к обсуждениям, когда есть пересечения (например, фото готовки!).

Если в какой-то момент вы заметите, что полезно более четко отделить одни темы от других, вы сможете использовать теги для помощи в перекатегоризации.

В целом мы рекомендуем меньше категорий, а не больше, особенно на начальном этапе, а также более плоскую иерархию вместо глубокой. По умолчанию поддерживается только два уровня вложенности. Чтобы включить поддержку третьего, нужно приложить дополнительные усилия.

Не думаю, что люди активно используют URL для предварительного заполнения редактора. Я могу представить, что это может быть полезно в некоторых сценариях, но предлагаю пока отложить эту идею, пока не возникнет в ней реальной необходимости.

Для улучшения обнаружения контента стоит также обратить внимание на страницу /filter, которая позволяет создавать более кастомные списки тем. Эту страницу можно настроить в боковой панели вашего сайта: Filtering topic lists in Discourse

2 лайка

Спасибо, Mcwumbly. Я понимаю, что в моем предыдущем вопросе не был раскрыт полный контекст — сформулировать это было немного непросто. Вот дополнительная информация, чтобы описать наш сценарий использования и ожидания пользователей: мы создаем форум в следующем контексте:

(Нишевый форум только о еде для иллюстрации структуры)

1) Тематика (три уровня; могут быть категориями или тегами)

  • Уровень 1 = КухняИтальянская, Карибская, Индийская, Мексиканская
  • Уровень 2 = Фокус — примеры: паста (в рамках итальянской), тако (в рамках мексиканской), чат / тандури (в рамках индийской)
  • Уровень 3 = Микрофокус — техники/блюда/ингредиенты, например, экструдированная паста, наан, гуахильо, су-вид

Реальность использования: Около 70% постов публикуются на Уровне 2 (Фокус) в сочетании с Уровнем 3 (Микрофокус).
• Если Уровень 3 — это категория, тема публикуется в Уровне 3. (Важное замечание: здесь категории Уровня 3 будут иметь значительно более длинные названия по сравнению с Уровнем 2 и Уровнем 1)
• Если Уровень 3 — это тег, тема публикуется в Уровне 2 с прикрепленным тегом Уровня 3.

2) Типы контента (сквозные; могут быть категориями или тегами)

Каждому типу темы требуется отдельная форма редактора:

  • ВопросПроблема • Что я пробовал • Окружение • Ожидаемое vs. Фактическое
  • Инструкция / СтатьяПредварительные требования • Шаги • Проверка • Подводные камни
  • СобытиеНачало/Конец • Часовой пояс • Место/Ссылка • Подтверждение участия (RSVP)
  • ВакансияДолжность • Место/Удаленно • Требования • Как подать заявку
  • (Дополнительно) Обсуждение

3) Открытое решение (отражает корпоративный случай)

  • Должны ли Кухня / Фокус / Микрофокус быть категориями (с вспомогательными тегами) или тегами (с тонким слоем категорий)?
  • Должны ли типы тем быть категориями (простые шаблоны для каждого типа) или тегами (сохраняют Кухню/Фокус как основное «место»)?
  • Учитывая, что 70% активности приходится на Фокус + Микрофокус, какой вариант лучше всего сохраняет сильные посадочные страницы Фокуса, сохраняя при этом простую информационную архитектуру?

Краткое изложение наших ограничений и целей (применимо к обоим вариантам)

  • Сделать навигацию интуитивно понятной там, где пользователи проводят больше всего времени (Уровень 2 + Уровень 3)… как нам при этом обеспечить контекст (ссылка на Уровень 1, будь то итальянская или мексиканская кухня, откуда был сделан пост, с точки зрения хлебных крошек или SEO)
  • Избегать избыточного раздувания категорий, но при этом предоставлять четкие «центры притяжения» для тем с высоким трафиком.
  • Обеспечивать ровно один тип контента на тему и поддерживать пересечения тематик (например, Программное обеспечение + Техническая область или Кухня + Фокус).
  • Гарантировать, что для каждого типа контента будет отображаться нужная форма редактора, независимо от того, моделируются ли типы как категории или теги.

Мы ищем рекомендации по тому, какой выбор моделирования (категории против тегов для Тематики и Типов контента) лучше всего соответствует этим ограничениям, учитывая, что основное взаимодействие происходит на Уровне 2 + Уровне 3 с разными типами контента и разными формами для каждого типа.}

2 лайка

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

Поскольку такой информации пока нет, мы, разумеется, вынуждены обобщать, и полученные вами рекомендации могут подойти вам, а могут и нет.

Тем не менее, исходя из того, что вы уже рассказали, я бы предложил следующий подход:

  1. Сначала создавайте категории только для типов использования (вопросы, события и т. д.); для предметной области используйте теги.
  2. По мере появления субсообществ, которым требуется собственное пространство, создайте для них категорию верхнего уровня. Создайте общую категорию верхнего уровня «Субсообщества» (название на ваш выбор) и подкатегории для каждого из них — внутри этих категорий не должно быть категорий, основанных на типах использования. Предполагается, что здесь будут более свободные обсуждения в рамках формирующихся сплоченных групп, которые, возможно, углубляются в какую-то тему вместе, продолжая при этом участвовать в других категориях верхнего уровня.
  3. Если эти субсообщества вырастут до такой степени, что им понадобятся собственные категории, основанные на типах использования, переведите их в категории верхнего уровня и дублируйте внутри них подкатегории, основанные на типах использования (вопросы, события и т. д.); поместите исходный набор категорий под более общую категорию верхнего уровня, чтобы обозначить «основное» сообщество.
  4. Продолжайте использовать теги для связывания контента во всех этих категориях по предметной области.
2 лайка

Спасибо, Mcwumbly, за ваш ответ. Было логично учесть мнения других участников при выборе подхода. В итоге мы сформировали подход, опираясь на ментальную модель потока и рекомендуемый способ работы, предложенный в дискурсе.

2 лайка