К содержанию

Wiki · Техническая оптимизация

Семантическая вёрстка

Семантическая вёрстка – это HTML-разметка, в которой теги выбирают по смыслу содержимого, а не по внешнему виду: шапка в header, меню в nav, основной текст в main и article, заголовки в тегах h1, h2, h3, списки в ul и ol.

Две страницы могут выглядеть в браузере одинаково. Первая собрана из сотни безликих <div>, вторая размечена смысловыми тегами. Человеку с обычным экраном разницы не видно. Программе экранного доступа, поисковому роботу и браузеру в режиме чтения видно сразу: во втором случае понятно, где меню, где основной текст, а где подвал с реквизитами.

Семантические теги и каркас страницы

ТегДля чего
headerШапка страницы или отдельного блока
navОсновная навигация: меню, хлебные крошки
mainОсновное содержимое, один на странице
articleСамостоятельный материал: статья, новость, отзыв, карточка товара
sectionСмысловой раздел со своим заголовком
asideВторостепенное: сайдбар, связанные материалы
footerПодвал страницы или блока
figure, figcaptionКартинка, схема или таблица с подписью
time, addressДата и контактные данные
button, aКнопка для действия и ссылка для перехода

К семантике относятся и старые теги: заголовки, списки, таблицы для табличных данных, <strong> для действительно важного текста. Собранный из них каркас страницы услуги выглядит так:

<header>логотип, телефон</header>
<nav>главное меню</nav>
<main>
  <article>
    <h1>Монтаж пластиковых окон</h1>
    <section><h2>Цены</h2> ... </section>
    <section><h2>Гарантия</h2> ... </section>
  </article>
  <aside>похожие услуги</aside>
</main>
<footer>адрес, реквизиты</footer>
Схема семантического каркаса страницы: header, nav, main с article, section и aside, footer с адресом и реквизитами
Семантический каркас страницы

Что семантика даёт людям, роботам и разработчикам

  • Доступность. Программы экранного доступа строят по тегам навигацию: человек может сразу перейти к основному содержимому или к меню. Кнопка, сделанная из <div>, часто не нажимается с клавиатуры.
  • Поиск. Роботу проще отделить основной текст от повторяющегося шаблона. Списки и таблицы удобнее превращать в быстрые ответы и в ответы нейросетевого поиска.
  • Режим чтения и сторонние сервисы. Браузеры, агрегаторы и мессенджеры точнее вытаскивают текст статьи.
  • Поддержка. Новый разработчик быстрее разбирается в коде, где блоки названы по смыслу.
Условный пример. В форме заявки поля подписаны серой подсказкой внутри поля, а кнопка «Отправить» сделана блоком div. Человек с программой экранного доступа слышит «поле ввода» без названия и не может добраться до кнопки с клавиатуры, хотя на экране форма выглядит нормально. Лечится двумя тегами: label у каждого поля и button вместо блока.

Честно о границах: поисковики не обещают прибавки в позициях за сам факт тега article. Семантика – это аккуратная основа, на которой лучше работают заголовки, перелинковка и разметка данных. Отдельных проблем с юзабилити она не решит.

С микроразметкой её часто путают. Семантические теги встроены в сам HTML и описывают роль блока: это меню, это статья. Schema.org добавляет поверх отдельный словарь и описывает данные: это цена, это рейтинг, это адрес организации. Одно не заменяет другое.

Сравнение вёрстки на div и семантической вёрстки HTML5: доступность, понимание структуры роботами и удобство поддержки кода
Вёрстка на div и семантическая

Как проверить разметку и с чего начать правки

  1. Прогоните страницу через валидатор W3C: он покажет ошибки вложенности и незакрытые теги.
  2. Запустите Lighthouse и посмотрите раздел доступности: кнопки без названий, нарушенный порядок заголовков, неправильные списки.
  3. Откройте в инструментах разработчика дерево доступности. Браузер строит его из DOM, и именно так страницу видит программа экранного доступа.
  4. Быстрый тест: отключите стили. Если страница читается сверху вниз в логичном порядке, с понятными заголовками и списками, каркас в порядке.
Чек-лист проверки семантической вёрстки: валидатор W3C, один main, заголовки в section, кнопки button, Lighthouse
Как проверить семантику страницы

На действующем сайте переписывать вёрстку целиком ради семантики редко оправдано. Обычно хватает правок в общих шаблонах, которые повторяются на всех страницах:

  1. Шапку обернуть в header, главное меню в nav, подвал в footer.
  2. Основное содержимое каждой страницы поместить в один main.
  3. Проверить заголовки: один h1, разделы текста размечены h2, служебные блоки без тегов заголовков.
  4. Заменить кликабельные div на button или ссылки.
  5. Добавить атрибут alt картинкам с содержанием и подписи label полям форм.

Правка в шаблоне делается один раз и сразу действует на весь сайт. Поэтому семантику выгоднее закладывать при разработке или редизайне.

Что ломает семантику: div вместо кнопок и section без заголовка

  • Вся страница на <div> и <span>, кнопки сделаны из блоков с обработчиком клика.
  • section используется как обёртка для оформления, без заголовка внутри.
  • Несколько видимых main на одной странице.
  • Таблица для раскладки блоков вместо сетки на CSS.
  • Ссылка без адреса для действия и кнопка для перехода на другую страницу.

Разметку шаблонов, заголовки и доступность проверяем при техническом аудите сайта. Исправления вносим при доработке существующего сайта или закладываем в разработку нового.

Когда ставить article, section, strong, b и nav

Чем article отличается от section?

Тег article получает материал, который понятен и без остальной страницы: статья, новость, отзыв. section лишь делит материал или страницу на части, и у каждой части свой заголовок. Простая проверка: если блок можно целиком переслать или отдать в RSS-ленту, это article.

Чем strong отличается от b, если на экране оба жирные?

По стандарту HTML strong помечает важное, срочное или серьёзное: условие договора, предупреждение. b привлекает внимание к слову, не добавляя ему веса, как название товара в обзоре. Одинаково жирными их делают стили браузера по умолчанию, а если выделение нужно только для красоты, его задают в CSS.

Где ставить nav: только вокруг главного меню или вокруг любых ссылок?

Тегом nav размечают крупные блоки навигации: главное меню, хлебные крошки, оглавление длинной статьи, переключатель страниц каталога. Пара ссылок на политику и реквизиты в подвале обойдётся без него, хватит footer. Если nav на странице несколько, подпишите их атрибутом aria-label, иначе программа экранного доступа покажет несколько одинаковых блоков «навигация».

Источники

Остались вопросы по теме «Семантическая вёрстка»?

Напишите нам в Telegram или MAX. Ответит специалист, который отвечает за эту тему, или руководитель проектов в рабочее время.

Сергей ПимкинОтвечает по темеСергей ПимкинВедущий SEO-специалист

Услуги

Услуги по теме

Все услуги →
до 1 месот 20 000 ₽ Технический аудит сайта Аудит включает в себя анализ сайта на предмет технических и SEO-проблем. В результате хорошо проведенного SEO-продвижения компания получает целевые позиции,... Подробнее индивидуальноот 4 200 ₽/⁠час Доработка сайта Дорабатываем работающие сайты: новые функции и разделы, правки дизайна, настройка модулей по вашему техническому заданию. Ставка 4 200 ₽ в час. Подробнее от 3 месот 80 000 ₽ Создание сайтов под ключ Создаём сайты от лендинга до интернет-магазина и личного кабинета: прототип, дизайн, вёрстка, запуск и поддержка. Платформу выбираем под задачу, чаще всего... Подробнее от 46 000 ₽/⁠мес SEO-продвижение сайтов Продвигаем сайты в Яндексе и Google по договору, с еженедельными созвонами и ежемесячным отчётом. Пример результата: «Медюнион» получает из интернета больше... Подробнее

Тарифы

Тарифы по теме

Все тарифы →
от 70 000 ₽/мес при оплате за 3 месяца, помесячно 80 000 ₽

Стартовый тариф для небольшого бизнеса: наводим порядок на сайте и получаем первые заявки из Яндекса и Google.

  • Техническая оптимизация сайта
  • Контентная оптимизация
  • Семантическое ядро под город или регион
  • Настройка Яндекс Вебмастера и Google Search Console
  • Цели в Яндекс Метрике
  • Ежемесячный отчёт по позициям, трафику и заявкам
  • Оптимизация поведенческих факторов
  • Оптимизация коммерческих факторов и E-A-T
SEO ProХит
от 90 000 ₽/мес при оплате за 3 месяца, помесячно 99 000 ₽

Тариф для растущего бизнеса. Работаем на количество заявок: считаем звонки через коллтрекинг и дорабатываем сайт под конверсию.

  • Техническая оптимизация сайта
  • Контентная оптимизация
  • Семантическое ядро под город или регион
  • Настройка Яндекс Вебмастера и Google Search Console
  • Цели в Яндекс Метрике
  • Ежемесячный отчёт по позициям, трафику и заявкам
  • Оптимизация поведенческих факторов
  • Оптимизация коммерческих факторов и E-A-T
от 135 000 ₽/мес при оплате за 3 месяца, помесячно 149 000 ₽

Для масштабирования бизнеса: SEO, A/B-тесты, карточки в Яндекс.Бизнесе и 2ГИС, техподдержка сайта. Нейросети берут на себя рутину, итог проверяют специалисты.

  • Техническая оптимизация сайта
  • Контентная оптимизация
  • Семантическое ядро под город или регион
  • Настройка Яндекс Вебмастера и Google Search Console
  • Цели в Яндекс Метрике
  • Ежемесячный отчёт по позициям, трафику и заявкам
  • Оптимизация поведенческих факторов
  • Оптимизация коммерческих факторов и E-A-T

Проверим ваш сайт бесплатно

Экспресс-аудит за 24 часа: скорость, индексация, мета-теги, коммерческие факторы и цели Метрики.