Перед запуском проверьте, что поисковики видят страницы (HTTPS, robots.txt, sitemap.xml, нет лишнего noindex, текст есть в исходном коде), у каждой страницы свои title и description, заявки из всех форм доходят и считаются целями Метрики, на сайте есть политика и отдельное согласие на обработку персональных данных по 152-ФЗ, а сам сайт добавлен в Яндекс Вебмастер и Google Search Console. Ниже — 85 проверок в десяти группах и 15 причин, почему не индексируется сайт, собранный нейросетью.
Объясняем на пальцахКак открытие магазина: мало расставить товар. Нужны вывеска, касса, ценники, документы на стене и ключ от двери. Чек-лист — чтобы утром ничего не забыть.
Ты нарисовал карту сокровищ и спрятал в коробку. Поисковик — друг, который должен её открыть. Чек-лист проверяет, что коробка открывается.
Как перед приездом гостей: стол накрыт, но проверьте, что дверь открыта, звонок работает и адрес вы назвали правильный.
Сайт готов, когда его видит не только дизайнер. Дизайнер видит красоту, заказчик — свой логотип, а поисковый робот видит код. И если в коде пусто, вся красота живёт в одном браузере — у того, кто её сделал.
Ниже — чек-лист, по которому мы в студии принимаем сайт перед публикацией: 85 проверок в десяти группах и отдельно 15 причин, почему не индексируется сайт, собранный нейросетью. У каждого пункта — что это, чем проверить и где чаще всего ошибаются. Пункты отмечаются кликом, отметки сохраняются в вашем браузере, список можно распечатать или скачать.

Как пользоваться чек-листом
Идите сверху вниз: первые группы блокируют запуск, последние можно доделать в первую неделю. Не обязательно закрывать всё за вечер — важно не забыть то, что потом дорого чинить.
| Группа | Когда закрыть | Что будет, если пропустить |
|---|---|---|
| Индексация, метаданные | До публикации | Сайт не попадёт в поиск или попадёт с мусором и дублями |
| Юридическое, формы и почта | До публикации | Штрафы за персональные данные, потерянные заявки |
| Аналитика | До запуска рекламы | Реклама крутится, а откуда заявки — непонятно |
| Скорость, мобильная версия | До рекламы, потом улучшать | Дорогой клик и уход с телефона на первом экране |
| Безопасность, инфраструктура | В первую неделю | Взлом, спам через формы, сайт упал — никто не заметил |
Команды вида curl -I https://site.ru запускаются в терминале: на Windows — в PowerShell (пишите curl.exe), на Mac и Linux — как есть. Вместо site.ru подставьте свой адрес.
Индексация: пустят ли поисковики на сайт
Индексация — это когда поисковик скачал страницу и положил её в свою базу. Нет в базе — нет в поиске, сколько бы ни стоил дизайн.
- Один адрес и HTTPS. Сайт открывается только по https, а варианты с http и www ведут на основной адрес одним 301-редиректом. Проверка:
curl -I http://site.ru— в ответе 301 и строка Location с https-адресом; в Яндекс Вебмастере — «Инструменты → Проверка ответа сервера». Ошибка: цепочка из двух-трёх редиректов или временный 302 вместо постоянного 301. - Текст есть в исходном коде. Сервер отдаёт готовый HTML с заголовками и текстом: серверный рендеринг (SSR), статическая сборка (SSG) или пререндер. Проверка: откройте
view-source:страницы (Ctrl+U) и найдите в коде свой заголовок. Ошибка: в коде только пустой<div id="root">, а текст дорисовывает JavaScript. - robots.txt открывает нужное. Файл site.ru/robots.txt закрывает служебное — админку, корзину, поиск по сайту, — но не сам сайт. Проверка: «Анализ robots.txt» в Вебмастере и отчёт о robots.txt в Google Search Console. Ошибка: с тестового сервера переехал
Disallow: /и закрыл всё. - Директивы для Яндекса актуальны. Директиву Host Яндекс больше не учитывает: главный адрес задают 301-редиректом. Для меток и служебных параметров в адресах есть Clean-param — её понимает только Яндекс. Проверка: в robots.txt нет Host, а параметры вроде utm_source склеены через Clean-param. Ошибка: сотни дублей одной страницы с разными метками в отчёте «Страницы в поиске».
- Карта сайта sitemap.xml. В ней только живые канонические страницы с ответом 200, а ссылка на неё записана в robots.txt строкой
Sitemap: https://site.ru/sitemap.xml. Проверка: «Файлы Sitemap» в Вебмастере и Search Console — без ошибок. Ошибка: в карте страницы с noindex, редиректы или адреса тестового домена. - Сайт добавлен в Вебмастер и Search Console. Права подтверждены, карта сайта отправлена, в Вебмастере указан регион. Проверка: в обоих кабинетах сайт виден, появились первые данные. Ошибка: подтвердили версию с www, а основной адрес без www — данные идут мимо.
- Нет лишнего noindex. Запрет индексации может стоять в meta robots и в заголовке ответа X-Robots-Tag. Проверка: поиск «noindex» в исходном коде и
curl -I— в ответе не должно быть X-Robots-Tag: noindex. Ошибка: в WordPress или Тильде осталась галочка «скрыть сайт от поисковиков» со времён разработки. - noindex там, где он нужен. Страница «Спасибо», корзина, личный кабинет, результаты поиска по сайту и мусорные фильтры закрыты meta robots noindex. Проверка: выборочно откройте исходный код этих страниц. Ошибка: страница закрыта и в robots.txt, и noindex — робот не заходит и не видит noindex, поэтому адрес может остаться в поиске.
- Canonical на каждой странице. Тег указывает полный https-адрес самой страницы, у дублей — адрес основной. Проверка:
view-source:и поиск по слову canonical. Ошибка: у всех страниц canonical ведёт на главную, и в поиске остаётся одна главная. - Чистые адреса без дублей. Одна страница — один адрес: вариант со слешем и без, с index.php, с заглавными буквами ведут на основной 301-редиректом. Проверка: откройте site.ru/uslugi и site.ru/uslugi/ — один из них должен перенаправить на другой. Ошибка: оба отвечают 200, и поисковик видит две одинаковые страницы.
- 301-редиректы со старых адресов. Если сайт переезжает или меняет структуру, у каждой старой страницы есть новая пара. Проверка: выгрузите старые адреса из Вебмастера или Search Console и прогоните краулером — везде 301 на близкую по смыслу страницу. Ошибка: все старые адреса отправлены на главную, и накопленные позиции пропадают.
- Страница 404 — настоящая. Несуществующий адрес отвечает кодом 404, а сама страница помогает: поиск, ссылки на разделы, телефон. Проверка:
curl -I https://site.ru/takoy-stranicy-net— в ответе 404. Ошибка: сервер отвечает 200 и показывает «Не найдено» — это «мягкая 404», поисковик копит мусор.
Метаданные и разметка: как сайт выглядит в выдаче
Метаданные — это подпись к странице для поисковика и мессенджеров. Человек её не видит на сайте, зато видит в выдаче и в превью ссылки.
- Свои title и description. У каждой страницы уникальный заголовок для выдачи (title, ориентир — до 60–70 знаков) и описание (description, до 160 знаков) с главным запросом и выгодой. Проверка: краулер вроде Screaming Frog SEO Spider покажет одинаковые и пустые. Ошибка: на всех страницах «Главная» или «Vite + React».
- Ровно один H1 и порядок заголовков. Один главный заголовок на странице, под ним H2 и H3 по смыслу, а не по размеру шрифта. Проверка: в консоли браузера
document.querySelectorAll('h1').length— должно быть 1. Ошибка: логотип в H1 на каждой странице или пять H1 подряд. - alt у картинок. Содержательные изображения подписаны словами, декоративные — с пустым
alt="". Проверка: Lighthouse, раздел Accessibility, или краулер. Ошибка: alt «image1.jpg» или один и тот же ключевой запрос у всех картинок. - Open Graph для превью. Указаны og:title, og:description, og:url и og:image размером около 1200×630 полным https-адресом. Проверка: отправьте ссылку себе в Telegram или VK и посмотрите карточку. Ошибка: картинка с тестового домена или относительным путём — превью пустое. Telegram запоминает старое превью, обновить его можно через бота @WebpageBot.
- Иконки сайта. Есть favicon, apple-touch-icon 180×180 и файл site.webmanifest. Яндекс показывает фавиконку рядом с сайтом в выдаче. Проверка: вкладка браузера, ярлык на экране телефона, Lighthouse. Ошибка: в выдаче иконка конструктора или фреймворка вместо вашего логотипа.
- Разметка schema.org. В формате JSON-LD: Organization или LocalBusiness на главной, BreadcrumbList — хлебные крошки, Article — у статей, FAQPage — у блоков вопросов. Проверка: Rich Results Test от Google, validator.schema.org и «Валидатор микроразметки» в Вебмастере. Ошибка: в разметке отзывы, цены или вопросы, которых нет на странице, — это нарушение правил поисковиков.
- hreflang для языковых версий. Если есть английская или другая версия, страницы ссылаются друг на друга, плюс вариант x-default. Проверка: Search Console и краулер. Ошибка: ссылка только в одну сторону или на страницу с noindex — поисковик игнорирует разметку.
- Понятные адреса страниц. Латиница, транслит, слова через дефис, без id и лишних параметров:
/uslugi/remont-krovli/, а не/page?id=123. Проверка: пройдите по меню и посмотрите адресную строку. Ошибка: адрес поменяли после индексации без 301-редиректа. - Хлебные крошки на внутренних страницах. Цепочка «Главная → Раздел → Страница» видна человеку и продублирована разметкой BreadcrumbList. Проверка: откройте любую страницу второго уровня. Ошибка: крошки есть только в разметке или только в вёрстке.
Скорость: успеет ли человек дождаться
Скорость — это не оценка в сервисе, а сколько секунд человек смотрит на белый экран с телефона в метро. Подробно — в разборе скорости сайта для рекламы.
- Core Web Vitals в зелёной зоне. Главный элемент экрана отрисовывается быстрее 2,5 секунды (LCP), реакция на нажатие — до 200 мс (INP), вёрстка не прыгает (CLS не выше 0,1). Проверка: PageSpeed Insights в мобильном режиме, Lighthouse в Chrome DevTools, позже — отчёт «Основные интернет-показатели» в Search Console. Ошибка: смотреть только на десктопную оценку — у поисковиков главная версия мобильная.
- Картинки сжаты. Формат WebP или AVIF, размер под экран, разные размеры через srcset, у каждой картинки указаны ширина и высота. Проверка: вкладка Network в DevTools — тяжёлых изображений на первом экране нет. Ошибка: фото на 5 МБ прямо с телефона в шапке.
- Ленивая загрузка — только ниже первого экрана. У картинок ниже стоит loading="lazy", а главная картинка первого экрана грузится сразу, с fetchpriority="high". Проверка: Lighthouse подсветит LCP-элемент. Ошибка: lazy на главной картинке — она грузится последней.
- Сжатие gzip или brotli. HTML, CSS и скрипты сжимаются сервером. Проверка:
curl -sI -H "Accept-Encoding: br, gzip" https://site.ru— в ответе есть content-encoding. Ошибка: сжатие включено для HTML, но забыто для JS и CSS. - Кэш и CDN. Картинки, стили и скрипты кэшируются надолго, а при обновлении у файлов меняется версия в имени или в адресе. Если посетители в России, узлы CDN тоже нужны в России. Проверка: заголовок cache-control у статики в
curl -I. Ошибка: после обновления у части людей открывается старая вёрстка с новыми скриптами. - Шрифты не тормозят. Подключены только нужные начертания, стоит font-display: swap, основной шрифт предзагружается. Проверка: Lighthouse, раздел Performance. Ошибка: шесть начертаний с чужого сервера, текст невидим, пока они не загрузятся.
- Сторонние скрипты не блокируют первый экран. Чаты, квизы, карты, пиксели и виджеты подгружаются после основного содержимого. Проверка: Lighthouse — блок о стороннем коде. Ошибка: три чата и пять счётчиков грузятся раньше заголовка.
- Сервер отвечает быстро. Время до первого байта (TTFB) — доли секунды, а не две-три. Проверка: PageSpeed Insights или вкладка Network. Ошибка: дешёвый хостинг без кэша страниц, и каждая страница собирается заново.
Мобильная версия и доступность
Больше половины людей смотрят сайт с телефона, поэтому мобильную версию проверяют первой, а не «потом подгоним». Отдельный разбор — мобильная версия под рекламу.
- Нет горизонтальной прокрутки. На ширине 360–390 пикселей ничего не вылезает за край, текст не мельче 16 px, кнопки удобно нажимать пальцем. Проверка: режим устройства в DevTools (Ctrl+Shift+M) и настоящий телефон. Ошибка: одна широкая таблица или картинка ломает всю страницу.
- Формы удобны на телефоне. У телефона тип поля tel — открывается цифровая клавиатура, у почты — email, работает автозаполнение. Проверка: заполните форму с телефона одной рукой. Ошибка: поле телефона с маской, которая не даёт ввести номер с восьмёрки.
- Всплывающие окна не закрывают экран. Попапы и баннеры cookie не перекрывают содержимое и закрываются с первого нажатия. Проверка: откройте сайт с телефона в режиме инкогнито. Ошибка: окно подписки на весь экран через секунду после входа.
- Контраст и читаемость. Текст отличим от фона: для обычного текста ориентир — контраст не ниже 4,5:1 по WCAG. Проверка: Lighthouse, раздел Accessibility. Ошибка: светло-серый текст на белом «для стиля».
- Сайт работает с клавиатуры. По Tab видно, где фокус, у полей есть подписи (label), у кнопок-иконок — текстовое название (aria-label). Проверка: пройдите страницу клавишей Tab без мыши. Ошибка: фокус спрятан стилями, и непонятно, где вы находитесь.
- Кроссбраузерность. Сайт проверен в Chrome, Safari на iPhone, Яндекс Браузере и Firefox. Проверка: настоящий iPhone или облачный сервис тестирования. Ошибка: проверили только в Chrome, а в Safari уехала шапка и не работает выбор даты.
- Даты, валюты и числа в местном формате. «12 октября», «1 500 ₽», время с часовым поясом в формах записи. Проверка: пройдите путь клиента до заявки. Ошибка: даты в американском формате месяц/день, и человек записывается не на тот день.
- Телефон и мессенджеры нажимаются. Номер — ссылка tel:, почта — mailto:, ссылки на мессенджеры открывают нужный чат. Проверка: нажмите каждую с телефона. Ошибка: номер картинкой, его нельзя ни нажать, ни скопировать.
Юридическое: персональные данные, cookie и реквизиты
Раздел отражает практику на момент подготовки (2026) и не заменяет консультацию юриста. Требования к персональным данным меняются, сверяйте детали с актуальной редакцией закона.
Любая форма с именем и телефоном — это уже обработка персональных данных по 152-ФЗ. Подробно с примерами формулировок — в разборе форм на сайте и 152-ФЗ.
- Политика обработки персональных данных. Опубликована на сайте, ссылка — в подвале и у каждой формы. Проверка: политика описывает именно ваши формы, данные и цели. Ошибка: скачанный шаблон с чужим названием компании.
- Согласие на обработку — отдельным документом. С 1 сентября 2025 года согласие оформляют отдельно от политики. У каждой формы — неотмеченная галочка со ссылкой на согласие: в квизах, всплывающих окнах и формах обратного звонка тоже. Проверка: пройдите все формы сайта. Ошибка: галочка стоит заранее или есть только в главной форме.
- Уведомление в Роскомнадзор. Оператор персональных данных подаёт уведомление до начала обработки. Проверка: поиск своей организации в реестре операторов на сайте pd.rkn.gov.ru. Ошибка: сайт работает год, а уведомления нет.
- Данные хранятся в России. Персональные данные россиян при сборе записывают в базы на территории России. Если заявки уходят в зарубежные сервисы, это трансграничная передача — о ней тоже уведомляют Роскомнадзор. Проверка: выпишите, куда уходят заявки: почта, CRM, таблицы, боты. Ошибка: формы отправляют данные напрямую в зарубежный конструктор форм.
- Уведомление о cookie. Метрика, Вебвизор и пиксели используют cookie, поэтому на сайте нужно уведомление и политика cookie. В России чаще ставят уведомление; строже — спрашивать согласие до запуска необязательных счётчиков. Проверка: откройте сайт в режиме инкогнито. Ошибка: баннер есть, а политики cookie, на которую он ссылается, нет.
- Пользовательское соглашение или оферта. Нужны, если вы продаёте онлайн, принимаете оплату или у сайта есть личный кабинет. Проверка: документ доступен до оплаты. Ошибка: оферта из шаблона противоречит реальным условиям доставки и возврата.
- Контакты и реквизиты. Название организации или ИП, ИНН и ОГРН, адрес, телефон и почта — на странице контактов или в подвале. Проверка: реквизиты совпадают с договором и карточкой в Яндекс Бизнесе. Ошибка: на сайте один адрес, на картах другой, в договоре третий.
- Если работаете на Европу. Для Германии и ЕС нужны Impressum — обязательные выходные данные компании — и согласие на cookie до запуска счётчиков по правилам GDPR. Проверка: юрист на рынке страны. Ошибка: перевели русский сайт на немецкий и оставили российский набор документов.
- Возрастные ограничения, если нужны. Если на сайте есть контент для взрослых, нужны предупреждение и знак 18+, у зарегистрированных СМИ возрастная маркировка обязательна всегда. Проверка: сверьте тематику с юристом. Ошибка: вспоминают о маркировке после жалобы.
Аналитика: чтобы знать, откуда заявки
Сайт без аналитики — магазин без кассы: торговля идёт, а сколько продали — неизвестно. Расширенный список для Метрики — в чек-листе настройки Яндекс Метрики.
- Яндекс Метрика на всех страницах. Один счётчик, Вебвизор включён, ваши собственные визиты отфильтрованы. Проверка: добавьте к адресу
?_ym_debug=2и посмотрите консоль браузера. Ошибка: счётчик стоит дважды — в шаблоне и через Тег Менеджер — и визитов вдвое больше, чем людей. - GA4, если нужна статистика Google. Подключена через Google Tag Manager или gtag, без дублей. Проверка: отчёт «В реальном времени» в GA4 и Tag Assistant. Ошибка: GA4 поставили, но не упомянули Google в политике cookie.
- Один контейнер тегов. Google Tag Manager или Яндекс Тег Менеджер — один, в нём понятные названия тегов. Проверка: режим предпросмотра контейнера. Ошибка: три контейнера от трёх подрядчиков, и никто не знает, что в них.
- Цели на каждую заявку. Отправка каждой формы, клик по телефону, переход в мессенджер, прохождение квиза. Проверка: отправьте тестовую заявку и найдите её в отчёте «Конверсии». Ошибка: цель на клик по кнопке «Отправить», а не на успешную отправку, — считаются и пустые формы.
- Цель и страница «Спасибо». После отправки человек видит понятный ответ или страницу «Спасибо», а её посещение — отдельная цель. Проверка: тестовая заявка с телефона. Ошибка: «Спасибо» показывается, даже когда сервер вернул ошибку.
- Рекламные пиксели. VK Реклама, Top.Mail.Ru и другие — только нужные и описанные в политике cookie. Проверка: расширения-отладчики пикселей или вкладка Network. Ошибка: пиксели от прошлых подрядчиков продолжают собирать данные.
- Единая схема UTM-меток. Источник, канал и кампания размечаются по одному шаблону в нижнем регистре. Подробно — UTM-метки для Директа. Проверка: отчёт «Метки UTM» в Метрике. Ошибка: метки во внутренних ссылках сайта — источник визита перезаписывается.
- Consent Mode для Google. Если есть согласие на cookie и стоят теги Google, они учитывают выбор человека через режим согласия. Для аудитории из ЕС это обязательно. Проверка: Tag Assistant показывает состояние согласия. Ошибка: баннер «Отказаться» есть, а счётчики всё равно стартуют.
- Заявка доходит до CRM с источником. В карточке заявки видны метки и номер визита, чтобы потом передать продажи обратно в Метрику. Проверка: тестовая заявка по ссылке с метками. Ошибка: в CRM только имя и телефон — какая реклама привела клиента, уже не узнать.
Безопасность: чтобы сайт не взломали в первый месяц
Взламывают не самые ценные сайты, а самые доступные. Новый сайт с паролем admin — лёгкая добыча для ботов, которые обходят интернет круглосуточно.
- Заголовки безопасности. HSTS — всегда только https, CSP — откуда можно грузить скрипты, X-Frame-Options или frame-ancestors — запрет встраивать сайт в чужие рамки, плюс X-Content-Type-Options. Проверка:
curl -I https://site.ruили securityheaders.com. Ошибка: слишком строгая CSP молча ломает Метрику и формы — проверяйте цели после включения. - Ограничение частоты запросов. Формы и API не принимают сотни запросов в минуту с одного адреса (rate limiting). Проверка: спросите разработчика, где и как настроен лимит. Ошибка: бот за ночь отправляет тысячу заявок, а с ними улетает бюджет на SMS.
- Антиспам в формах. Скрытое поле-ловушка, проверка времени заполнения, при необходимости Yandex SmartCaptcha. Способы без капчи — в разборе ботов в заявках. Проверка: отправьте форму очень быстро или с заполненным скрытым полем. Ошибка: капча на каждой форме — спама меньше, но и людей тоже.
- Нет открытых секретов. Ключи API, токены ботов и пароли от базы не лежат в коде, который видит браузер, и в публичном репозитории. Проверка:
curl -I https://site.ru/.envиcurl -I https://site.ru/.git/config— ответ 403 или 404; поиск слов key и token в собранных скриптах. Ошибка: секретный ключ сервиса прямо в JavaScript-файле сайта. - Права доступа к базе. Если сайт работает на Supabase, Firebase или похожем сервисе, включены правила доступа к таблицам (в Supabase — RLS). Проверка: попробуйте прочитать таблицу заявок без входа в систему. Ошибка: заявки клиентов читаются любым, кто открыл консоль браузера.
- Обновлённые зависимости. CMS, плагины, библиотеки свежие, неиспользуемые удалены. Проверка:
npm auditдля JavaScript-проектов, раздел обновлений в WordPress или Битриксе. Ошибка: «потом обновим» — и потом наступает в виде взлома. - Админка закрыта. Сложный пароль, двухфакторный вход, тестовые пользователи удалены, при возможности — доступ только с нужных адресов. Проверка: список пользователей в админке. Ошибка: логин admin и пароль, который знают все подрядчики за пять лет.
- Ошибки не показывают внутренности. На проде выключен режим отладки, и при сбое человек не видит пути к файлам и SQL-запросы. Проверка: откройте заведомо неверный адрес с параметрами. Ошибка: страница ошибки показывает версию CMS и структуру базы.
Формы и почта: чтобы заявки не терялись
Самый дорогой баг на сайте — тихий. Форма «отправляется», человек ждёт звонка, а заявка не дошла никуда.
- Каждая форма доходит. Тестовая заявка из каждой формы пришла туда, где её ждут: на почту, в Telegram, в CRM. Проверка: с телефона и компьютера, с короткими и длинными данными. Ошибка: проверили главную форму, а квиз и обратный звонок молчат.
- Честный ответ после отправки. Сообщение «Заявка отправлена» появляется только после успешного ответа сервера, а при ошибке человек видит телефон для связи. Проверка: отключите интернет и нажмите «Отправить». Ошибка: «Спасибо» на экране при упавшем обработчике.
- Проверка полей без фанатизма. Телефон принимается в любом привычном формате, обязательных полей минимум. Проверка: введите номер с +7, с восьмёрки и с пробелами. Ошибка: форма молча не отправляется, и непонятно, что не так.
- SPF, DKIM и DMARC. Три DNS-записи подтверждают, что письма с вашего домена отправляет именно ваш сервер. Без них письма с сайта попадают в спам или отклоняются. Проверка: mail-tester.com — оценка 9–10 из 10;
nslookup -type=txt site.ruиnslookup -type=txt _dmarc.site.ru. Ошибка: сайт отправляет письма от имени домена через сервер хостинга, а в SPF его нет. - Адрес отправителя и автоответ. Письма уходят с адреса на вашем домене, автоответ клиенту — с вашими контактами и без технического мусора. Проверка: отправьте заявку на свою почту в Яндексе и Gmail. Ошибка: письмо от «wordpress@» с текстом «Новая запись в форме».
- Копия заявок в надёжном месте. Помимо почты, заявки сохраняются в CRM или таблице: почта иногда отказывает. Проверка: найдите тестовую заявку в двух местах. Ошибка: единственный получатель — личный ящик сотрудника, который уволился.
- Кто отвечает на заявки. Назначен ответственный, понятно время ответа в рабочие часы и вечером. Проверка: тестовая заявка в пятницу вечером. Ошибка: сайт запустили, а заявки неделю лежали в общем ящике.
Инфраструктура и мониторинг
Сайт — не картина, которую повесили и забыли, а скорее машина: ей нужны страховка, ремонт и лампочка на приборной панели.
- Боевой домен и DNS. Записи A, AAAA или CNAME указывают на рабочий сервер, у домена включено автопродление. Проверка:
nslookup site.ruи сервисы проверки DNS из разных стран. Ошибка: домен оформлен на бывшего подрядчика и истёк в день акции. - TTL снижен заранее. За сутки до переключения DNS время жизни записей уменьшают, например, до 300 секунд, после запуска возвращают. Проверка: значение TTL в панели DNS. Ошибка: переключили с TTL в сутки — часть людей ещё день видит старый сайт.
- SSL-сертификат продлевается сам. Бесплатные сертификаты живут 90 дней, продление настроено автоматически. Проверка: дата окончания сертификата в браузере, мониторинг срока. Ошибка: сайт в одно утро показывает «Подключение не защищено».
- Тестовая версия закрыта. На рабочем сайте пароль разработки (basic-auth) снят, а тестовая копия закрыта паролем — robots.txt здесь не защита. Проверка: откройте тестовый адрес из другого браузера. Ошибка: в поиске появился test.site.ru — точная копия вашего сайта.
- Резервные копии. База данных и файлы копируются автоматически и хранятся отдельно от сервера сайта. Проверка: хотя бы раз восстановите копию на тестовом сервере. Ошибка: копии делались, но лежали на том же сервере, который сломался.
- Мониторинг ошибок. Ошибки сервера и скриптов собираются в журнал или сервис вроде Sentry, о новых приходит уведомление. Проверка: вызовите тестовую ошибку и дождитесь сообщения. Ошибка: о поломке узнают от клиента через неделю.
- Мониторинг доступности. Внешний сервис открывает сайт каждые несколько минут и пишет в Telegram или на почту, если тот не отвечает. Проверка: временно укажите неверный адрес и дождитесь тревоги. Ошибка: сайт лежал все выходные, а реклама работала.
- Доступы записаны. Регистратор домена, хостинг, DNS, CMS, почта, Метрика, Вебмастер — оформлены на компанию, пароли в менеджере паролей. Проверка: список доступов у владельца, а не только у подрядчика. Ошибка: «доступы у прошлого программиста, а он не отвечает».
Финальный прогон: последний взгляд перед публикацией
Перед премьерой актёры проходят спектакль целиком. Сайт тоже — одним прогоном, по пути клиента, а не по задачам в трекере.
- Нет битых ссылок. Краулер обошёл сайт: ответов 404 и 500 нет, редиректов внутри сайта минимум. Проверка: Screaming Frog SEO Spider (бесплатно до 500 адресов) или другой краулер. Ошибка: ссылки в меню ведут на тестовый домен.
- Тексты вычитаны. Нет «Lorem ipsum», «Заголовок блока», тестовых телефонов и цен «от 0 ₽», опечатки исправлены. Проверка: поиск по краулеру и сайту слов lorem, test, тест, xxx. Ошибка: на странице услуги висит «Текст про услугу будет здесь».
- Логотип, название и ссылки на соцсети. Название во вкладке, логотип и ссылки на соцсети и мессенджеры — ваши и рабочие. Проверка: нажмите каждую иконку в шапке и подвале. Ошибка: иконки ведут на страницы шаблона или на главную соцсети.
- Консоль без ошибок. В DevTools во вкладке Console нет красных ошибок, во вкладке Network — ресурсов с ответом 404. Проверка: главная, услуга, контакты, форма. Ошибка: ошибка в скрипте, из-за которой не работает квиз только в Safari.
- Прогон Lighthouse и автотестов. Lighthouse по главным шаблонам страниц в мобильном профиле; если есть автотесты (например, на Playwright) — они открывают страницы и отправляют формы. Проверка: отчёты сохранены, чтобы сравнивать после обновлений. Ошибка: проверили одну главную, а статьи и карточки устроены иначе.
- Сайт глазами робота. В Search Console — «Проверка URL» и «Проверить страницу на сайте» со скриншотом, в Вебмастере — «Проверка ответа сервера» роботом Яндекса. Проверка: на скриншоте робота есть текст и меню. Ошибка: робот видит пустую страницу или заглушку защиты от ботов.
- Через одну-две недели после запуска. Посмотрите
site:site.ruв Яндексе и Google, отчёты «Страницы в поиске» и «Индексирование страниц», отправьте важные страницы на переобход. Проверка: число страниц в поиске близко к числу страниц в карте сайта. Ошибка: запустили и забыли, а через месяц выяснилось, что в индексе три страницы из ста.
Сайт сделан на вайб-кодинге и не индексируется: 15 причин
Вайб-кодинг — это когда сайт собирают не руками, а разговором с нейросетью: Lovable, Bolt, v0, Cursor, Replit. Получается быстро и красиво, но чаще всего это одностраничное приложение на React, которое рисуется в браузере скриптами. Человек видит готовый сайт, а поисковый робот — пустую коробку с надписью «загрузка». Яндекс выполняет JavaScript не всегда и не сразу, Google — с задержкой. Как собрать сайт с нейросетью быстро, мы разбирали в статье сайт за вечер с нейросетями, а здесь — что проверить, если он не попадает в поиск.
- Текст рисуется только в браузере. В исходном коде (Ctrl+U) пустой
<div id="root"></div>. Что сделать: серверный рендеринг или статическая сборка (Next.js, Astro, Nuxt) либо пререндер всех страниц. - Адреса с решёткой. Страницы вида
site.ru/#/uslugiдля поисковика — одна главная страница. Что сделать: обычные адреса через History API, а сервер отдаёт страницу по любому из них. - Одинаковый title на всех страницах. Заголовок взят из шаблона: «Vite + React» или название проекта в конструкторе. Что сделать: свои title, description и canonical для каждой страницы при сборке.
- Ссылки — не ссылки. Переходы сделаны кнопками с обработчиком нажатия, а не тегом
<a href>— роботу не по чему ходить. Что сделать: все переходы между страницами — обычными ссылками. - Мягкая 404. На любой адрес сервер отвечает 200 и скриптом рисует «Страница не найдена». Что сделать: настоящий код 404 для несуществующих адресов, через сервер или список путей при сборке.
- Canonical и карта сайта с localhost. В canonical, og:url или sitemap.xml попал адрес разработки вроде
http://localhost:5173или технического домена. Что сделать: поиск по исходному коду и карте сайта слов localhost, vercel.app, netlify.app, lovable.app. - Индексируется превью-домен. Копия сайта на техническом адресе хостинга открыта для всех — поисковик видит два одинаковых сайта и выбирает не тот. Что сделать: 301-редирект с технического адреса на боевой или закрыть его паролем.
- Запрет индексации остался со стадии разработки.
Disallow: /в robots.txt или noindex в шаблоне. Что сделать: проверить robots.txt, meta robots и заголовок X-Robots-Tag на боевом домене. - Нет карты сайта или она устарела. sitemap.xml не генерируется или содержит только главную. Что сделать: собирать карту при каждой публикации и отправить её в Вебмастер и Search Console.
- Защита от ботов блокирует поисковики. Режим Under Attack в Cloudflare, Bot Fight Mode или правила WAF отдают роботу проверку «вы человек?» или ответ 403. Что сделать: исключение для проверенных поисковых ботов, проверка через «Проверку ответа сервера» и «Проверку URL». Как это влияет на ботов нейросетей — в разборе доступности сайта для ботов.
- Геоблокировка. Googlebot сканирует в основном с адресов в США. Если сайт закрыт для зарубежных IP, например из-за защиты от DDoS, Google его просто не видит. Что сделать: пропускать проверенные адреса Googlebot или не включать блокировку по странам.
- Содержимое появляется только после действия. Текст скрыт во вкладках, которые подгружаются по нажатию, или в бесконечной ленте без отдельных адресов. Что сделать: важный текст — в коде страницы сразу, у ленты — постраничные адреса.
- Слишком тяжёлые скрипты. Несколько мегабайт JavaScript, и главный экран на телефоне появляется через шесть-восемь секунд. Что сделать: разделить код по страницам, убрать лишние библиотеки, проверить в PageSpeed Insights.
- Заголовки и текст — картинками. H1 нет или их несколько, тексты нарисованы на изображениях или в анимации. Что сделать: один настоящий H1 и текст обычными словами.
- Роботу неоткуда узнать о сайте. Сайт не добавлен в Вебмастер и Search Console, на него не ведёт ни одна внешняя ссылка. Что сделать: добавить сайт в оба кабинета, заполнить карточку в Яндекс Бизнесе, разместить ссылки в соцсетях и отраслевых каталогах — и думать о внешних ссылках дальше.
Если сайт уже запущен, но в поиске его нет, начните с трёх пунктов: исходный код страницы (есть ли текст), «Проверка URL» в Search Console и «Проверка ответа сервера» в Вебмастере. Они за десять минут покажут, видит ли робот вообще что-нибудь. Подробный порядок технической проверки — в шаблоне технического SEO-аудита, а что заложить в новый сайт до запуска, чтобы не переделывать, — в статье про SEO нового сайта.
Если проверять некогда или хочется второго мнения, посмотрим сайт за вас: бесплатный аудит сайта — с индексацией, скоростью, формами и целями Метрики.
Пошагово
- Откройте доступ поисковикам. HTTPS и один адрес, текст в исходном коде, robots.txt, sitemap.xml, canonical и никакого лишнего noindex.
- Подпишите страницы. Свои title и description, один H1, alt у картинок, Open Graph для превью и разметка schema.org.
- Закройте юридическое. Политика, отдельное согласие на обработку персональных данных у каждой формы, уведомление о cookie, реквизиты.
- Проверьте заявки и аналитику. Тестовая заявка из каждой формы доходит до почты и CRM, цели Метрики срабатывают, письма не уходят в спам.
- Ускорьте и проверьте телефон. Core Web Vitals в PageSpeed Insights, сжатые картинки, адаптив без горизонтальной прокрутки.
- Включите защиту и мониторинг. Заголовки безопасности, антиспам, резервные копии, мониторинг ошибок и доступности.
- Посмотрите на сайт глазами робота. «Проверка URL» в Search Console и «Проверка ответа сервера» в Вебмастере, через неделю-две — страницы в поиске.
Мнение Александра ЕвстигнееваОснователь AVE Design Studio«Сайт, который видит только его автор, ещё не запущен — он просто включён.»
Частые вопросы
Почему сайт, сделанный в Lovable или на React, не индексируется?
Чаще всего текст рисуется скриптом в браузере, а в исходном коде пустой блок, адреса с решёткой и один title на все страницы. Нужен серверный рендеринг, статическая сборка или пререндер, обычные ссылки и свои метатеги у каждой страницы.
Как проверить, что Google и Яндекс видят мой сайт?
В Google Search Console откройте «Проверка URL» и посмотрите скриншот, который получил робот. В Яндекс Вебмастере — «Проверка ответа сервера»: там видно код ответа и HTML, который получил робот Яндекса.
Через сколько новый сайт появится в поиске?
Обычно от нескольких дней до нескольких недель. Ускорить можно: добавить сайт в Вебмастер и Search Console, отправить sitemap.xml и попросить переобход главных страниц.
Нужно ли cookie-уведомление, если на сайте только Яндекс Метрика?
Да. Метрика и Вебвизор используют cookie, поэтому нужны уведомление и политика cookie, а у форм — отдельное согласие на обработку персональных данных.
Можно ли запускать рекламу, пока сайт не проиндексирован?
Да, Директу индексация не нужна. Но до запуска рекламы должны работать формы, цели Метрики и мобильная версия — иначе бюджет уйдёт без понятного результата.
Как это выглядит у клиентов
Маркетинговые агентства и веб-студииAVEV Agency: сайт агентства12 страниц, бесплатный аудит и договор с KPI
Электрика, отопление, видеонаблюдениеЭлектроЗевс: электромонтаж под ключУсловия работы на первом экране и прайс-лист в мессенджер
Собственный проект студииЯндекс Аудит: сайт студииКвиз из 5 вопросов перед бесплатным аудитом
Опубликовано .



