Если не считать платформы, на которой разрабатывается система, то можно выделить 3 уровня архитектуры:

1. Ядро — общий функционал, требуемый для работы подсистем верхних уровней. Например: определение типов записей, таксономий, стили и прочие автоматические механизмы типа автозаполнения полей через GET-метод. Без этого функционала почти все другие компоненты перестанут нормально функционировать.

2. Общие — это компоненты которые применяются во многих процессах, более или менее автономны и другие компоненты могут полностью или частично обходиться без них. За редким исключением. Например «Календарь» или SMS-шлюз.

3. Прикладные — компоненты, которые предназначены для конкретных процессов. Например «Персонал», «Финансы» или «ITSM».