Запретить или Noindex на поддомене с роботами.формат txt

у меня есть dev.example.com и www.example.com размещено на разных поддоменах. Я хочу, чтобы crawlers сбросили все записи dev поддомен, но держите их на www. Я использую git для хранения кода для обоих, поэтому в идеале я хотел бы, чтобы оба сайта использовали одних и тех же роботов.txt-файл.

можно ли использовать одного робота.txt-файл и исключить искатели из dev никнейм?

4 ответов


извините, это, скорее всего, невозможно. Общее правило состоит в том, что каждый поддомен обрабатывается отдельно и, следовательно, оба нуждаются в роботах.txt-файл.

часто поддомены реализуются с использованием подпапок с переписыванием url-адресов на месте, которое выполняет сопоставление, в котором вы хотите поделиться одним роботом.txt-файл в поддоменах. Вот хорошее обсуждение того, как это сделать:http://www.webmasterworld.com/apache/4253501.htm.

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


вы можете использовать логику перезаписи Apache для обслуживания другого robots.txt в области разработки:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^dev\.qrcodecity\.com$
    RewriteRule ^robots\.txt$ robots-dev.txt
</IfModule>

а затем создайте отдельный robots-dev.txt:

User-agent: *
Disallow: /

имейте в виду, что если вы заблокируете Google от индексации страниц под поддоменом, они не будут (обычно) сразу выпадать из индекса Google. Это просто останавливает Google от повторной индексации этих страниц.

Если поддомен dev еще не запущен, убедитесь, что у него есть собственные роботы.txt запрещает все.

однако, если поддомен dev уже имеет проиндексированные страницы, то вам нужно сначала использовать мета-теги роботов noindex (что требует от Google обхода страницы изначально для чтения этого запроса), затем настройте роботов.txt-файл для поддомена dev после того, как страницы выпали из индекса Google (настройте учетную запись Google Webmaster Tools - это помогает решить эту проблему).


Я хочу, чтобы Google удалил все записи поддомена dev, но сохранил www.

если сайт dev уже был проиндексирован, верните ошибка 404 или 410 для искателей для удаления содержимого.

возможно ли иметь одного робота.txt-файл, который исключает поддомен?

если ваш код полностью статичен, что вы ищете нестандартное host директива:

User-agent: *
Host: www.example.com

но если вы можете поддерживать язык шаблонов, можно сохранить все в одном файле:

User-agent: *
# if ENVIRONMENT variable is false robots will be disallowed.
{{ if eq (getenv "ENVIRONMENT") "production" }}
  Disallow: admin/
  Disallow:
{{ else }}
  Disallow: /
{{ end }}