Я думаю, это зависит от того, насколько большим будет ваш сайт. Наличие логических имен для ваших контроллеров - это самая важная часть, поэтому очень важно облегчить навигацию по источнику.
Как правило, я считаю хорошей идеей взять листок из книги CRUD, если вы не уверены, особенно если вы имеете дело с моделью данных, которая ее поддерживает. Для конкретного модуля (скажем, «Продукты») у вас будет контроллер, отвечающий за создание, чтение, обновление и удаление (а также индекс для просмотра).
Если ваш сайт менее CRUDDY (например, переполнение стека, вероятно), тогда разделение контроллеров на логические области (как, например, «PostController», «SearchController» и т. Д.) Может быть более полезным, но это действительно зависит на вашем сайте и это архитектура.
Извините, я не могу быть более полезным, в большинстве случаев лучше учиться в любом случае. Если вы новичок, используйте подход, который, по вашему мнению, лучше всего основан на предложениях и примерах, которые вы видели. Хорошая мысль о .NET и ASP.NET MVC заключается в том, что последующий рефакторинг довольно прост.