Вопрос казалось-бы очень простой. Есть специальный мета тег <meta name="Robots" content="...">, который должен быть размещен в шапке документа (между тегами <head>). Он указывает роботам поисковых систем как нужно индексировать сайт.
Значения поля content могут быть такими:

  • NOINDEX - запрещает индексирование документа;
  • NOFOLLOW - запрещает проход по ссылкам, имеющимся в документе;
  • INDEX - разрешает индексирование документа;
  • FOLLOW - разрешает проход по ссылкам.
  • ALL - равносильно INDEX, FOLLOW
  • NONE - равносильно NOINDEX, NOFOLLOW

Теперь ситуация из моей личной практики: пока сайт был на тестовом субдомене в шаблон был добавлен такой вариант тега: <meta name="robots" content="noindex,nofollow">
После переноса на реальный домен этот тег не убрали. В результате поисковые системы сайт не индексируют. Заказчик сайта сильно огорчен.
Вывод такой: или вообще не добавлять такие теги даже на тестовый сервер или удалять их, а лучше это делать автоматически, чтобы не забыть.
Необходимо проверять имя домена и если оно не равно тестовому - не выводить потенциально опасный тег.
Один раз написал такой код, проверил, что тег пропадает если имя домена не равно тестовому и спокойно живешь, и все довольны твоей работой.
Например, на PHP, это будет выглядеть так:

if(getenv('HTTP_HOST') != 'test.domain.kiev.ua') {
// выводить тег запрета индексации
// только на тестовом сервере test.domain.kiev.ua
	echo ' <meta name="Robots" content="noindex,nofollow">'."n";
} else {
// в остальных случаях индексировать все
	echo ' <meta name="Robots" content="all">'."n";
}