Когда появляются вопросы толкования тегов, я обращаюсь к источнику, в данном случае источником является
стандарт от w3.org.
Согласно данному стандарту, существует тег
main для представления основного контента. Данный тег может встречаться на страницу только один раз.
Тег
article представляет самостоятельную законченную сущность. Тэг может быть вложенным, но тогда он должен отвечать основной тематике родительского тега.
Тэг
header, в свою очередь, представляет вводную к тексту, вопреки пониманию верстальщиков о хедере и футере. В вашем случае этот элемент стоит применить к абзацам с превью справа.
Тэг
aside служит для представления блока дополнительного контента, как например блок справа на примере.
Тэг
nav используется для указания блоков навигации.
Тэг
section используется для тематической группировки контента.
Я предлагаю Вам
такую структуру, но возможны и варианты.
Главной ошибкой предложенной Вами семантики я вижу отсутствие выделения основной статьи тегами (Вы используете для этого классы).