SEO

Что делать, если dev-поддомен попал в индекс поисковиков

Разбираем нашу историю: как полная копия сайта оказалась в Google и что мы сделали, чтобы закрыть её от индексации.

Поисковый робот индексирует прод и не может пройти на закрытый dev-стенд

Наша история

После примерно 4 месяцев разработки проекта мы позвали SEO-специалиста на аудит. Одним из первых замечаний было: в индексе Google находится технический поддомен dev.example.com, то есть полная копия сайта. Дубль контента мешает основному сайту, а мы об этом не знали.

Проверили: dev отдавал тот же robots.txt, что и прод (Allow: /), без noindex, а защитой служил только canonical на основной домен. Для поисковика это подсказка, а не запрет.

Что мы сделали

  1. Добавили флаг в окружение (BLOCK_INDEXING=true). Код один на прод и dev, переменная стоит только в приложении dev. Если она включена, robots.txt отдаёт Disallow: / без Sitemap, а в метаданных появляется noindex, nofollow. На проде переменной нет, поэтому прод не изменился.
  2. Столкнулись с граблями: dev собирался из отдельной ветки, которая отстала от основной на 48 коммитов. Пока мы не подтянули ветку, флаг на dev просто не работал. Проверяйте, откуда реально собирается стенд.
  3. Проверили curl-ом: на проде robots.txt открыт (Allow: /, закрыты только служебные пути), на dev Disallow: / и meta noindex.

Что делать, если ваш dev уже в индексе

  1. Убедитесь, что проблема есть: выполните запрос site:dev.example.com в Google и Яндексе и посмотрите, что там находится.
  2. Закройте стенд: noindex (meta или заголовок X-Robots-Tag) и/или Disallow в robots.txt. Не правьте robots в ветке dev, иначе при слиянии он закроет прод. Лучше флаг через переменную окружения.
  3. Помните, что Disallow сам по себе не удаляет страницы из индекса: Google не заходит на страницу и не видит noindex. Либо сначала оставьте обход открытым с noindex и дождитесь, пока страницы выпадут, либо сразу запросите удаление (следующий пункт).
  4. Добавьте dev как отдельный ресурс в Google Search Console и Яндекс Вебмастер и запросите удаление URL (в Search Console: Удаления, весь префикс). Это временное удаление, поэтому закрытие из пункта 2 обязательно.
  5. Уберите dev из sitemap, не ссылайтесь на него с публичных страниц, оставьте canonical на основной домен.
  6. Через несколько недель снова проверьте site: и отчёты индексации.

Главный урок

Закрывайте dev от индексации в первый же день, а не после аудита.