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 доступ к чему-либо.

Другие вопросы по тегам