#17 · Метатеги

Атрибут lang в <html>

Что это, почему влияет на SEO, как проверить и исправить. Параметр #17из 150 в нашем чек-листе аудита.

Что это

Атрибут lang — это глобальный HTML-атрибут, который указывает язык содержимого страницы. Располагается в открывающем теге <html> и принимает значение по стандарту BCP 47: ru, en, en-US, de, zh-Hans и т.д. Браузеры, поисковые роботы и вспомогательные технологии (скринридеры) считывают его, чтобы понять, на каком языке написан документ.

<!DOCTYPE html>
<html lang="ru">
<head>…</head>
<body>…</body>
</html>

Почему это важно для SEO

Для Google атрибут lang — один из сигналов при определении языка страницы, хотя основным источником для алгоритма по-прежнему остаётся текстовое содержимое. Если язык определён неверно, страница может попасть не в ту региональную выдачу или быть проигнорирована при формировании AI Overviews (Google генерирует ответы отдельно для каждого языкового рынка). По данным Google Search Console, страницы с явно указанным lang реже вызывают ошибки при проверке hreflang — а ошибки hreflang прямо влияют на ранжирование мультиязычных сайтов.

Для Яндекса ситуация острее: робот использует lang при определении ИКС-кластера и релевантности документа запросу. Я.Нейро при генерации ответов также опирается на языковую метку документа — если она отсутствует или конфликтует с содержимым, страница с меньшей вероятностью попадёт в источники для нейроответа. Турбо-страницы Яндекса тоже наследуют lang из исходного документа: без него мобильная версия получает неопределённый языковой контекст.

Как проверить вручную

  1. Через исходный код: откройте страницу, нажмите Ctrl+U (или Cmd+U на Mac), найдите первую строку с тегом <html. Атрибут lang должен стоять здесь. Если его нет — проблема.
  1. Через Screaming Frog: запустите краулинг сайта, перейдите во вкладку Custom > Search, добавьте regex-фильтр <html[^>]+lang= для поиска страниц с атрибутом, и обратный фильтр — для страниц без него. В столбце Response можно массово выгрузить значения.
  1. Через Google Search Console: откройте отчёт Страницы > Международный таргетинг. Если GSC фиксирует ошибки hreflang, первое, что нужно проверить — совпадение значения lang в <html> с языковым кодом в теге hreflang.
  1. Через Яндекс.Вебмастер: раздел Диагностика > Проблемы с сайтом. Отдельной проверки lang нет, но ошибки геотаргетинга и языковой разметки могут косвенно указывать на проблему.

Как исправить

Добавьте атрибут lang с правильным кодом языка в тег <html>. Коды по BCP 47: ru — русский, en — английский, uk — украинский, kk — казахский.

WordPress

В файле functions.php активной темы:

add_filter('language_attributes', function($output) {
    return 'lang="ru"';
});

Или установите язык сайта в Настройки > Общие > Язык сайта — WordPress подставит lang автоматически.

Tilda

В настройках проекта (Настройки > SEO > Язык страницы) выберите нужный язык. Tilda добавит атрибут сама. Если опции нет — вставьте кастомный HTML через блок T123 в <head> с мета-тегом og:locale, а lang пропишите через JS:

document.documentElement.lang = 'ru';

1C-Bitrix

В шаблоне сайта откройте header.php и найдите тег <html. Добавьте атрибут вручную:

<html lang="<?= LANGUAGE_ID === 'ru' ? 'ru' : 'en' ?>">

Webflow

Project Settings > Localization — выберите основной язык. Webflow подставит lang автоматически для каждой локали.

Типичные ошибки

  • Неверный код языка: lang="rus" или lang="russian" — это не BCP 47. Правильно: lang="ru". Яндекс и Google могут не распознать нестандартное значение.
  • Конфликт `lang` и содержимого: lang="en" стоит на русскоязычном сайте — частая проблема после смены языка контента без обновления шаблона. GSC начнёт показывать предупреждения hreflang.
  • Атрибут стоит на `<body>`, а не на `<html>`: технически допустимо, но роботы читают именно <html>. На <body> атрибут теряет силу как языковая метка документа.
  • Отсутствие `lang` при использовании hreflang: если прописали hreflang в <head>, но забыли lang в <html> — валидатор W3C и GSC выдадут ошибку несоответствия.
  • Одно значение `lang` на мультиязычном сайте: если контент на русском и английском живёт на разных URL, каждая версия должна иметь свой lang. Единый lang="ru" на англоязычных страницах ломает геотаргетинг.

Влияние на разные типы сайтов

Интернет-магазины страдают сильнее всего при ошибках lang: карточки товаров с неверным языком хуже подхватываются для показа в нужной региональной выдаче, а Product Schema (Schema.org/Product) с некорректным языковым контекстом может не попасть в расширенные сниппеты Google. Для магазинов на Битриксе с несколькими языковыми сайтами — обязательно проверяйте динамическую подстановку lang в шаблоне.

Контентные сайты и медиа с большим объёмом статей рискуют потерять трафик из Я.Нейро и AI Overviews, если lang отсутствует: алгоритмы генерации ответов фильтруют источники по языку на уровне разметки. SaaS и лендинги с одной языковой версией страдают меньше, но отсутствие lang всё равно роняет валидность HTML и может влиять на PageSpeed Insights (Lighthouse включает проверку lang в аудит доступности).

Проверить этот параметр на вашем сайте

Бесплатно. Без регистрации. Проверим этот и ещё 49 параметров за 60 секунд.

Получить SEO-аудит →