Сначала убедитесь, что сайт открывается
Прежде чем искать сложные причины, проверьте простое: сайт отвечает 200, отдаёт тот же контент роботу и человеку, сертификат валиден, www и http ведут на основной адрес.
Команда curl -I https://ваш-сайт.by/ покажет статус и заголовки. Если там 403, 503, экран «сайт на проверке» или пароль — дальше читать не нужно, сначала решается это.
Причина 1: robots.txt закрывает сайт
Одна строка Disallow: / — и робот не заходит никуда. Часто её добавляют на тестовом домене и забывают убрать при переносе. Проверка: curl https://ваш-сайт.by/robots.txt.
Вторая половина проблемы — карта сайта не объявлена. Строка Sitemap: https://ваш-сайт.by/sitemap.xml должна указывать на рабочий адрес именно вашего домена.
Причина 2: noindex — в мете или в заголовке
<meta name="robots" content="noindex"> мог остаться в шаблоне после копирования страницы-заготовки. Но бывает и хуже: X-Robots-Tag: noindex приходит в HTTP-заголовках от хостинга или прокси — в коде страницы его не видно.
Проверка: curl -I https://ваш-сайт.by/страница и поиск X-Robots-Tag в ответе. Если он есть, вопрос к хостингу, а не к вёрстке.
Причина 3: canonical указывает не туда
Canonical — это подсказка «правильный адрес вот этот». Если на всех страницах прописан один адрес (например, главная или старый домен), Google склеит их в одну и проиндексирует только её.
Проверка простая: canonical на странице должен совпадать с её собственным адресом из sitemap — без http, без www, без лишнего слэша. Расхождение в один символ уже создаёт дубль.
Причина 4: sitemap не соответствует сайту
Карта сайта — это не формальность, а список адресов, которые вы предлагаете обойти. Если внутри 404, редиректы или адреса с параметрами, робот тратит на них краулинговый бюджет и теряет доверие к карте.
Ещё одна тихая проблема — lastmod, который не меняется годами или, наоборот, обновляется при каждой сборке у всех страниц. И то и другое обесценивает сигнал о свежести.
Причина 5: старые адреса отдают 404
После редизайна структура URL почти всегда меняется, а в индексе остаются старые адреса. Если они отвечают 404, накопленный вес не переносится, а домен в выдаче выглядит как набор мёртвых ссылок.
Это не теория: у одного сайта после переезда с Битрикса вся выдача по site: состояла из старых URL, которые отдавали 404, — при том что новые страницы уже были проиндексированы. Лечится картой редиректов: 301 на смысловой аналог, 410 на мусор.
Проверка: возьмите 20 старых адресов из site:ваш-сайт.by и пройдите по ним. Ни один не должен отдавать 404, если у него есть аналог на новом сайте.
Причина 6: дубли адресов
example.by и www.example.by, /page и /page/, /index.html и /, страницы с ?utm_source — всё это разные адреса с одинаковым контентом. Робот выбирает один, остальные висят как дубли и размывают сигналы.
Лечится каноническими адресами и редиректами: один хост, один вариант слэша, обязательный canonical, а параметры разметки не должны попадать в индекс.
Причина 7: страницы-пустышки
Три абзаца общих слов и один и тот же текст на 50 страницах городов — типичная причина статуса «Discovered — currently not indexed» в Google Search Console. Робот знает адрес, но не видит причины его показывать.
Уникальность не про перестановку слов: на странице города должны быть свои цены, сроки, примеры работ, отзывы, особенности выезда. Если этого нет — лучше сделать пять городов хорошо, чем пятьдесят одинаково.
Причина 8: сайт медленный или падает под краулом
Если сервер отвечает дольше пары секунд или отдаёт 500 при нескольких параллельных запросах, робот просто снижает частоту обхода. Внешне сайт живой, а новые страницы ждут неделями.
Проверка: откройте сайт с эмуляцией медленной сети и посмотрите время ответа сервера (TTFB). Норма — до 0,5 секунды. Если больше, вопрос к хостингу и кешу, а не к текстам.
Причина 9: сайт новый и без внешних сигналов
У домена без истории первичная индексация занимает от нескольких дней до нескольких недель. Это нормально. Но если прошло два-три месяца, а в индексе ноль страниц — дело не в «песочнице», а в одной из причин выше.
Ускорить можно: отправить карту в панели, переподать адреса через IndexNow, добавить сайт в Яндекс.Вебмастер и Google Search Console. Это не гарантирует позиции, но сокращает ожидание с месяцев до дней.
Сводная таблица проверок
| Что проверяем | Как | Норма |
|---|---|---|
| Доступность | curl -I | 200, без заглушек |
| robots.txt | curl /robots.txt | нет Disallow: /, есть Sitemap |
| noindex | исходный код + curl -I | нет меты и X-Robots-Tag |
| canonical | исходный код страницы | совпадает с адресом |
| sitemap | пройти по всем <loc> | все 200, без дублей |
| старые адреса | site: + ручная проверка | 301 или 410, не 404 |
| дубли | www, слэш, параметры | один адрес на страницу |
| скорость | TTFB и Lighthouse | TTFB до 0,5 с |
| индексация | GSC, Яндекс.Вебмастер | страницы в индексе |
Что делать после исправления
- обновить sitemap и убедиться, что все адреса отвечают 200;
- переподать URL через IndexNow — быстрее всего реагируют Bing и Яндекс;
- запросить переобход в панелях Google и Яндекса;
- подождать 1–3 недели и сравнить состав выдачи, а не количество страниц;
- не менять всё сразу: если после правки стало хуже, непонятно, что именно сработало.
И главное: индексация — не результат, а условие. Даже полностью проиндексированный сайт не выйдет в топ по конкурентному запросу без содержания и внешних сигналов.