Да, отдельная посадочная под каждую программу критична. Одна страница «Программы обучения» на всё - типичная ошибка, которая стоит 60-80% потенциального трафика.
Базовое правило: один интент - одна страница. «Курс UX-дизайна» - отдельно. «Курс UX-дизайна онлайн» - отдельно (другой интент). «Курс UX-дизайна для начинающих» - отдельно. «Курс UX-дизайна Москва» - отдельно. Не объединять в одну общую - потеряете позиции по каждому конкретному запросу.
Что должно быть на странице программы: уникальный H1, описание программы по модулям, длительность, формат, цена, документ выпускника, упоминание лицензии (если применимо), преподаватели с ссылками на их персональные страницы, кейсы выпускников программы, отзывы, FAQ из 6-8 вопросов, форма записи.
Если программ 30 - 30 посадочных, не одна сводная. Это правило одновременно для пользовательского опыта и для алгоритмов: и пользователь, и поисковик ищут конкретный ответ на конкретный вопрос.
Кейс УЦ Кайрос построен именно на этом подходе - каждая программа имеет свою посадочную, плюс programmatic-расширение под комбинации «программа × город». Подробнее - на странице по SEO для образования.