Чек-лист технического SEO-аудита сайта

Двенадцать проверок в том порядке, в каком сайт видит поисковый робот: сначала доступ к страницам и индексация, потом скорость, вёрстка на телефоне, разметка и учёт заявок. К каждой проверке — бесплатный инструмент и ошибка, которую стоит поискать первой.

Схема: через какие проверки проходит адрес страницы, прежде чем попасть в поиск

Схема: адреса сайта проходят четыре проверки подряд. robots.txt отсекает адреса, закрытые директивой Disallow. Код ответа отсекает страницы с ошибками 404 и 5xx. Canonical склеивает дубли с основной страницей. Метатег robots с noindex не пускает страницу в индекс. Оставшиеся страницы попадают в поиск, а дальше на их место в выдаче влияют скорость, сниппет и мобильная версия.

Что понадобится

Доступы к трём сервисам Яндекса и Google, программа-краулер и браузер. Платить за сервисы не обязательно.

  • Яндекс Вебмастер и Search Console

    Хватит прав на просмотр. Если сайт ещё не добавлен, добавьте его сейчас: отчёты об индексации заполняются не сразу.

  • Яндекс Метрика

    Доступ к счётчику и целям. Он нужен для последней проверки: доходят ли заявки.

  • Программа-краулер

    Screaming Frog SEO Spider бесплатно обходит до 500 адресов, небольшому сайту этого хватит. Есть российский аналог SiteAnalyzer.

  • Браузер Chrome

    PageSpeed Insights, Lighthouse и режим телефона в инструментах разработчика.

Отмечайте пункты галочками по ходу чтения. Отметки сохраняются в этом браузере, а в конце статьи список неотмеченного можно скопировать и отправить программисту.

Технический аудит отвечает на один вопрос: может ли поисковик найти, прочитать и правильно показать ваши страницы. Тексты, ссылки и коммерческие факторы проверяют потом. Пока страница услуги не в индексе, правка её текста не приведёт из поиска ни одного посетителя.

Ниже двенадцать проверок. Я прохожу их в том порядке, в каком страницу видит робот: адрес, доступ, ответ сервера, дубли, потом скорость, вёрстка на телефоне и разметка. Последней смотрю Метрику, потому что без целей не будет видно, принесли ли правки заявки.

Индексация: что поисковик знает о сайте

Начните с двух чисел: сколько страниц в поиске у Яндекса и Google и сколько их должно там быть. Список нужных страниц возьмите из CMS или из sitemap. Если в индексе в разы больше, туда попал мусор: страницы поиска по сайту, фильтров, адреса с метками. Если меньше, часть страниц робот не нашёл или исключил.

В Вебмастере откройте «Индексирование → Страницы в поиске». Там же видны исключённые страницы и причина исключения. В Search Console это отчёт «Индексирование → Страницы» со списком причин, по которым адреса не попали в индекс. Отдельную страницу проверяют инструментами «Проверка URL» в Search Console и «Проверить статус URL» в Вебмастере.

Частая ошибка

Страницу закрыли в robots.txt и заодно поставили на неё noindex. Робот на страницу не заходит и noindex не видит, поэтому Google может оставить адрес в выдаче без описания. Чтобы убрать страницу из индекса, оставьте её открытой для обхода и поставьте noindex.

Проверьте4 пункта

Зеркала и редиректы

У сайта бывает несколько адресов с одинаковым содержимым: с www и без, по http и https, со слешем на конце и без, с index.php. Для поисковика это разные страницы. Рабочим должен остаться один вариант, а остальные отвечают кодом 301 и ведут на него.

Яндекс с 20 марта 2018 года не учитывает директиву Host и выбирает главное зеркало по 301-му редиректу. Если вы меняли домен или переходили на https, после настройки редиректов укажите главное зеркало в Вебмастере: «Индексирование → Переезд сайта». Старые адреса при этом ведите на соответствующие новые страницы, а не все на главную.

Откройте четыре варианта главной страницы и посмотрите код ответа. В Вебмастере для этого есть «Инструменты → Проверка ответа сервера», в терминале хватит одной команды:

curl -sI http://www.site.ru/ | grep -iE "^http|^location"
HTTP/1.1 301 Moved Permanently
Location: https://site.ru/

Ответ должен быть один: 301 и строка Location с главным адресом. Два-три редиректа подряд — это цепочка. Google проходит до 10 переходов, но каждый лишний шаг тратит время и робота, и посетителя, поэтому я свожу все варианты к одному редиректу.

Проверьте4 пункта

robots.txt

Файл лежит по адресу site.ru/robots.txt и должен отвечать кодом 200. Размер у обоих поисковиков ограничен 500 КБ: Google не читает то, что идёт дальше, а Яндекс такой файл не применяет и считает сайт открытым для обхода.

Закрывайте служебное: корзину, личный кабинет, поиск по сайту. Файлы стилей и скриптов оставьте открытыми, иначе робот увидит страницу не такой, какой её видит посетитель. Для параметров, которые не меняют содержимое, например utm_source или ref, у Яндекса есть директива Clean-param: робот склеит такие адреса в один. Google её не поддерживает.

Проверка: «Инструменты → Анализ robots.txt» в Вебмастере покажет, открыт ли для робота конкретный адрес. Отчёт о файлах robots.txt в настройках Search Console покажет, какую версию файла видит Google и есть ли в ней ошибки.

Частая ошибка

После запуска нового сайта в robots.txt остаётся строка Disallow: / с тестовой копии, и весь сайт закрыт от обхода. Проверяйте файл в день запуска и после каждой выкладки.

Проверьте5 пунктов

Карта сайта sitemap.xml

Sitemap подсказывает роботу, какие страницы есть на сайте. В неё попадают только рабочие адреса: с кодом 200, без noindex, канонические. Редиректы, 404 и дубли в карте сбивают робота с толку. В одном файле помещается до 50 000 адресов и до 50 МБ без сжатия, лимит одинаковый у Google и Яндекса. Карту большого сайта делят на несколько файлов и собирают в индексный.

Дату изменения lastmod ставьте честно. Google учитывает её, только если она совпадает с настоящими правками на странице. Теги priority и changefreq Google не читает, а Яндекс учитывает priority, когда решает, в каком порядке обходить страницы.

Добавьте карту в Вебмастер («Индексирование → Файлы Sitemap») и в Search Console (раздел «Файлы Sitemap»). Ошибки в самом файле покажет «Анализ файлов Sitemap» в инструментах Вебмастера. Чтобы найти в карте редиректы и 404, загрузите её в краулер: в Screaming Frog для этого есть режим List.

Проверьте4 пункта

Коды ответа сервера

На каждый запрос робота сервер отвечает трёхзначным кодом. От него зависит, попадёт ли страница в индекс.

Основные коды ответа и что с ними делает поисковик
КодЧто значитЧто будет с индексом
200Страница работаетМожет попасть в индекс
301Страница переехала навсегдаВ индекс идёт новый адрес
404, 410Страницы нетGoogle не индексирует такие адреса и удаляет их из индекса
5xxОшибка сервераGoogle сначала реже обходит сайт, при затяжных ошибках страницы выпадают

Отдельная беда — «мягкая 404»: страницы нет, а сервер отвечает 200 и показывает «Ничего не найдено». Search Console помечает такие адреса как soft 404, а робот тратит на них время, которое мог бы потратить на нужные страницы.

Откройте несуществующий адрес вроде site.ru/proverka-404/: ответ должен быть 404. Коды всех страниц сразу покажет краулер, в Screaming Frog это вкладка Response Codes. Там же видно, куда ведут внутренние ссылки. Ссылку на 404 или на редирект стоит поправить на рабочий адрес.

Проверьте4 пункта

Дубли и canonical

Дубли появляются сами собой: сортировка и фильтры в каталоге, версии для печати, метки в ссылках, один товар в двух разделах. Робот обходит копии вместо нужных страниц, а в выдачу может попасть не та версия.

Основную версию указывают тегом rel=canonical. Для Google это сильная подсказка, но не приказ: он учитывает ещё редиректы, внутренние ссылки и карту сайта. Поэтому все сигналы должны указывать на один адрес. Закрывать дубль в robots.txt или ставить на него noindex вместо canonical Google не советует.

В краулере откройте отчёт по canonical, в Screaming Frog это вкладка Canonicals. «Проверка URL» в Search Console показывает, какую страницу Google сам выбрал канонической. Иногда это не та страница, которую указали вы, и тогда стоит искать, какой сигнал спорит с вашим.

Частая ошибка

Canonical прописан в общем шаблоне и на всех страницах указывает на главную. Для поисковика это просьба склеить весь сайт с одной страницей.

Проверьте4 пункта

Скорость и Core Web Vitals

Google оценивает скорость и удобство страницы тремя метриками Core Web Vitals. Их считают по реальным посетителям: берут 75-й процентиль визитов, отдельно для телефонов и для компьютеров. Страница проходит оценку, если все три метрики в зелёной зоне.

LCPкогда загрузился самый крупный элемент первого экрана
хорошо: до 2,5 снужно улучшить: 2,5–4 сплохо: > 4 с
INPкак быстро страница отвечает на нажатие
хорошо: до 200 мснужно улучшить: 200–500 мсплохо: > 500 мс
CLSнасколько сдвигается вёрстка во время загрузки
хорошо: до 0,1нужно улучшить: 0,1–0,25плохо: > 0,25
Пороги из документации Google на web.dev. INP заменил прежнюю метрику FID 12 марта 2024 года.

Это пороги Google, я ориентируюсь на них и для Яндекса. Данные реальных посетителей показывает PageSpeed Insights, если у страницы достаточно трафика, и отчёт «Основные интернет-показатели» в Search Console. Лабораторный замер Lighthouse в той же PageSpeed Insights или в Chrome помогает найти причину: тяжёлую картинку первого экрана, шрифты, сторонние виджеты, картинки без заданных размеров, из-за которых прыгает вёрстка.

Совет

Мерьте страницы услуг на мобильном профиле, а не только главную. Заявки оставляют на страницах услуг, а у них бывает свой тяжёлый блок: карта, видео, калькулятор.

Проверьте4 пункта

Мобильная версия

Google индексирует сайты по мобильной версии: в октябре 2023 года он объявил, что переход на mobile-first завершён. Чего нет в версии для телефона, того может не оказаться и в индексе. Яндекс с февраля 2016 года при прочих равных ставит выше в мобильном поиске страницы, адаптированные под телефон.

Тест на оптимизацию для мобильных и отчёт об удобстве для мобильных Google закрыл 1 декабря 2023 года. Вместо них пользуйтесь Lighthouse и режимом телефона в Chrome: откройте инструменты разработчика и включите эмуляцию устройства. В Вебмастере страницу можно проверить инструментом «Проверка мобильных страниц».

Совет

Пройдите путь клиента с настоящего телефона: найдите услугу, откройте цену, отправьте заявку. Эмулятор в Chrome не покажет, что экранная клавиатура закрывает кнопку формы.

Проверьте4 пункта

Title, description и H1

Title становится текстом ссылки в выдаче. У каждой страницы он свой и говорит, что на ней есть, например «Монтаж вентиляции в Казани: цены и сроки». Жёсткого ограничения длины у Google нет, но в выдаче он обрезает заголовок по ширине экрана, поэтому главное ставьте в начало. Если title не подходит, Google может собрать заголовок сам: из H1, текста страницы или ссылок на неё.

Description поисковик иногда берёт в сниппет, а иногда собирает описание из текста страницы. Пишите его как короткое объявление про эту страницу. H1 — видимый заголовок. По смыслу он совпадает с title, но повторять его слово в слово не обязательно.

Краулер выгрузит title, description и H1 всех страниц в одну таблицу. В Screaming Frog откройте вкладки Page Titles, Meta Description и H1 с фильтрами Missing и Duplicate: так найдутся пустые и одинаковые.

Проверьте3 пункта

Микроразметка

Разметка schema.org в формате JSON-LD описывает поисковику, что на странице: организация и контакты, хлебные крошки, товар с ценой, статья. Она должна совпадать с тем, что видит посетитель: цена в коде и цена на экране одинаковые.

Расширенный сниппет с ценой, рейтингом или вопросами поисковик показывает по своим правилам, и разметка его не гарантирует. Часть форматов Google уже убрал: в сентябре 2023 года он перестал показывать расширенные результаты для пошаговых инструкций HowTo.

Проверить разметку можно в «Валидаторе микроразметки» Вебмастера, в «Проверке расширенных результатов» Google и в общем валидаторе validator.schema.org.

Проверьте3 пункта

Яндекс Метрика и цели

Последняя проверка отвечает на вопрос, который задаст владелец сайта: стало ли больше заявок. Без целей в Метрике этого не узнать.

Счётчик должен стоять на всех страницах ровно один раз, включая страницу «Спасибо» и всплывающие формы. Цель «заявка» считают по успешной отправке формы. Метрика умеет сама создавать цели на отправку формы, клик по телефону и e-mail, переход в мессенджер. Клик по номеру ещё не звонок: чтобы считать звонки, нужен коллтрекинг.

Отправьте тестовую заявку и найдите её в отчёте по целям. Потом посмотрите в Вебвизоре пару визитов с телефона: видно, где посетитель застрял в форме.

Частая ошибка

Цель срабатывает на клик по кнопке «Отправить». Посетитель не заполнил телефон, форма показала ошибку, а цель засчиталась. В Метрике заявок больше, чем на почте, и непонятно, каким цифрам верить.

Проверьте4 пункта

Что делать с результатами

Неотмеченные пункты разделите на три группы. Сначала то, что мешает попасть в поиск: закрытый robots.txt, noindex на услугах, неработающие зеркала, ошибки 5xx. Потом то, что путает робота: дубли, цепочки редиректов, мусор в sitemap. Скорость, разметку и метаданные можно править по ходу, начиная со страниц, которые приносят заявки.

  1. Сразуrobots.txt, noindex, зеркала, 5xx
  2. Следомдубли, редиректы, sitemap, 404
  3. По ходускорость, разметка, метаданные

После правок отправьте страницы на переобход: в Вебмастере это «Индексирование → Переобход страниц», в Search Console — кнопка «Запросить индексирование» в «Проверке URL». Результат появится не сразу, поисковику нужно заново обойти страницы.

Список ошибок — только половина работы. Дальше нужно понять, какие из них правда мешают заявкам, и объяснить программисту, что делать. Если хотите получить список ошибок с приоритетами и ТЗ, закажите SEO-аудит сайта: проверю всё из этого чек-листа, а ещё посадочные страницы, тексты и коммерческие факторы, и распишу каждую задачу с часами на внедрение.

Источники

  1. Google: Core Web Vitals, пороги LCP, INP и CLS; замена FID на INP 12 марта 2024 года
  2. Google Search Central: robots.txt и лимит 500 КиБ, noindex, sitemap, коды ответа и редиректы, canonical, title, ссылки
  3. Блог Google Search Central: mobile-first завершён (октябрь 2023), закрытие теста на мобильность, отключение HowTo
  4. Справка Яндекс Вебмастера: robots.txt, Clean-param, sitemap
  5. Блог Яндекса для вебмастеров: 301-й редирект заменил Host (20 марта 2018), мобильность в ранжировании (2 февраля 2016); автоцели Метрики
  6. Screaming Frog: лимит бесплатной версии 500 адресов

Если не хотите разбираться сами

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

  • ОтчётУ каждой находки адрес страницы и приоритет
  • ТЗ для программистаЧто сделать, где, зачем и сколько часов
  • СозвонРазбираем, с чего начать. Программиста можно позвать

Аудит с ТЗ от 35 000 ₽. Начать можно с бесплатного экспресс-разбора.

Частые вопросы

Не нашли свой вопрос? Задайте его в форме внизу страницы.

Сколько времени займёт проверка своими силами?

Зависит от числа страниц и от того, подключены ли Вебмастер и Search Console. Сами проверки занимают меньше времени, чем ожидание данных: если сервисы подключены только сейчас, отчёты об индексации заполнятся не сразу.

Нужен ли платный краулер?

Для небольшого сайта нет: бесплатная версия Screaming Frog обходит до 500 адресов. Если страниц больше, понадобится платная лицензия или другой краулер, например SiteAnalyzer.

Чем отличаются проверки для Яндекса и Google?

Основа общая: robots.txt, sitemap, коды ответа, canonical. Различия в деталях. Директиву Clean-param понимает только Яндекс, priority в sitemap учитывает только Яндекс, главное зеркало после переезда указывают в Вебмастере. Пороги Core Web Vitals публикует Google.

Как часто повторять проверку?

После каждого переезда, редизайна, смены CMS или шаблона и после крупных выкладок. Между ними включите уведомления в Вебмастере и Search Console: о критичных ошибках сервисы напишут сами.

Онлайн-сервис проверки заменит такой аудит?

Технические ошибки сервисы находят хорошо. Но они не знают, какие страницы вам продают, и не проверяют, доходят ли заявки до Метрики. Список из сервиса стоит пропустить через этот чек-лист и начать с того, что мешает попасть в поиск.

Исправил ошибки, а позиции не изменились. Почему?

Поисковик должен заново обойти страницы. Отправьте их на переобход в Вебмастере и запросите индексирование в Search Console. Технические правки убирают препятствия, но место в выдаче зависит ещё от текстов, спроса и конкурентов.

Пришлите сайт на разбор

Посмотрю индексацию, зеркала, robots.txt и sitemap без доступов и назову главные находки. Бесплатно.

  • 1Адрес сайта. Доступы для разбора не нужны.
  • 2Главные находки. С тем, что исправить первым.
  • 3Решение за вами. Править самим или заказать аудит.

Заявки читаю и отвечаю сам, в течение часа в рабочее время. Пн–пт 10:00–19:00, сб–вс 13:00–17:00 по Москве. Если увижу, что помочь не смогу, скажу сразу.

Стоимость аудита

Что случилось
Как с вами связаться
Удобнее написать сразу? Напишите в Telegram
Заявка отправленаСделаю экспресс-разбор и пришлю главные находки и стоимость аудита за 2–3 рабочих дня.