robots.txt и отключение URL-адреса абсолютного пути
Я использую трубы Heroku. Поэтому, когда я нажимаю свое приложение, оно перемещается в промежуточное приложение.
https://appname.herokuapp.com/
и если все правильно, я продвигаю это приложение для производства. Нового процесса сборки нет. Это то же самое приложение, которое было создано впервые для постановки.
https://appname.com/
Дело в том, что это вызывает проблему с дублированным контентом. Сайты являются клонами друг друга. Точно так же. Я бы хотел исключить промежуточное приложение из системы индексации и поиска Google.
Один способ, который я обдумал, был с файлом robots.txt.
Чтобы это работало, я должен написать это так
User-agent: *
Disallow: https://appname.herokuapp.com/
используя абсолютный путь, потому что этот файл будет находиться на сервере в промежуточном и производственном приложениях, и я только хочу удалить промежуточное приложение из индексации Google и не трогать производственное.
Это правильный способ сделать это?
2 ответа
Нет, Disallow
поле не может принимать полные ссылки URL. Ваш robots.txt будет блокировать URL-адреса, подобные этим:
https://example.com/https://appname.herokuapp.com/
https://example.com/https://appname.herokuapp.com/foo
Disallow
Значение всегда представляет начало пути URL.
Чтобы заблокировать все URL в https://appname.herokuapp.com/
Вам понадобится:
Disallow: /
Таким образом, вы должны использовать разные файлы robots.txt для https://appname.herokuapp.com/
а также https://appname.com/
,
Если вы не против, боты ползают https://appname.herokuapp.com/
Вы могли бы использовать noindex
вместо. Но это также потребует различного поведения для обоих сайтов. Альтернативой, которая не требует другого поведения, может быть использование canonical
, Это сообщает сканерам, какой URL предпочтительнее для индексации.
<!-- on https://appname.herokuapp.com/foobar -->
<link rel="canonical" href="https://appname.com/foobar" />
<!-- on https://appname.com/foobar -->
<link rel="canonical" href="https://appname.com/foobar" />
Нет, использование того, что вы предложили, блокирует доступ всех поисковых систем / ботов https://appname.herokuapp.com/
,
Вместо этого вы должны использовать:
User-agent: Googlebot
Disallow: /
Это будет только блокировать Googlebot
от доступа https://appname.herokuapp.com/
, Имейте в виду, боты могут игнорировать robots.txt
файл, это больше, чем что-либо, пожалуйста. Но Google будет следовать вашему запросу.
РЕДАКТИРОВАТЬ
После просмотра совета unor, невозможно запретить по URL, поэтому я изменил это из своего ответа. Однако вы можете заблокировать по определенным файлам, например /appname/
или вы используете /
чтобы запретить Googlebot доступ к чему-либо.