Before HTML5 appeared, developers have to use tag with css, such as <div class="myFavoriteHeaderName">
to define page structure elements; however, each developer has his/her own favorite names for the structure elements. That’s hard to read for either other developers or search engines such as Google. Considering the situation, HTML specification organizers introduced many structural/semantic elements in HTML5.
header | |
nav | |
article section1 section2
| aside |
footer |
Header: logo, banner in it.
Nav: navigation links or menu.
Article: a standalone article.
Section: used to organize a long document.
Aside: put content related to the article. You may regard it as a side bar for navigation, but you need css to control aside tag location.
Footer: terms, privacy, and copyright information in it.