robots.txt для алиаса - как правильно прописать?

SK
На сайте с 12.06.2006
Offline
9
2561

Два сайта лежат на одном аккаунте у хостера. Сайт www.new.ru прописан через панель управления аккаунтом на сервер как алиас сайта old.ru. Т.е. на фтп у меня нет папки "new.ru" - есть только папка с сайтом www.old.ru.

Фактически сейчас получилось четыре сайта с одинаковым контентом, который берется из папки сайта "old.ru" - www.new.ru, new.ru, www.old.ru и old.ru. В продвижении один сай - www.old.ru

Мне нужно, чтобы сайты new.ru и www.new.ru не индексировались роботами (тогда их не посчитают зеркалами и не будут неправильно склеивать с продвигаемым доменом www.old.ru). Алиас удалить не имею права, редирект, при котором набравшие www.new.ru перебрасывались бы на www.old.ru, тоже делать не разрешили.

В поиске форума порылся, но все что нашел здесь, оказалось выше моего разумения - я, по меткому определению одного из гуру seo, "гумманитарий".

Если найдется сердобольная душа, которая без отсылки на непонятные мне статьи и примеры сможет в ответе написать, как именно (с соблюдением синтаксиса, пробелов и чего там еще надо - я отсюда буду посимвольно копировать подарок :) ) - будет очень замечательно.

Собсно, вопросы:

1. Как прописать в robots.txt запрет на индексацию new.ru и www.new.ru?

2. Надо ли прописывать там же запрет на индексацию для сайта old.ru? Если надо, то как этот запрет соединить с запретом new.ru и www.new.ru?

Заранее благодарен.

dantess
На сайте с 06.11.2004
Offline
133
#1
SmokingKills:

1. Как прописать в robots.txt запрет на индексацию new.ru и www.new.ru?
2. Надо ли прописывать там же запрет на индексацию для сайта old.ru? Если надо, то как этот запрет соединить с запретом new.ru и www.new.ru?

Заранее благодарен.

1.

Создаете файлик new.txt:

User-agent: * 

Disallow: /

Затем, в файлике .htaccess пишем:

RewriteEngine on

RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?new\.ru*$
RewriteRule ^robots.txt$ /new.txt [L]

Таким образом, если запрашивается файла www.new.ru/robots.txt (с www или без - не важно) будет показано содержимое файла new.txt

2. А зачем запрещать индексацию old.ru ?

Да и вообще - не совсем понятно зачем Вам все это - есть ведь директива host...

D
На сайте с 11.08.2006
Offline
30
#2

Как вариант можно сделать их зеркалами, тогда надо прописать в robots.txt сайтов old.ru, www.old.ru и new.ru следующее:


User-agent: *
Host: www.new.ru
SK
На сайте с 12.06.2006
Offline
9
#3

Проблема в том, что физически на хостинге лежит только один сайт - www.old.ru

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

При запросе пользователям любой страницы на алиасах, сервер берет нужную страницу из папки сайта www.old.ru (например, www.old.ru/bug1.htm) и показывает ее содержимое по адресу www.new.ru/bug1.htm. Все это рулится на сервере хостером.

Единственное место, где есть robots.txt, это папка с файдами сайта www.old.ru

То есть мне именно в нем, в этом файле, нужно прописать некие команды роботам, чтобы эти сайты (www.new.ru и new.ru) не индексировались роботами.

Либо в robots.txt надо прописать, что из всех четырех сайтов, там указанных, главный только www.old.ru, а остальные просто его зеркала?

Какой из вариантов правильнее и как его прописать в единственно существующем файле robots.txt?

dantess
На сайте с 06.11.2004
Offline
133
#4
SmokingKills:
Остальные сайты не имеют ни одного файла, так что прописать в их папках robots.txt физически невозможно.

Так привел же Вам решение - как можно сделать в такой ситуации robots.txt разный для разных доменов.

Jackyk
На сайте с 05.10.2005
Offline
342
#5
SmokingKills:
При запросе пользователям любой страницы на алиасах, сервер берет нужную страницу из папки сайта www.old.ru (например, www.old.ru/bug1.htm) и показывает ее содержимое по адресу www.new.ru/bug1.htm. Все это рулится на сервере хостером.

Файл robots.txt в этом смысле ведет себя так же, как файл bug1.htm. То есть при таком раскладе, как сейчас у Вас, при обращении к www.new.ru/robots.txt будет выдаваться в точности тот же файл robots.txt, что и при обращении к www.old.ru/robots.txt - именно тот robots.txt, что физически лежит в корне old.ru. И это нормально. В него надо прописать:

User-agent: *
Disallow:
Host: www.old.ru

Запрещать индексацию не надо. Вышеуказанной директивой Вы говорите поисковику, что считать основным хостом из зеркал. При этом при обращении у www.new.ru/robots.txt поисковик (да и простой юзер) будет это воспринимать именно как www.new.ru/robots.txt, хотя ему будет отдаваться www.old.ru/robots.txt

Если надумаете сделать 301-й редирект, чтобы все запросы кроме www.old.ru перебрасывались на www.old.ru (в том числе и в адресной строке браузера, как на rle.ru), но при этом robots.txt был доступен по адресу без редиректа (типа new.ru/robots.txt, не знаю уж, принципиально ли это, но google.com сделал именно так), так вот, если надумаете, то надо создать (если нету) в корневой директории old.ru файл .htacess.

Туда надо прописать (пишу директивы для каждого хоста в отдельности, это занимает больше места, но Вам будет понятнее):

RewriteEngine on

Options +FollowSymlinks

RewriteBase /

RewriteRule ^robots\.txt - [L]

RewriteCond %{HTTP_HOST} ^old.ru$ [NC]

RewriteRule ^(.*)$ http://www.old.ru/$1 [R=301,L]

RewriteCond %{QUERY_STRING} .+

RewriteRule ^/*$ http://%{HTTP_HOST}/? [R=301]

RewriteCond %{HTTP_HOST} ^new.ru$ [NC]

RewriteRule ^(.*)$ http://www.old.ru/$1 [R=301,L]

RewriteCond %{QUERY_STRING} .+

RewriteRule ^/*$ http://%{HTTP_HOST}/? [R=301]

RewriteCond %{HTTP_HOST} ^www.new.ru$ [NC]

RewriteRule ^(.*)$ http://www.old.ru/$1 [R=301,L]

RewriteCond %{QUERY_STRING} .+

RewriteRule ^/*$ http://%{HTTP_HOST}/? [R=301]

Последние 8 строк повторяете для каждой пары неглавных хостов с www и без, если они у Вас есть или появятся в будущем.

Далее - проверяете, перебрасывает ли и меняется ли строка в браузере. Кроме того, проверяете: любой хост/robots.txt , например - http://new.ru/robots.txt должен во-первых открываться, во-вторых в адресной строке оставаться http://new.ru/robots.txt , а не перебрасываться на http://www.old.ru/robots.txt (еще раз говорю - не знаю, надо ли делать именно так, но гугл сделал так) . Если что-то не так, пробуете поменять строку

RewriteRule ^robots\.txt - [L]

на

RewriteRule ^/robots\.txt - [L] (у меня на двух хостингах работает по-разному).

P.S. Чтобы уж точно не было недопонимания: все это для случая, если основной хост Вы хотите сделать www.old.ru

Если в чем-то не прав, надеюсь, знающие люди поправят.

С уважением, Евгений.
SK
На сайте с 12.06.2006
Offline
9
#6

Jackyk, благодетель, спасибо Вам за доступное пошаговое изложение.

Остальным тоже огромное спасибо - но последний пост я, кажется, понял лучше.

Еще раз моя огроменная благодарность всем. Пошел писать символы в файл :)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий