Атрибут языка страницы — зачем указывать lang в HTML

Что такое атрибут языка страницы
Атрибут языка страницы — это указание в HTML, на как читать содержимое с учётом его языка. Обычно его задают на элементе html, например lang=»ru» для русскоязычной страницы.
Представьте, что человек слушает статью с помощью экранного диктора. Если атрибут указан правильно, программа может подобрать подходящее произношение. Если у русской страницы осталась английская пометка, чтение может звучать неправильно. Атрибут сообщает программам то, что человек обычно понимает по самому тексту.
В разметке могут встречаться разные уровни указания языка.
- Вся страница. Атрибут
lang="ru"наhtmlзадаёт основной язык. - Отдельный фрагмент. Английскую цитату можно отметить
lang="en", сохранив основную пометку. - Вариант языка. Пометка может включать уточнение, например
en-GBдля британского английского.
Чем lang отличается от hreflang
Lang сообщает язык содержимого. Hreflang связывает адреса соответствующих языковых или региональных версий. Это разные атрибуты, которые могут использоваться на одном сайте.
| Атрибут lang | Атрибут hreflang |
|---|---|
| Что обозначает. Язык текущей страницы или фрагмента. | Что обозначает. Язык или регион другой версии по указанному адресу. |
Пример. Русская статья имеет lang="ru". | Пример. Для английского перевода указан отдельный URL с hreflang="en". |
| Для чего нужен. Помогает программам корректно обработать текст. | Для чего нужен. Помогает поисковой системе сопоставить версии. |
Google определяет язык по видимому содержанию. Поэтому смена атрибута на lang="en" не превращает русский текст в английскую версию для поиска. Если нужен перевод, подготовьте содержимое и проверьте адрес, по которому он открывается.
Как проверить атрибут языка страницы
Сравните видимый текст с кодом. Начните с типовых страниц, а затем проверьте несколько материалов, где языки смешиваются.
- Откройте исходный код. Найдите начало документа и элемент
html. - Прочитайте значение lang. На русской странице ожидается пометка, соответствующая русскому языку.
- Проверьте шаблоны. Откройте статью, карточку и форму. Ошибка может быть только у одного шаблона.
- Проверьте отдельные вставки. Если длинная цитата на другом языке, уточните, обозначен ли язык этого фрагмента.
Если атрибут одинаковый в оригинале и переводе, исправление обычно нужно в настройках языковой версии или шаблоне. После изменения снова откройте исходный код. Важно увидеть результат на публичной странице, а не только значение в панели управления.
Что проверить у нескольких языковых версий
Для каждой версии убедитесь, что атрибут языка, видимый текст и адрес соответствуют друг другу. Сначала проверяйте содержание, затем технические пометки.
- Открытие. Введите адрес напрямую и проверьте, что открывается нужный перевод.
- Переключение. Ссылка языка должна вести на соответствующую страницу, если перевод есть.
- Разметка. Проверьте основной атрибут
langи отдельно связиhreflang, если они настроены.
Например, у английской карточки может быть правильный атрибут, но кнопки и сообщения формы остались русскими. Это видно при прохождении обычного сценария. Откройте карточку, добавьте товар и посмотрите на подтверждение. Так проверка языка страницы помогает обнаружить несогласованность, которую один просмотр кода не покажет. При проверке атрибута языка страницы запишите каждый тип шаблона и ожидаемую пометку. Например, страница русской инструкции должна оставаться русской, даже если в ней есть название продукта на английском. Короткое название не обязательно менять отдельно. Длинная цитата может нуждаться в собственной пометке. Если редактор переключает язык всей страницы автоматически, проверьте, что атрибут тоже меняется. Отдельно откройте тексты ошибок и письма, которые используют свой шаблон.
Составьте таблицу с колонками «Адрес», «Ожидаемый атрибут» и «Что указано». При повторной проверке она поможет сравнить состояние до и после правки. Для вложенной цитаты запишите отдельно атрибут фрагмента. Если проверяете атрибуты разных версий, откройте каждую напрямую. Пройдите тот же путь с переключателем и сравните результат. Даже когда атрибут правильно задан в редакторе, проверьте разметку после публикации. Атрибут должен присутствовать именно там, где его читает браузер.