With you choose elements by meaning, not by appearance. A link is an <a href>, a button a <button>, a list a real list. Appearance is controlled by , not by the .

Core semantic HTML5 elements are:

  • <header> and <footer> for header and closing areas,
  • <nav> for navigation,
  • <main> for the unique main content,
  • <article> for standalone content,
  • <section> and <aside> for sections and supplementary content.

A pure "div soup" hampers orientation, accessibility and machine understanding. Semantic HTML is not a guaranteed ranking factor, but it is clean markup that makes main content, navigation and extras clearly distinguishable, for people and machines alike.