Чек-лист технического SEO-аудита сайта
Двенадцать проверок в том порядке, в каком сайт видит поисковый робот: сначала доступ к страницам и индексация, потом скорость, вёрстка на телефоне, разметка и учёт заявок. К каждой проверке — бесплатный инструмент и ошибка, которую стоит поискать первой.
Схема: адреса сайта проходят четыре проверки подряд. robots.txt отсекает адреса, закрытые директивой Disallow. Код ответа отсекает страницы с ошибками 404 и 5xx. Canonical склеивает дубли с основной страницей. Метатег robots с noindex не пускает страницу в индекс. Оставшиеся страницы попадают в поиск, а дальше на их место в выдаче влияют скорость, сниппет и мобильная версия.
Что понадобится
Доступы к трём сервисам Яндекса и Google, программа-краулер и браузер. Платить за сервисы не обязательно.
-
Яндекс Вебмастер и Search Console
Хватит прав на просмотр. Если сайт ещё не добавлен, добавьте его сейчас: отчёты об индексации заполняются не сразу.
-
Яндекс Метрика
Доступ к счётчику и целям. Он нужен для последней проверки: доходят ли заявки.
-
Программа-краулер
Screaming Frog SEO Spider бесплатно обходит до 500 адресов, небольшому сайту этого хватит. Есть российский аналог SiteAnalyzer.
-
Браузер Chrome
PageSpeed Insights, Lighthouse и режим телефона в инструментах разработчика.
Отмечайте пункты галочками по ходу чтения. Отметки сохраняются в этом браузере, а в конце статьи список неотмеченного можно скопировать и отправить программисту.
0 из 47пунктов отмечено
Содержание
Технический аудит отвечает на один вопрос: может ли поисковик найти, прочитать и правильно показать ваши страницы. Тексты, ссылки и коммерческие факторы проверяют потом. Пока страница услуги не в индексе, правка её текста не приведёт из поиска ни одного посетителя.
Ниже двенадцать проверок. Я прохожу их в том порядке, в каком страницу видит робот: адрес, доступ, ответ сервера, дубли, потом скорость, вёрстка на телефоне и разметка. Последней смотрю Метрику, потому что без целей не будет видно, принесли ли правки заявки.
Индексация: что поисковик знает о сайте
Начните с двух чисел: сколько страниц в поиске у Яндекса и Google и сколько их должно там быть. Список нужных страниц возьмите из CMS или из sitemap. Если в индексе в разы больше, туда попал мусор: страницы поиска по сайту, фильтров, адреса с метками. Если меньше, часть страниц робот не нашёл или исключил.
В Вебмастере откройте «Индексирование → Страницы в поиске». Там же видны исключённые страницы и причина исключения. В Search Console это отчёт «Индексирование → Страницы» со списком причин, по которым адреса не попали в индекс. Отдельную страницу проверяют инструментами «Проверка URL» в Search Console и «Проверить статус URL» в Вебмастере.
Частая ошибка
Страницу закрыли в robots.txt и заодно поставили на неё noindex. Робот на страницу не заходит и noindex не видит, поэтому Google может оставить адрес в выдаче без описания. Чтобы убрать страницу из индекса, оставьте её открытой для обхода и поставьте noindex.
Зеркала и редиректы
У сайта бывает несколько адресов с одинаковым содержимым: с 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 переходов, но каждый лишний шаг тратит время и робота, и посетителя, поэтому я свожу все варианты к одному редиректу.
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: / с тестовой копии, и весь сайт закрыт от обхода. Проверяйте файл в день запуска и после каждой выкладки.
Карта сайта 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.
Коды ответа сервера
На каждый запрос робота сервер отвечает трёхзначным кодом. От него зависит, попадёт ли страница в индекс.
| Код | Что значит | Что будет с индексом |
|---|---|---|
| 200 | Страница работает | Может попасть в индекс |
| 301 | Страница переехала навсегда | В индекс идёт новый адрес |
| 404, 410 | Страницы нет | Google не индексирует такие адреса и удаляет их из индекса |
| 5xx | Ошибка сервера | Google сначала реже обходит сайт, при затяжных ошибках страницы выпадают |
Отдельная беда — «мягкая 404»: страницы нет, а сервер отвечает 200 и показывает «Ничего не найдено». Search Console помечает такие адреса как soft 404, а робот тратит на них время, которое мог бы потратить на нужные страницы.
Откройте несуществующий адрес вроде site.ru/proverka-404/: ответ должен быть 404. Коды всех страниц сразу покажет краулер, в Screaming Frog это вкладка Response Codes. Там же видно, куда ведут внутренние ссылки. Ссылку на 404 или на редирект стоит поправить на рабочий адрес.
Дубли и canonical
Дубли появляются сами собой: сортировка и фильтры в каталоге, версии для печати, метки в ссылках, один товар в двух разделах. Робот обходит копии вместо нужных страниц, а в выдачу может попасть не та версия.
Основную версию указывают тегом rel=canonical. Для Google это сильная подсказка, но не приказ: он учитывает ещё редиректы, внутренние ссылки и карту сайта. Поэтому все сигналы должны указывать на один адрес. Закрывать дубль в robots.txt или ставить на него noindex вместо canonical Google не советует.
В краулере откройте отчёт по canonical, в Screaming Frog это вкладка Canonicals. «Проверка URL» в Search Console показывает, какую страницу Google сам выбрал канонической. Иногда это не та страница, которую указали вы, и тогда стоит искать, какой сигнал спорит с вашим.
Частая ошибка
Canonical прописан в общем шаблоне и на всех страницах указывает на главную. Для поисковика это просьба склеить весь сайт с одной страницей.
Скорость и Core Web Vitals
Google оценивает скорость и удобство страницы тремя метриками Core Web Vitals. Их считают по реальным посетителям: берут 75-й процентиль визитов, отдельно для телефонов и для компьютеров. Страница проходит оценку, если все три метрики в зелёной зоне.
Это пороги Google, я ориентируюсь на них и для Яндекса. Данные реальных посетителей показывает PageSpeed Insights, если у страницы достаточно трафика, и отчёт «Основные интернет-показатели» в Search Console. Лабораторный замер Lighthouse в той же PageSpeed Insights или в Chrome помогает найти причину: тяжёлую картинку первого экрана, шрифты, сторонние виджеты, картинки без заданных размеров, из-за которых прыгает вёрстка.
Совет
Мерьте страницы услуг на мобильном профиле, а не только главную. Заявки оставляют на страницах услуг, а у них бывает свой тяжёлый блок: карта, видео, калькулятор.
Мобильная версия
Google индексирует сайты по мобильной версии: в октябре 2023 года он объявил, что переход на mobile-first завершён. Чего нет в версии для телефона, того может не оказаться и в индексе. Яндекс с февраля 2016 года при прочих равных ставит выше в мобильном поиске страницы, адаптированные под телефон.
Тест на оптимизацию для мобильных и отчёт об удобстве для мобильных Google закрыл 1 декабря 2023 года. Вместо них пользуйтесь Lighthouse и режимом телефона в Chrome: откройте инструменты разработчика и включите эмуляцию устройства. В Вебмастере страницу можно проверить инструментом «Проверка мобильных страниц».
Совет
Пройдите путь клиента с настоящего телефона: найдите услугу, откройте цену, отправьте заявку. Эмулятор в Chrome не покажет, что экранная клавиатура закрывает кнопку формы.
Title, description и H1
Title становится текстом ссылки в выдаче. У каждой страницы он свой и говорит, что на ней есть, например «Монтаж вентиляции в Казани: цены и сроки». Жёсткого ограничения длины у Google нет, но в выдаче он обрезает заголовок по ширине экрана, поэтому главное ставьте в начало. Если title не подходит, Google может собрать заголовок сам: из H1, текста страницы или ссылок на неё.
Description поисковик иногда берёт в сниппет, а иногда собирает описание из текста страницы. Пишите его как короткое объявление про эту страницу. H1 — видимый заголовок. По смыслу он совпадает с title, но повторять его слово в слово не обязательно.
Краулер выгрузит title, description и H1 всех страниц в одну таблицу. В Screaming Frog откройте вкладки Page Titles, Meta Description и H1 с фильтрами Missing и Duplicate: так найдутся пустые и одинаковые.
Структура и перелинковка
Робот находит страницы по ссылкам. Google надёжно обходит только обычные ссылки: элемент <a> с атрибутом href. Меню на скриптах без href, кнопку «Показать ещё» и переход по клику на карточку он может пропустить.
Важные страницы держите близко к главной. Я стараюсь, чтобы до любой услуги было не больше трёх кликов. Страница без входящих ссылок может числиться в sitemap, но сама по сайту до неё не доберётся ни робот, ни посетитель. Текст ссылки описывает страницу, на которую она ведёт: «монтаж вентиляции» вместо «подробнее».
Краулер покажет глубину каждой страницы (в Screaming Frog колонка Crawl Depth) и число входящих ссылок (Inlinks). Страницы без входящих ссылок ищут так: сравнивают список из sitemap со списком, который краулер нашёл по ссылкам.
Микроразметка
Разметка schema.org в формате JSON-LD описывает поисковику, что на странице: организация и контакты, хлебные крошки, товар с ценой, статья. Она должна совпадать с тем, что видит посетитель: цена в коде и цена на экране одинаковые.
Расширенный сниппет с ценой, рейтингом или вопросами поисковик показывает по своим правилам, и разметка его не гарантирует. Часть форматов Google уже убрал: в сентябре 2023 года он перестал показывать расширенные результаты для пошаговых инструкций HowTo.
Проверить разметку можно в «Валидаторе микроразметки» Вебмастера, в «Проверке расширенных результатов» Google и в общем валидаторе validator.schema.org.
Яндекс Метрика и цели
Последняя проверка отвечает на вопрос, который задаст владелец сайта: стало ли больше заявок. Без целей в Метрике этого не узнать.
Счётчик должен стоять на всех страницах ровно один раз, включая страницу «Спасибо» и всплывающие формы. Цель «заявка» считают по успешной отправке формы. Метрика умеет сама создавать цели на отправку формы, клик по телефону и e-mail, переход в мессенджер. Клик по номеру ещё не звонок: чтобы считать звонки, нужен коллтрекинг.
Отправьте тестовую заявку и найдите её в отчёте по целям. Потом посмотрите в Вебвизоре пару визитов с телефона: видно, где посетитель застрял в форме.
Частая ошибка
Цель срабатывает на клик по кнопке «Отправить». Посетитель не заполнил телефон, форма показала ошибку, а цель засчиталась. В Метрике заявок больше, чем на почте, и непонятно, каким цифрам верить.
0 из 47 пунктов отмечено
Что делать с результатами
Неотмеченные пункты разделите на три группы. Сначала то, что мешает попасть в поиск: закрытый robots.txt, noindex на услугах, неработающие зеркала, ошибки 5xx. Потом то, что путает робота: дубли, цепочки редиректов, мусор в sitemap. Скорость, разметку и метаданные можно править по ходу, начиная со страниц, которые приносят заявки.
- Сразуrobots.txt, noindex, зеркала, 5xx
- Следомдубли, редиректы, sitemap, 404
- По ходускорость, разметка, метаданные
После правок отправьте страницы на переобход: в Вебмастере это «Индексирование → Переобход страниц», в Search Console — кнопка «Запросить индексирование» в «Проверке URL». Результат появится не сразу, поисковику нужно заново обойти страницы.
Список ошибок — только половина работы. Дальше нужно понять, какие из них правда мешают заявкам, и объяснить программисту, что делать. Если хотите получить список ошибок с приоритетами и ТЗ, закажите SEO-аудит сайта: проверю всё из этого чек-листа, а ещё посадочные страницы, тексты и коммерческие факторы, и распишу каждую задачу с часами на внедрение.
Источники
- Google: Core Web Vitals, пороги LCP, INP и CLS; замена FID на INP 12 марта 2024 года
- Google Search Central: robots.txt и лимит 500 КиБ, noindex, sitemap, коды ответа и редиректы, canonical, title, ссылки
- Блог Google Search Central: mobile-first завершён (октябрь 2023), закрытие теста на мобильность, отключение HowTo
- Справка Яндекс Вебмастера: robots.txt, Clean-param, sitemap
- Блог Яндекса для вебмастеров: 301-й редирект заменил Host (20 марта 2018), мобильность в ранжировании (2 февраля 2016); автоцели Метрики
- 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 по Москве. Если увижу, что помочь не смогу, скажу сразу.