Порядок важнее полноты
Технический аудит легко превратить в список из ста пунктов, где закрытая от обхода категория и отсутствующий alt у картинки стоят рядом. Такой список формально полон и практически бесполезен: по нему невозможно понять, с чего начинать.
Рабочая альтернатива — пять слоёв, выстроенных по принципу зависимости. Каждый следующий имеет смысл только при исправном предыдущем. Скорость страницы не важна, если страница закрыта от индексации. Разметка не важна, если робот не видит содержимого. Заголовки не важны, если сервер отдаёт пятисотую ошибку.
Отсюда правило приоритизации, не требующее экспертной оценки: находка на нижнем слое всегда важнее находки на верхнем, независимо от того, сколько страниц она затрагивает.
Слой 1. Доступность
Вопрос слоя: получает ли робот страницу вообще.
Проверяется четыре вещи. Коды ответа — рабочие страницы отдают 200, несуществующие отдают 404, а не 200 с текстом «ничего не найдено». Второй случай называется мягкой ошибкой и заставляет поисковик тратить обход на пустоту.
Единственность адреса домена. Сайт должен быть доступен по одному варианту: с www или без, по защищённому протоколу. Остальные варианты обязаны отдавать 301, а не открываться параллельно. Проверка примитивна — откройте все четыре комбинации и посмотрите, куда вас увели.
Стабильность под роботом. В статистике обхода видно, сколько раз сервер ответил ошибкой. Единичные всплески нормальны, регулярные пятисотые означают, что часть сайта робот просто не увидел.
Сертификат. Просроченный или несовпадающий по домену сертификат — блокирующая проблема для браузера, а значит и для человека.
Всё, что найдено на этом слое, чинится первым. Пока сайт отвечает нестабильно, любые измерения ниже по списку недостоверны: медленный ответ может оказаться не проблемой скорости, а симптомом перегруженного сервера.
Отдельная проверка, которую пропускают: сайт должен отвечать не только вам. Блокировки по региону, по типу устройства или по частоте запросов иногда включаются в настройках защиты и отсекают робота вместе с ботами. Признак — в статистике обхода растёт доля ошибок при том, что сайт в браузере открывается нормально.
Слой 2. Индексируемость
Вопрос слоя: разрешено ли поисковику включать страницу в базу и понимает ли он, какой адрес главный.
Здесь сосредоточена основная масса самоповреждений. Сайт технически исправен, но сам себе запретил показываться.
robots.txt. Файл управляет обходом, а не индексацией — это различие описано в разборе robots.txt. Проверяется через инструмент проверки в панели вебмастера: он показывает, разрешён ли конкретный URL конкретному роботу.
Метатег robots и заголовок X-Robots-Tag. Noindex, случайно оставшийся после разработки, — классика. Заголовок опаснее метатега: его не видно в исходном коде страницы, только в ответе сервера.
canonical. Каждая страница должна ссылаться сама на себя абсолютным адресом, каноническая ссылка должна быть одна. Массовый canonical на главную — типичная ошибка шаблона, обнуляющая весь сайт.
Карта сайта. В ней только канонические адреса, отдающие 200. Закрытые от индексации или отдающие редирект URL в карте — противоречивый сигнал.
Дубли. Версии со слешем и без, с параметрами сортировки, страницы пагинации. Разбираются отдельно в материале про дубли страниц.
Слой 3. Рендеринг
Вопрос слоя: совпадает ли то, что видит робот, с тем, что видите вы.
Проверка занимает минуту и делается двумя способами. Первый — отрендеренный HTML в инструменте проверки URL: там видно итоговое содержимое после исполнения скриптов. Второй — отключить JavaScript в браузере и перезагрузить страницу.
Если после отключения скриптов остаётся пустой каркас, содержимое подгружается динамически. Само по себе это не приговор — поисковые роботы умеют исполнять скрипты, — но добавляет отдельный шаг обработки, который может не состояться. Отдельный риск: текст, подгружаемый только по клику или при прокрутке, робот может не получить.
Сюда же относится проверка внутренних ссылок. Ссылка, работающая через обработчик события вместо обычного тега, для робота не существует, а вместе с ней не существует и вся перелинковка, на которую вы рассчитывали.
Слой 4. Скорость
Вопрос слоя: сколько человек ждёт до момента, когда страницей можно пользоваться.
Слой стоит четвёртым намеренно. Медленная страница индексируется и ранжируется, просто хуже конвертирует. Закрытая от обхода — не индексируется вовсе. Соотношение ущерба несопоставимо.
Внутри слоя порядок тоже не произвольный: сначала измерение на реальных пользователях, потом лабораторные тесты. Лабораторный замер удобен для поиска причины, но описывает один синтетический прогон, а не вашу аудиторию. Что именно даёт эффект и на чём его нет смысла искать — в разборе скорости загрузки.
Слой 5. Разметка и представление
Вопрос слоя: правильно ли сайт описывает себя.
Последний слой самый заметный и самый переоценённый. Уникальные заголовки и описания, один h1 на страницу, осмысленные alt, валидная структурированная разметка, корректные hreflang при нескольких языковых версиях.
Разметка влияет не на попадание в индекс, а на то, как страница выглядит в выдаче и какие данные из неё можно извлечь автоматически. Заголовок определяет, по какому тексту человек принимает решение о клике. Структурированные данные дают шанс на расширенный вид результата — именно шанс, а не гарантию: решение о показе остаётся за поисковой системой.
Проверять этот слой стоит валидатором, а не глазами: типичная ошибка разметки — не отсутствующее поле, а поле с неверным типом значения, которое в исходном коде выглядит правдоподобно.
Всё это имеет значение. Просто ни один из пунктов не спасает страницу, недоступную роботу, и ни один не создаёт спрос там, где его нет.
Чек-лист
| Слой | Что проверяем | Чем проверить | Блокирует ли |
|---|---|---|---|
| 1. Доступность | Коды ответа рабочих и несуществующих страниц | Панель вебмастера, ответ сервера | Да |
| 1. Доступность | Один вариант домена, остальные через 301 | Ручная проверка четырёх комбинаций | Да |
| 1. Доступность | Ошибки сервера при обходе | Статистика обхода в Вебмастере | Да |
| 2. Индексируемость | robots.txt не закрывает нужное | Инструмент проверки robots.txt | Да |
| 2. Индексируемость | Нет случайного noindex в теге и заголовке | Исходный код и ответ сервера | Да |
| 2. Индексируемость | canonical самоссылающийся и единственный | Исходный код, проверка URL в панели | Да |
| 2. Индексируемость | В карте сайта только канонические страницы с кодом 200 | Выгрузка карты, краулер | Частично |
| 2. Индексируемость | Нет цепочек редиректов и 302 вместо 301 | Краулер, ответ сервера | Частично |
| 3. Рендеринг | Текст доступен без исполнения скриптов | Отрендеренный HTML, браузер без JS | Частично |
| 3. Рендеринг | Внутренние ссылки — обычные теги, а не обработчики | Исходный код | Частично |
| 4. Скорость | Полевые данные по основным шаблонам страниц | Отчёты по скорости в панели | Нет |
| 4. Скорость | Вес изображений, шрифты, сторонние скрипты | Панель разработчика в браузере | Нет |
| 5. Разметка | Уникальные заголовки и описания | Краулер, выгрузка | Нет |
| 5. Разметка | Валидная структурированная разметка | Валидатор разметки | Нет |
Столбец «блокирует» и есть приоритизация. Всё со значением «да» делается до всего остального, даже если затронута одна страница.
Каждый пункт отчёта должен сопровождаться тремя вещами: что проверили, чем проверили, что увидели. Формулировка «не оптимизированы изображения» без указания конкретных файлов и их веса — это мнение.
Второй фильтр: находка обязана иметь наблюдаемое следствие. Если исправление пункта нельзя связать ни с индексацией, ни со скоростью, ни с представлением в выдаче — пункт попал в отчёт для объёма.
Как размер сайта меняет работу
Один и тот же чек-лист выполняется по-разному на двадцати страницах и на двухстах тысячах, и разница не в трудозатратах, а в методе.
Малый сайт. Все страницы можно открыть руками. Выборка не нужна, потому что выборка — это весь сайт. Основной риск здесь другой: проблема часто одна и живёт в шаблоне, поэтому найденная на одной странице ошибка почти наверняка есть на всех.
Средний сайт. Обход краулером обязателен, но результаты ещё обозримы. Работа строится вокруг группировки: не «сто девяносто страниц без description», а «шаблон карточки товара не заполняет description».
Большой сайт. Полный обход становится дорогим, а иногда невозможным. Тогда проверяют по типам шаблонов: главная, категория, карточка, статья, фильтр, служебная страница. Достаточно нескольких представителей каждого типа, чтобы найти системную ошибку, — потому что ошибки на больших сайтах системные почти всегда.
На большом сайте добавляется отдельная величина, которой на маленьком нет: сколько обхода тратится впустую. Смотреть её нужно в статистике обхода из панели вебмастера — если робот регулярно ходит по параметрам сортировки и результатам внутреннего поиска, значит на новые страницы ресурса остаётся меньше.
Где технический аудит бесполезен
Три ситуации, в которых аудит даст отчёт, но не даст результата.
Техника исправна. На сайте, собранном на современной платформе и не переживавшем переездов, серьёзных находок обычно нет. Аудит закончится списком косметики, а ограничение окажется в содержании или спросе.
Проблема в спросе. Страницу не ищут. Никакая техническая правка не создаст запросов, которых нет.
Проблема в конкуренции. Страница технически безупречна и содержательно слабее десяти других по тому же запросу. Аудит этого не измеряет — он не сравнивает вас с выдачей.
Спорное место
Порядок «сначала блокирующее» логичен, но на практике ломается об экономику. Блокирующая находка нередко требует квартала работы разработчиков, а косметическая — пятнадцати минут.
Формально правильное решение — держать очередь строго по слоям и ждать. Практически разумное — делать дешёвые верхние пункты параллельно, пока нижние стоят в разработке. Это противоречит модели слоёв, и признать противоречие честнее, чем делать вид, что приоритизация всегда работает по учебнику.
Второе слабое место чек-листов: они поощряют находить. Аудитор, вернувшийся с двумя пунктами, выглядит хуже нашедшего восемьдесят, хотя во втором отчёте семьдесят восемь строк — шум. Единственная защита — требование наблюдаемого следствия для каждой находки.
Частые вопросы
С чего начинать аудит, если проблема неизвестна?
Нужен ли платный краулер для аудита?
Как часто повторять технический аудит?
Что делать, если проблем найдено слишком много?
Аудит закончен, техника в порядке, роста нет. Что дальше?