
«У нас грязный код, поэтому не растут позиции» — фраза, которую я слышу от владельцев сайтов регулярно, обычно после того, как её произнёс новый подрядчик. Иногда это правда, чаще — способ продать переделку. Я в SEO с 2005 года и за это время видел и сайты с идеальной разметкой в глубоком низу выдачи, и проекты с чудовищным кодом в топе. Разберём честно: что такое чистый HTML, где он реально влияет на поиск, а где влияние равно нулю.
Что понимают под чистотой кода
Термин расплывчатый, и под ним смешивают минимум четыре разные вещи. Разделить их полезно, потому что вес у них принципиально разный.
| Что имеют в виду | Суть | Реальное влияние на поиск |
|---|---|---|
| Валидность разметки | Соответствие стандарту, отсутствие ошибок синтаксиса | Слабое, кроме грубых поломок структуры |
| Семантика | Теги отражают смысл содержимого | Умеренное, помогает разбору страницы |
| Объём кода | Соотношение полезного текста и служебной разметки | Косвенное, через скорость и обход |
| Аккуратность стилей и скриптов | Нет инлайновых нагромождений, ресурсы вынесены | Заметное, через скорость отрисовки |
Первое, что стоит запомнить владельцу: поисковая система не выставляет оценку за красоту кода. Она решает две задачи — быстро получить страницу и правильно понять, что на ней написано. Всё, что помогает этим двум задачам, влияет на результат. Всё остальное — вопрос удобства разработчиков и цены будущих правок.
Валидность: сколько она стоит на самом деле
Валидатор проверяет соответствие разметки стандарту. Он найдёт незакрытые теги, дублирующиеся идентификаторы, атрибуты не на своих местах. Проблема в том, что подавляющее большинство его замечаний браузеры и роботы прощают: механизмы разбора устроены так, чтобы вытянуть смысл даже из кривой страницы.
Полностью валидных коммерческих сайтов почти не существует — счётчики, виджеты, рекламные вставки добавляют ошибки просто фактом установки. Гнаться за нулём замечаний бессмысленно. Но есть категория ошибок, которые действительно ломают восприятие страницы.
| Тип ошибки | Пример | Опасность |
|---|---|---|
| Незакрытый блочный контейнер | Не закрыт div в середине текста |
Высокая: часть содержимого может выпасть из разбора |
| Вложенные ссылки | Ссылка внутри ссылки | Высокая: непредсказуемое поведение и разметки, и кликов |
Несколько тегов title или их отсутствие |
Дубль в шаблоне | Высокая: заголовок в выдаче формируется непредсказуемо |
| Текст вне контейнеров, «голый» в шапке документа | Строка выше открытия основного блока | Средняя |
| Устаревшие атрибуты оформления | Задание цвета и ширины прямо в теге | Низкая, но раздувает код |
| Отсутствие альтернативного текста у изображений | Пустой атрибут описания | Средняя: теряется трафик из поиска по картинкам |
Семантические теги: где польза настоящая
Семантика — это когда тег говорит о роли содержимого, а не о его внешнем виде. Заголовок оформлен заголовком, а не крупным жирным текстом в обычном абзаце. Список — списком, а не строками с дефисами. Таблица данных — таблицей, а не набором блоков, выровненных стилями.
Что даёт семантика на практике:
- Робот точнее определяет иерархию страницы: что главное, что подчинённое, где начинается новый смысловой блок.
- Текст лучше попадает в расширенные ответы и быстрые блоки выдачи — списки и таблицы туда берут охотнее, чем сплошные абзацы.
- Страница остаётся понятной без стилей: если оформление не загрузилось, содержимое всё ещё читается в правильном порядке.
- Работают программы экранного доступа, а доступность постепенно становится нормой, а не опцией.
Отдельно про заголовки. Их иерархия — единственный элемент разметки, который я всегда проверяю первым при разборе страницы. Типичные поломки: главный заголовок отсутствует вовсе, их несколько, уровни перепрыгивают через ступень, в заголовки завёрнуты элементы меню и подписи к кнопкам. Всё это мешает роботу собрать структуру документа, а исправляется за час работы верстальщика.
Лишний код и вес страницы
Здесь начинается зона реального влияния. Робот загружает страницу целиком, и чем больше служебного мусора, тем дольше он до неё добирается и тем меньше страниц успевает обойти за отведённое время. Для сайта на сто страниц это неважно. Для каталога на пятьдесят тысяч — критично.
Откуда берётся лишний вес:
- Визуальные конструкторы, которые оборачивают каждый абзац в пять уровней вложенных блоков с длинными служебными именами.
- Плагины, подключающие свои стили и скрипты на всех страницах сайта, хотя нужны на одной.
- Дублирующиеся библиотеки: два разных модуля тянут одну и ту же библиотеку разных версий.
- Скрытые блоки — мобильное меню, всплывающие окна, варианты оформления, которые грузятся всегда, а показываются редко.
- Закомментированные куски старой вёрстки, которые никто не решается удалить.
Ориентир, который я использую при оценке: доля полезного текста в общем объёме страницы. Если на сто килобайт разметки приходится две тысячи знаков текста, страница переутяжелена. Это не приговор и не фактор ранжирования сам по себе, но верный признак того, что скорость будет плохой, а поддержка дорогой.
Инлайн-стили и скрипты: когда они вредят
Оформление, записанное прямо в теге, и скрипты, встроенные в тело страницы, — самая спорная тема. Вредны они не сами по себе, а последствиями.
| Практика | Последствие | Вердикт |
|---|---|---|
| Стиль в атрибуте каждого элемента | Код раздувается, кэширование не работает | Плохо на масштабе, терпимо в единичных случаях |
| Небольшой блок критических стилей в шапке | Первый экран рисуется быстрее | Хорошая практика |
| Скрипт в начале документа без отложенной загрузки | Блокирует отрисовку, страница белая | Плохо всегда |
| Скрипты в конце документа или с отложенной загрузкой | Содержимое появляется раньше | Хорошая практика |
| Основной текст, подставляемый скриптом после загрузки | Риск, что содержимое не попадёт в индекс полностью | Опасно, требует проверки |
| Десяток внешних счётчиков и виджетов | Каждый добавляет запросы и задержку | Оставлять только необходимое |
Последний пункт таблицы заслуживает пояснения. Современные роботы умеют выполнять скрипты, но делают это позже и не всегда полностью. Если ключевой текст, цены или ссылки на разделы появляются только после отработки скрипта, часть содержимого может не дойти до индекса. Проверка простая: посмотрите сохранённую копию страницы в поиске или откройте её с отключёнными скриптами. Если видите пустоту вместо текста — проблема есть, и она серьёзнее всех замечаний валидатора вместе взятых.
Практический разбор: как оценить код своего сайта за двадцать минут
Порядок действий, который не требует навыков программирования.
- Откройте страницу и посмотрите её исходный код через меню браузера. Оцените навскидку: где заканчивается служебная часть и начинается ваш текст. Если полезное содержимое начинается на трёхсотой строке — это сигнал.
- Проверьте иерархию заголовков: главный один, подзаголовки идут по порядку, в них нет элементов интерфейса.
- Отключите в браузере выполнение скриптов и перезагрузите страницу. Основной текст, меню и контакты должны остаться на месте.
- Прогоните страницу через сервис измерения скорости и посмотрите не общий балл, а конкретные рекомендации: что блокирует отрисовку, какие ресурсы избыточны.
- Сравните вес страницы с весом одного её экрана текста. Многократное расхождение означает перегруз.
- Проверьте, не дублируются ли подключения одних и тех же библиотек.
- Посмотрите, отдаются ли ресурсы в сжатом виде и настроено ли кэширование — это спрашивается у хостинга или разработчика одним вопросом.
По итогам получается короткий список задач, который можно передать в работу. Обычно это два-три пункта, а не переписывание сайта с нуля. Если же выясняется, что шаблон построен на устаревшем конструкторе и любая правка тянет за собой цепочку поломок, честнее посчитать стоимость доработки сайта против создания сайта заново — иногда второе дешевле.
Чего делать не стоит
- Переделывать вёрстку с нуля ради валидности. Затраты большие, эффект на позиции почти нулевой, а риск потерять что-то работающее — реальный.
- Удалять «лишний» код без понимания, что он делает. Классика: убрали блок с непонятным именем, вместе с ним отвалилась форма заявки.
- Верить, что смена конструктора автоматически поднимет позиции. Поднимет скорость — возможно. Позиции растут от содержания и спроса.
- Оценивать сайт по числу замечаний валидатора. Значение имеет тип ошибки, а не количество.
- Прятать текст стилями «для роботов». Это не оптимизация кода, а прямой путь к санкциям.
- Заворачивать в заголовки всё подряд ради ключевых слов.
Что действительно стоит внимания в порядке приоритета
| Приоритет | Задача | Ожидаемый эффект |
|---|---|---|
| Первый | Основной текст доступен без выполнения скриптов | Полнота индексации |
| Второй | Корректная иерархия заголовков, один главный | Правильный разбор структуры |
| Третий | Скрипты не блокируют отрисовку, стили первого экрана оптимизированы | Скорость и поведенческие показатели |
| Четвёртый | Удаление неиспользуемых плагинов, стилей, библиотек | Вес страницы, стоимость поддержки |
| Пятый | Семантические теги вместо универсальных блоков | Доступность, шансы попасть в расширенные ответы |
Частые вопросы
Влияет ли валидность кода на позиции напрямую? Нет, отдельного фактора ранжирования за валидность не существует. Влияют последствия ошибок: если из-за поломки разметки часть текста не разобрана или страница медленно грузится, результат ухудшится.
Сайт сделан на конструкторе, код тяжёлый. Это приговор? Нет. Множество проектов на конструкторах успешно работают в поиске. Смотрите на скорость и на доступность текста, а не на объём разметки как таковой.
Нужно ли добавлять микроразметку? Она не поднимает позиции, но улучшает вид сниппета — рейтинги, цены, хлебные крошки, время приготовления. Это влияет на кликабельность, а через неё — на трафик.
Что важнее: чистый код или хороший текст? Текст, без вариантов. Код определяет, дойдёт ли содержимое до робота и пользователя, но не заменяет само содержимое. Полезные SEO-статьи на посредственной вёрстке работают лучше, чем идеальная вёрстка вокруг пустоты.
Как проверить, что робот видит страницу целиком? Инструментом проверки страницы в панели вебмастера: он показывает, что именно получил робот. Дополнительно — сохранённой копией в выдаче и просмотром страницы с отключёнными скриптами.
Чеклист
- Основной текст, меню и контакты видны без выполнения скриптов.
- На странице ровно один главный заголовок, уровни не перепрыгивают.
- Теги
titleи описание страницы присутствуют в единственном экземпляре и уникальны. - Списки, таблицы и абзацы размечены по назначению, а не имитируются оформлением.
- Скрипты не блокируют отрисовку первого экрана.
- Неиспользуемые плагины, стили и библиотеки удалены, дублей подключений нет.
- У изображений заполнен альтернативный текст, вес оптимизирован.
- Инструмент проверки в панели вебмастера показывает страницу так же, как её видит человек.
- Решение о переделке принято по расчёту, а не по формулировке «код грязный».
Чистый код — это не самоцель, а средство. Он не даёт бонусов, но снимает препятствия: страница быстро загружается, робот видит всё содержимое, а команда вносит правки за часы, а не за недели. Этого достаточно, чтобы заниматься им всерьёз, и одновременно достаточно, чтобы не переписывать рабочий сайт ради строчки в отчёте валидатора.
Если нужно SEO-продвижение сайтов — помогу вывести сайт в топ Яндекса и удержать позиции.
Увеличьте позиции и продажи вашего сайта
Профессиональное SEO-продвижение с гарантией результата. Выберите подходящую услугу:
Остались вопросы по продвижению?
Меня зовут Анатолий Кузнецов, я SEO-оптимизатор с 20-летним стажем. Разберу ваш сайт, отвечу на вопросы и подскажу, что улучшить для роста позиций в Яндексе и Google.
Связаться со мной →