SPECIAL PAGES

AMAZING LAYOUTS

Коротко

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

Александр Евстигнеев, основатель AVE Design StudioОбъясняем на пальцах
Для продавщицы

Как открытие магазина: мало расставить товар. Нужны вывеска, касса, ценники, документы на стене и ключ от двери. Чек-лист — чтобы утром ничего не забыть.

Для пятиклассника

Ты нарисовал карту сокровищ и спрятал в коробку. Поисковик — друг, который должен её открыть. Чек-лист проверяет, что коробка открывается.

Для тёщи

Как перед приездом гостей: стол накрыт, но проверьте, что дверь открыта, звонок работает и адрес вы назвали правильный.

Сайт готов, когда его видит не только дизайнер. Дизайнер видит красоту, заказчик — свой логотип, а поисковый робот видит код. И если в коде пусто, вся красота живёт в одном браузере — у того, кто её сделал.

Ниже — чек-лист, по которому мы в студии принимаем сайт перед публикацией: 85 проверок в десяти группах и отдельно 15 причин, почему не индексируется сайт, собранный нейросетью. У каждого пункта — что это, чем проверить и где чаще всего ошибаются. Пункты отмечаются кликом, отметки сохраняются в вашем браузере, список можно распечатать или скачать.

Чек-лист запуска сайта: 100 проверок перед публикацией и почему сайт не индексируется

Как пользоваться чек-листом

Идите сверху вниз: первые группы блокируют запуск, последние можно доделать в первую неделю. Не обязательно закрывать всё за вечер — важно не забыть то, что потом дорого чинить.

ГруппаКогда закрытьЧто будет, если пропустить
Индексация, метаданныеДо публикацииСайт не попадёт в поиск или попадёт с мусором и дублями
Юридическое, формы и почтаДо публикацииШтрафы за персональные данные, потерянные заявки
АналитикаДо запуска рекламыРеклама крутится, а откуда заявки — непонятно
Скорость, мобильная версияДо рекламы, потом улучшатьДорогой клик и уход с телефона на первом экране
Безопасность, инфраструктураВ первую неделюВзлом, спам через формы, сайт упал — никто не заметил

Команды вида 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:, ссылки на мессенджеры открывают нужный чат. Проверка: нажмите каждую с телефона. Ошибка: номер картинкой, его нельзя ни нажать, ни скопировать.
Осторожно

Раздел отражает практику на момент подготовки (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 нового сайта.

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

Пошагово

  1. Откройте доступ поисковикам. HTTPS и один адрес, текст в исходном коде, robots.txt, sitemap.xml, canonical и никакого лишнего noindex.
  2. Подпишите страницы. Свои title и description, один H1, alt у картинок, Open Graph для превью и разметка schema.org.
  3. Закройте юридическое. Политика, отдельное согласие на обработку персональных данных у каждой формы, уведомление о cookie, реквизиты.
  4. Проверьте заявки и аналитику. Тестовая заявка из каждой формы доходит до почты и CRM, цели Метрики срабатывают, письма не уходят в спам.
  5. Ускорьте и проверьте телефон. Core Web Vitals в PageSpeed Insights, сжатые картинки, адаптив без горизонтальной прокрутки.
  6. Включите защиту и мониторинг. Заголовки безопасности, антиспам, резервные копии, мониторинг ошибок и доступности.
  7. Посмотрите на сайт глазами робота. «Проверка URL» в Search Console и «Проверка ответа сервера» в Вебмастере, через неделю-две — страницы в поиске.
Александр Евстигнеев, основатель AVE Design StudioМнение Александра ЕвстигнееваОснователь AVE Design Studio
«Сайт, который видит только его автор, ещё не запущен — он просто включён.»

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

Почему сайт, сделанный в Lovable или на React, не индексируется?

Чаще всего текст рисуется скриптом в браузере, а в исходном коде пустой блок, адреса с решёткой и один title на все страницы. Нужен серверный рендеринг, статическая сборка или пререндер, обычные ссылки и свои метатеги у каждой страницы.

Как проверить, что Google и Яндекс видят мой сайт?

В Google Search Console откройте «Проверка URL» и посмотрите скриншот, который получил робот. В Яндекс Вебмастере — «Проверка ответа сервера»: там видно код ответа и HTML, который получил робот Яндекса.

Через сколько новый сайт появится в поиске?

Обычно от нескольких дней до нескольких недель. Ускорить можно: добавить сайт в Вебмастер и Search Console, отправить sitemap.xml и попросить переобход главных страниц.

Нужно ли cookie-уведомление, если на сайте только Яндекс Метрика?

Да. Метрика и Вебвизор используют cookie, поэтому нужны уведомление и политика cookie, а у форм — отдельное согласие на обработку персональных данных.

Можно ли запускать рекламу, пока сайт не проиндексирован?

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

Как это выглядит у клиентов

Все кейсы 

Александр Евстигнеев, основатель AVE Design Studio
Материал разбираетАлександр ЕвстигнеевОснователь AVE Design Studio, маркетолог

В рекламе и сайтах с 1998 года. Сертифицированный специалист Яндекс Директ Про и Яндекс Метрики. Студия — сертифицированный партнёр «1С-Битрикс» с 2012 года. Эксперт в эфирах Первого канала, ТВЦ, РЕН ТВ, Матч ТВ и Мир 24.

О компании Контакты

Опубликовано .

Поделиться:TelegramVK