За часів HTML4 більшість веб-сторінок складалися з нескінченної каскадної сітки тегів <div> з відповідними класами (class="header", class="footer", class="content"). Такий підхід робив верстку позбавленою контекстного значення для пошукових роботів та екранних дикторів (Screen Readers).
З появою специфікації HTML5 розробники отримали повноцінний набір семантичних тегів. Семантичний тег чітко описує своє значення як для браузера, так і для розробника, алгоритмів пошукових систем (наприклад, Googlebot) та асистентів доступності (A11y).
1. Основні структурні теги макету (Layout Elements)
Ці теги формують кістяк документа і замінюють стандартні макетні div-блоки:
<header>— визначає «шапку» сторінки або окремого блоку/статті. Зазвичай містить логотип, навігацію, пошукову стрічку або вступні заголовки.<nav>— контейнер для основних навігаційних посилань. Допомагає пошуковим ботам та екранним дикторам миттєво ідентифікувати меню сайту.<main>— унікальний основний контент сторінки. На сторінці може бути лише один тег<main>(не повинен вкладатись у<article>чи<header>).<article>— самодостатній автономний блок контенту, який можна відчужено поширювати чи републікувати (наприклад, стаття в блозі, картка товару, допис у соцмережі чи коментар).<section>— тематичне групування контенту, як правило, з власним заголовком (<h2>–<h6>). На відміну відarticle, не має самостійного значення поза контекстом сторінки.<aside>— бокова панель (сайдбар) або блок із додатковим контентом, який опосередковано пов’язаний з основним матеріалом (схожі статті, реклама, віджети).<footer>— «підвал» сторінки або секції. Містить інформацію про авторські права, контакти, посилання на юридичні аспекти та соцмережі.
2. Порівняльний аналіз: Корисні семантичні теги та їх призначення
| Тег | Семантична роль | Типовий кейс використання |
|---|---|---|
<figure> та <figcaption> |
Групує медіа-контент (зображення, графік, код) та додає до нього офіційний підпис. | Ілюстрації у статтях, діаграми з описом джерела. |
<time> |
Позначає дату/час у машиночитаному форматі через атрибут datetime. |
Дата публікації статті, час проведення події для мікророзмітки (Schema.org). |
<mark> |
Виділяє текст, який має контекстну актуальність (підсвічування). | Результати пошуку на сайті, акцентування важливих цитат. |
<details> та <summary> |
Створює нативний інтерактивний розкривний блок (аккордеон) без використання JavaScript. | Розділи частих запитань (FAQ), приховані технічні характеристики. |
<address> |
Вказує контактну інформацію автора або власника веб-ресурсу. | Контактні дані у футері або на сторінці «Про нас». |
3. Практичний приклад вірної HTML5-структури
Ось як виглядає чистий, семантично коректний код типової сторінки публікації:
<!DOCTYPE html>
<html lang="uk">
<head>
<meta charset="UTF-8">
<title>Заголовок сторінки</title>
</head>
<body>
<header>
<a href="/">Логотип</a>
<nav>
<ul>
<li><a href="/about">Про нас</a></li>
<li><a href="/blog">Блог</a></li>
</ul>
</nav>
</header>
<main>
<article>
<header>
<h1>Як правильно використовувати HTML-семантику</h1>
<p>Опубліковано: <time datetime="2026-09-26">26 вересня 2026</time></p>
</header>
<section>
<h2>Вступ</h2>
<p>Текст вступу...</p>
<figure>
<img src="semantic-tree.webp" alt="Дерево семантичних тегів HTML5">
<figcaption>Рис 1. Структура семантичних елементів.</figcaption>
</figure>
</section>
<section>
<h2>Часті запитання</h2>
<details>
<summary>Чи впливає семантика на SEO?</summary>
<p>Так, пошукові роботи краще розуміють ієрархію контенту.</p>
</details>
</section>
</article>
<aside>
<h3>Схожі матеріали</h3>
<!-- Посилання на інші статті -->
</aside>
</main>
<footer>
<address>
Київ, вул. Хрещатик, 1 | email: info@example.com
</address>
<p>© 2026 Всі права захищені.</p>
</footer>
</body>
</html>
Порада щодо SEO та Accessibility: Використання семантичних тегів автоматично створює для сторінки вбудовані ARIA-ролі (Landmarks). Наприклад, тег
<nav>отримує рольrole="navigation", а<main>—role="main". Це дозволяє користувачам із вадами зору легко переміщатися сайтом за допомогою скрінрідерів, а краулерам Google — визначати першорядний контент для кращого індексування.