Содержание
- Почему страницы не попадают в индекс
- robots.txt: частые ошибки
- noindex и другие meta‑теги
- canonical: когда он ломает индексацию
- HTTP‑коды: что реально важно
- sitemap: как не сделать хуже
- Что смотреть в консоли разработчика
- Автопроверка: что можно ловить тестами
- Итоговый чек‑лист
- Заключение
Почему страницы не попадают в индекс
Когда страница не в индексе, чаще всего виноват не «алгоритм», а конкретная техническая ошибка. Как разработчик, я не гадаю — я проверяю по чек‑листу: robots.txt, meta, canonical, HTTP‑коды, sitemap. Ниже — самые частые причины, из‑за которых страницы просто не видят роботы.
Важно: Яндекс индексирует по mobile‑first. Проверять нужно мобильную версию. Если на десктопе всё ок, а на мобильном — 404 или noindex, страница не попадёт в индекс.
robots.txt: частые ошибки
Самая простая причина «невидимости» — robots.txt закрывает страницы. Частые ошибки:
- Закрыт весь сайт.
Disallow: / — и ни одна страница не будет проиндексирована. Такое бывает при переносе или тестировании.
- Закрыты важные разделы. Например,
Disallow: /catalog/ или Disallow: /blog/. Если это не планировалось — ошибка.
- Некорректные wildcard и пути. Разные трактовки
/page* и /page/. Лучше проверять в инструменте проверки robots.txt в Яндекс.Вебмастере.
Как быстро проверить: откройте site.ru/robots.txt, найдите правила для URL страницы. Если есть Disallow — страница не будет индексироваться.
Meta robots noindex — это прямой запрет на индексацию. Частые случаи:
- Тестовые страницы случайно остаются с
<meta name="robots" content="noindex">.
- Динамические страницы (фильтры, пагинация) получают noindex автоматически.
- Страницы, которые должны быть закрыты, но по ошибке открыты — или наоборот.
Проверка: откройте страницу, посмотрите исходный код (Ctrl+U) или в DevTools → Elements. Ищите строку с name="robots". Если там content="noindex" — страница не попадёт в индекс. Даже если она есть в sitemap.
canonical: когда он ломает индексацию
Canonical — это сигнал: «эта страница — копия, индексируйте вот эту». Если canonical настроен неправильно, страница может вообще не попасть в индекс.
Частые ошибки:
- Canonical ведёт на несуществующую страницу. Робот не может подтвердить дубликат и может не индексировать ни оригинал, ни «копию».
- Циклические canonical. A → B, B → A. Это ломает логику дублей.
- Canonical на страницу с noindex. Получается: «это дубль страницы, которую нельзя индексировать». В итоге обе страницы могут выпасть из индекса.
- Разные canonical на десктопе и мобильном. Яндекс ориентируется на мобильную версию — расхождения ломают сигнал.
Проверка: в исходном коде ищите <link rel="canonical" href="...">. Убедитесь, что URL существует, не закрыт noindex и совпадает на всех версиях страницы.
HTTP‑коды: что реально важно
Для индексации критичны именно эти коды:
| Код | Что значит | Влияние на индексацию |
| 200 |
Страница доступна |
Ок для индексации |
| 301 |
Постоянное перенаправление |
Вес передаётся, индексируется целевая страница |
| 302 |
Временное перенаправление |
Не передаёт вес, может не индексироваться |
| 404 |
Страница не найдена |
Не индексируется |
| 410 |
Удалена намеренно |
Исключается из индекса |
| 5xx |
Ошибка сервера |
Робот не может получить контент — индексации нет |
Частая проблема: динамические страницы отдают 404/500 из‑за ошибок маршрутизации или параметров. Проверить можно через Яндекс.Вебмастер («Индексирование» → «Статус страницы») или curl/Postman.
sitemap: как не сделать хуже
Sitemap — это подсказка роботу, какие страницы индексировать. Но если в нём мусор — это мешает.
Ошибки:
- В sitemap страницы с noindex/404. Это не помогает, а иногда даже вредит.
- Дубли в sitemap. Несколько URL на один контент.
- Sitemap не обновляется. Новые страницы не попадают, старые не удаляются.
- Ошибки формата XML. Незакрытые теги, неверные даты, неправильные приоритеты.
Правило простое: в sitemap только страницы, которые реально должны быть в индексе и отдают 200. Если страница закрыта — её не должно быть в sitemap.
Что смотреть в консоли разработчика
Как разработчик, я первым делом открываю DevTools и проверяю:
- Network → XHR/Fetch. Если страница рендерится динамически, убедитесь, что контент есть в ответе сервера. Если весь контент подгружается JS — робот может его не увидеть.
- Response Headers. Проверьте, нет ли
X‑Robots‑Tag: noindex. Это аналог meta robots, но на уровне сервера.
- DOM после рендера. Убедитесь, что title, description и основной контент есть в DOM. Если их нет — робот не увидит.
- Console. Ошибки JS могут ломать рендер страницы. Если страница не рендерится — она не индексируется.
Автопроверка: что можно ловить тестами
Если ты пишешь автотесты (Playwright/Cypress), добавь проверки, которые напрямую влияют на индексацию:
- HTTP‑код страницы. Должен быть 200 (или 301, если это редирект).
- Отсутствие noindex в meta и X‑Robots‑Tag. Проверяй оба места.
- Canonical должен быть корректным. URL должен существовать и не быть noindex.
- Title и H1 должны быть заполнены. Пустые title — сигнал низкого качества.
- Страница должна быть доступна на мобильной ширине. Часто на узких экранах ломается JS и контент не рендерится.
Пример простого Playwright‑теста (псевдокод):
js test('страница должна быть индексируемой', async ({ page }) => {
await page.goto('/catalog/item-123');
const httpCode = await page.evaluate(() => fetch(location.href).then(r => r.status));
expect(httpCode).toBe(200);
const metaRobots = await page.$eval('meta[name="robots"]', el => el.getAttribute('content'));
expect(metaRobots).not.toBe('noindex'); const canonical = await page.$eval('link[rel="canonical"]', el => el.getAttribute('href'));
expect(canonical).toContain('site.ru'); });
Такие проверки ловят проблемы до релиза и защищают от массового выпадения страниц из индекса.
Итоговый чек‑лист
Перед публикацией страницы или релизом проверь:
- [ ] Страница отдаёт HTTP 200.
- [ ] В robots.txt страница не закрыта.
- [ ] Нет meta robots noindex и X‑Robots‑Tag noindex.
- [ ] Canonical корректен и ведёт на существующую страницу без noindex.
- [ ] Title и H1 заполнены и релевантны.
- [ ] Контент доступен в DOM (не только через JS).
- [ ] Мобильная версия рендерит контент и не имеет критических JS‑ошибок.
- [ ] Страница добавлена в sitemap (если должна индексироваться).
После публикации отправь URL на переобход в Яндекс.Вебмастер и проверь статус страницы.
Заключение
Индексация — это не магия, а набор технических правил. Если страницы не попадают в поиск, почти всегда есть конкретная причина: robots.txt, noindex, плохой canonical, 404/5xx, мусор в sitemap. Как разработчик и тестировщик, ты можешь не только находить эти ошибки, но и автоматизировать их проверку. Это экономит время и защищает от просадок трафика.
Хочешь, помогу собрать минимальный набор автотестов под твой стек (React/Vue/Next/Nuxt) — чтобы ловить такие ошибки до релиза?
Нужна проверка индексации
Пришли список URL — подскажу, что именно мешает индексации и какие тесты добавить в CI/CD.
Получить разбор
Нужна помощь в продвижении вашей организации?
Пишите мне в Телеграмм или MAX
и мы обсудим все детали.
Последние статьи:
-
Полное руководство по скорости сайта и Core Web Vitals: что такое LCP, CLS, INP, как измерять, как ускорить. Чек-листы, кейсы, инструменты. От практика с 10+ годами опыта.
Читать полностью
-
Практическое руководство по региональному SEO: как продвигать сайт в небольшом городе. Семантика, локальная выдача, Яндекс Бизнес, отзывы, кейсы. От практика с 10+ годами опыта в Москве.
Читать полностью
-
Практическое руководство по SEO для B2B-сайтов: семантика, контент, техническая база, лидогенерация. Разбор отличий B2B от B2C, кейсы, чек-листы. От практика с 10+ годами опыта.
Читать полностью