
Наша история
После примерно 4 месяцев разработки проекта мы позвали SEO-специалиста на аудит. Одним из первых замечаний было: в индексе Google находится технический поддомен dev.example.com, то есть полная копия сайта. Дубль контента мешает основному сайту, а мы об этом не знали.
Проверили: dev отдавал тот же robots.txt, что и прод (Allow: /), без noindex, а защитой служил только canonical на основной домен. Для поисковика это подсказка, а не запрет.
Что мы сделали
- Добавили флаг в окружение (BLOCK_INDEXING=true). Код один на прод и dev, переменная стоит только в приложении dev. Если она включена, robots.txt отдаёт Disallow: / без Sitemap, а в метаданных появляется noindex, nofollow. На проде переменной нет, поэтому прод не изменился.
- Столкнулись с граблями: dev собирался из отдельной ветки, которая отстала от основной на 48 коммитов. Пока мы не подтянули ветку, флаг на dev просто не работал. Проверяйте, откуда реально собирается стенд.
- Проверили curl-ом: на проде robots.txt открыт (Allow: /, закрыты только служебные пути), на dev Disallow: / и meta noindex.
Что делать, если ваш dev уже в индексе
- Убедитесь, что проблема есть: выполните запрос site:dev.example.com в Google и Яндексе и посмотрите, что там находится.
- Закройте стенд: noindex (meta или заголовок X-Robots-Tag) и/или Disallow в robots.txt. Не правьте robots в ветке dev, иначе при слиянии он закроет прод. Лучше флаг через переменную окружения.
- Помните, что Disallow сам по себе не удаляет страницы из индекса: Google не заходит на страницу и не видит noindex. Либо сначала оставьте обход открытым с noindex и дождитесь, пока страницы выпадут, либо сразу запросите удаление (следующий пункт).
- Добавьте dev как отдельный ресурс в Google Search Console и Яндекс Вебмастер и запросите удаление URL (в Search Console: Удаления, весь префикс). Это временное удаление, поэтому закрытие из пункта 2 обязательно.
- Уберите dev из sitemap, не ссылайтесь на него с публичных страниц, оставьте canonical на основной домен.
- Через несколько недель снова проверьте site: и отчёты индексации.
Главный урок
Закрывайте dev от индексации в первый же день, а не после аудита.