Контент и разметка 2 мин чтения

Doctype — объявление типа документа

Первая строка HTML-файла, которая переключает браузер в стандартный режим. Без неё вёрстка ведёт себя как в девяностых.

<!DOCTYPE html> — самая первая строка документа, до тега <html>:

<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="utf-8">

Это не тег и не команда, а объявление: «документ следует стандарту HTML». Атрибутов и вариантов у него в HTML5 нет — строка всегда выглядит именно так.

Что будет без него

Браузер переключается в режим совместимости (quirks mode) — эмуляцию поведения браузеров конца девяностых. Меняются базовые правила вёрстки:

  • Другая модель блока. Ширина элемента начинает считаться вместе с полями и рамками — все размеры «поедут».
  • Иначе считаются высоты строк и отступы, особенно у таблиц и изображений.
  • Часть современных свойств CSS игнорируется.

Практически это выглядит как «на моём компьютере всё нормально, а у клиента развалилось»: разные браузеры компенсируют режим совместимости по-разному.

Как это связано с поиском

Напрямую — никак, doctype не фактор ранжирования. Но косвенно связь прямая: сломанная вёрстка на мобильном означает плохие поведенческие показатели и проблемы с mobile-first индексацией. Робот рендерит страницу так же, как браузер, и видит то же самое.

Требования

  1. Строго первая строка. Ни пробелов, ни комментариев, ни BOM-метки, ни вывода PHP перед ней. Достаточно одного случайного пробела в начале подключаемого файла — и режим совместимости включится.
  2. Ровно одна. Дубликат <!DOCTYPE> в середине документа — обычно след неудачной склейки шаблонов.
  3. Рядом — объявление кодировки. Оба должны уместиться в самом начале документа, до всего остального.
  4. Именно <!DOCTYPE html>. Длинные объявления с PUBLIC "-//W3C//DTD XHTML 1.0..." — наследие старых стандартов; современный HTML5 их не требует, а некоторые из них как раз и включают режим совместимости.

Как проверить

  • Пункт аудита «Doctype HTML5».
  • Вручную: Ctrl+U — объявление должно быть в самой первой строке.
  • В консоли браузера:
document.compatMode

"CSS1Compat" — стандартный режим, всё хорошо. "BackCompat" — режим совместимости, doctype отсутствует или испорчен.

Если doctype есть, а режим совместимости включён

Заодно проверьте, не осталось ли в вёрстке устаревших тегов: они приходят из тех же старых шаблонов, что и потерянный doctype.

Ищите, что выводится до него. Типичные виновники: пробел или перевод строки после закрывающего ?> в подключаемом PHP-файле, BOM-метка в начале файла шаблона (пересохраните его как «UTF-8 без BOM»), баннер хостинга или счётчик, вставленный поверх страницы.

А что с этим на вашем сайте?

Аудит «Кверху» проверяет этот пункт вместе с остальными пятьюдесятью и показывает конкретику: какие страницы затронуты и что именно исправить. Первая полная проверка проекта — бесплатно.

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