🔍Страница не в поиске Яндекса: 9 причин и порядок проверки

Разбор причин, по которым страница не попадает в индекс, — от robots.txt и canonical до недостаточного качества. С формулировками из Вебмастера и тем, что делать по каждой.

редакция seodb#индексация#яндекс#вебмастер#canonical#robots-txt#диагностика

«Страница есть, а в поиске её нет» — самая частая техническая жалоба и одновременно самая недодиагностированная. Обычно её пытаются лечить переобходом: отправили в очередь, подождали, не помогло, отправили ещё раз.

Переобход помогает ровно в одном случае из девяти — когда робот про страницу просто ещё не знает. В остальных восьми он придёт, увидит ту же причину и снова не возьмёт страницу в индекс.

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

Сначала: узнать, что говорит Яндекс

Вебмастер → Индексирование → Страницы в поиске → вкладка Исключённые. Там для каждой страницы указан статус исключения — это и есть диагноз, который дальше остаётся только расшифровать.

Второй источник — Индексирование → Проверить статус URL. Вводите конкретный адрес, получаете текущее состояние и дату последнего обхода.

Если статуса нет вообще и страница нигде не фигурирует — робот про неё не знает, это причина №1. Все остальные причины подразумевают, что робот приходил.

1. Робот про страницу не знает

Признак: страницы нет ни в «в поиске», ни в «исключённых». Проверка статуса URL говорит, что страница не обходилась.

Причины: на страницу нет ни одной внутренней ссылки, её нет в sitemap.xml, sitemap не отправлен или отдаёт ошибку.

Что делать:

  • Поставить внутреннюю ссылку с индексируемой страницы. Это важнее sitemap: sitemap — подсказка, ссылка — сигнал.
  • Проверить, что страница есть в sitemap.xml, а сам sitemap корректен и заявлен в Вебмастере.
  • Отправить на переобход.

Единственный случай, где переобход — правильное лечение.

2. Закрыто в robots.txt

Признак: статус исключения прямо говорит о запрете в robots.txt.

Как проверить: Вебмастер → Инструменты → Анализ robots.txt. Вставляете URL, получаете вердикт по конкретному правилу.

Типовые сюрпризы:

  • Disallow: /*? закрывает все URL с параметрами — вместе с нужными;
  • правило для User-agent: * перебивается более специфичным блоком User-agent: Yandex, где забыли продублировать Allow;
  • Disallow: / уехал со стенда в прод при деплое;
  • закрыт каталог со стилями и скриптами — страница индексируется, но робот видит её сломанной.

Отдельно: запрет в robots.txt не гарантирует отсутствия в индексе. Яндекс может показать URL без содержимого, если на него много внешних ссылок. Чтобы гарантированно убрать — noindex, а не Disallow.

3. Мета-тег noindex или заголовок X-Robots-Tag

Признак: статус исключения указывает на запрет в мета-теге.

Как проверить — обязательно на сервере, а не в браузере:

curl -sI https://example.com/page/ | grep -i x-robots-tag
curl -s https://example.com/page/ | grep -i 'name="robots"'

Смотреть надо оба места. X-Robots-Tag в HTTP-заголовке — любимая забытая настройка: его ставят на уровне сервера, он не виден в исходном коде страницы, и о нём никто не помнит.

Типовые причины: шаблон со стенда, плагин SEO с галочкой «закрыть от индексации», настройка CMS «сайт в разработке», правило в конфиге nginx на весь каталог.

4. Canonical указывает на другую страницу

Признак: статус «неканоническая» — страница исключена в пользу другой.

Как проверить:

curl -s https://example.com/page/ | grep -i 'rel="canonical"'

Типовые причины:

  • canonical на главную во всём шаблоне — классическая ошибка настройки, убивает индексацию всего сайта;
  • canonical остался на старый домен после миграции;
  • canonical на «страницу без параметров», а фактическое содержимое разное;
  • на страницах пагинации canonical ведёт на первую страницу — спорная практика, из-за которой контент со второй и далее страниц выпадает.

Что делать: canonical страницы должен указывать на неё саму, если она самостоятельная. Если она дубль — тогда всё правильно, и вопрос закрыт: страница и не должна быть в поиске.

5. Дубль другой страницы

Признак: статус «дубль» — Яндекс склеил страницу с другой и выбрал не её.

Типовые источники дублей:

  • один и тот же товар в двух категориях с разными URL;
  • версии со слэшем и без, с www и без, http и https;
  • URL с UTM-метками и параметрами сортировки;
  • страницы фильтров, отличающиеся порядком параметров;
  • печатные версии страниц.

Что делать: выбрать основной URL и свести к нему остальные — canonical’ом или 301-редиректом. Плюс убедиться, что внутренние ссылки ведут именно на основной вариант: если сайт сам ссылается на два адреса одной страницы, склейка неизбежна.

6. Ошибка HTTP при обходе

Признак: статус про ошибку загрузки. В истории обхода видны не-200 ответы.

Как проверить: Вебмастер → Индексирование → Статистика обхода, либо через API — /indexing/samples/.

На что смотреть:

  • 5xx — сервер не отвечал. Разово — не страшно, систематически — робот снижает частоту обхода всего сайта. Частая причина: робот приходит во время деплоя или упирается в лимиты хостинга;
  • 404/410 — страница отдаёт «не найдено». Бывает, что для браузера отдаёт нормально, а для робота — нет: другое поведение при отсутствии cookies или при другом user-agent;
  • редирект — страница переехала, индексироваться будет цель редиректа;
  • таймаут — страница генерируется слишком долго.

Проверка глазами робота:

curl -sI -A "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" \
  https://example.com/page/

Если ответ отличается от того, что видит браузер, — вы нашли проблему.

7. Содержимое подгружается скриптом

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

Как проверить:

curl -s https://example.com/page/ | wc -c
curl -s https://example.com/page/ | grep -o 'ключевая фраза со страницы'

Если в исходном HTML текста нет, а в браузере он есть — содержимое рисует JavaScript.

Что делать: Яндекс умеет исполнять JS, но делает это не всегда, позже и не для всех страниц. Надёжный вариант — серверный рендеринг или пререндер основного содержимого. Оставлять на клиенте только то, без чего смысл страницы не теряется.

8. Недостаточно качественная страница

Признак: статус про недостаточное качество. Самая расплывчатая и самая частая формулировка после дублей.

За что обычно:

  • мало собственного содержания — карточка товара с двумя строками описания, страница тега с одним элементом;
  • содержание повторяет то, что уже есть на сотнях сайтов, — переписанное описание производителя;
  • служебные страницы, которые вообще не предназначены для поиска: корзина, результаты внутреннего поиска, пустые фильтры;
  • сгенерированные массивом страницы вида «услуга + город» без реальных различий между ними.

Что делать — три честных варианта, и «отправить на переобход» среди них нет:

  1. Довести страницу до состояния, когда на ней есть что-то своё;
  2. Закрыть от индексации, если она и не должна быть в поиске;
  3. Удалить и склеить с более сильной страницей.

Если таких страниц на сайте большинство — это уже не про отдельные страницы, а про риск АГС, и решать надо на уровне структуры сайта.

9. Страница новая, и просто ещё рано

Признак: ни одного из предыдущих признаков нет, страница обойдена, ошибок нет, а в поиске её нет.

Нормальный срок от обхода до появления в поиске — от нескольких дней до пары недель. Для нового сайта без истории — до месяца и дольше. Апдейты поисковой базы происходят не ежеминутно.

Что делать: ждать. Проверить, что страница есть в sitemap и на неё стоят внутренние ссылки, отправить один переобход и не дёргать. Повторные отправки одного URL не ускоряют процесс, а квоту расходуют.

Порядок проверки: сверху вниз, 10 минут

  1. Статус в Вебмастере — «Проверить статус URL». Часто на этом всё и заканчивается.
  2. curl -sI — код ответа и X-Robots-Tag.
  3. curl -s | grep — мета-robots и canonical в исходном HTML.
  4. Анализ robots.txt в Вебмастере для этого URL.
  5. Есть ли внутренние ссылки на страницу и есть ли она в sitemap.
  6. Есть ли на странице собственное содержание — честно, без самообмана.
  7. Только теперь — переобход, если пункты 1–6 чисты.

Первые шесть шагов — это буквально несколько команд и два экрана в Вебмастере. Они закрывают восемь причин из девяти.

Что автоматизировать

Если страниц много, руками это не разобрать. Минимальный набор, который стоит гонять по расписанию:

  • сверка списка URL из sitemap со списком страниц в поиске (/search-urls/in-search/) — разница и есть список проблемных;
  • проверка X-Robots-Tag и canonical на выборке страниц каждого шаблона;
  • мониторинг доли не-200 в истории обхода.

Всё три собираются на API Вебмастера за вечер и дальше работают сами.

Итог

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

Переобход — это «приди посмотри ещё раз». Если причина, по которой страницу не взяли, никуда не делась, робот придёт, посмотрит и снова не возьмёт. Сначала диагноз, потом переобход — не наоборот.