Предлагаемое расширение стандарта robots.txt

AiK
На сайте с 27.10.2000
Offline
257
AiK
#11
AiK, Вы что-то не понимаете.

Host: www.mysite.spb.ru
запрещает всех, кроме www.mysite.spb.ru.

Да? Точно тогда всё криво :) А именно это напишет неискушенный "ваятель html", желая сделать mysite.spb.ru основным зеркалом. А зачем на зеркале закрывать отдельные разделы - я не понимаю.

Что-то я не заметил

http://www.google.com/webmasters/3.html#B10

I don't want Google to index non-HTML file types on my site.

To disallow a specific file type,simply modify the Disallow command in your robots.txt file. This works for all of the types of files Googlebot crawls,including HTML, GIFs and .docs. For example, to disallow Microsoft Word files with the ".doc" extension, you would add the following lines to your robots.txt file:

User-agent: Googlebot
Disallow: /*.doc$

AiK
На сайте с 27.10.2000
Offline
257
AiK
#12
AiK, Вы что-то не понимаете.

Кстати, знаете почему непонятки происходят? Потому что в протоколе всё запрещается, а деректива host, наоборот разрешает.

M
На сайте с 25.01.2001
Offline
57
#13

funsad,

> Почему же? Все, что уменьшает путаницу, хорошо.

Уверяю, лишний файл только увеличивает путаницу.

> что может быть приятней для саппорта,

На самом деле, только то, что пользователь вообще не будет писать в support! Ну а про robots.txt ведь тоже самое ответить можно.

> Был у меня сайт на бесплатном хостинге, переехал на платный. Вначале Яндекс распознал его как зеркало.

На самом деле, достаточно сделать полный редирект. Т.е. "www.oldhost.ru/foo" -> "www.newhost.ru/foo". Правда, не везде такое получится :(. Можно на самых интересных страницах поставить meta refresh на новый сайт.

Кстати, повторяю на всякий случай (это не секрет ;)), что за meta refresh (в отличие от JSR - java script redirect, и т.п.) санкций не бывает (у нас, по крайней мере). Страница с meta refresh просто считается обычным редиректом, как если бы возвращала 301, 302 или 303.

Тем не менее, еще раз скажу: если пожелания, упомянутые в robots.txt, учитывать при подсчете CY, это будет не более вредно, чем учитывать пожелания, упомянутые в предлагаемом mirrors.txt

AiK,

> А именно это напишет неискушенный "ваятель html",

вы точно прочитали текст на webmaster2.html?

Кстати, я сейчас там специально подправил пример:


User-Agent: *
Disallow: /forum
Disallow: /cgi-bin
Host: www.glavnoye-zerkalo.ru

Ну как? :)

> а деректива host, наоборот разрешает

Как это? Она же тоже запрещает (пишу это уже второй раз:))

Кроме того, есть ведь в стандарте и разрешительная срочка: "disallow: ".

> http://www.google.com/webmasters/3.html#B10

Извиняюсь, не заметил 🙄

В любом случае, в стандартном robots.txt после disallow не могут быть символы * и $. Согласитесь, тем не менее, что их расширение - тоже не идеально. Я бы, к примеру, на их месте просто завел бы новую директиву, к примеру DisallowRegexp, DisallowWildcard и т.д. На роботов, которые это не смогут переварить (как и Host), честно говоря, необходимо плюнуть, т.к. они нарушают стандарт.

Хотя, в прочем, www.myhost.ru/ тоже не может быть нормальным внутренним url'ом. Но это уже было бы совсем другое расширение, т.к. не дает возможность запретить "всех кроме".

AiK
На сайте с 27.10.2000
Offline
257
AiK
#14
Она же тоже запрещает

Ок. Объясняю на пальцах:

Disallow: /forum

переводится на русский как "не индексировать /forum"

Директива Host: www.glavnoye-zerkalo.ru переводится как

"не индексировать не www.glavnoye-zerkalo.ru"

по правилам логики это равносильно

"индексировать www.glavnoye-zerkalo.ru"

Отсюда и путаница. Я понимаю, что так запись компактнее, но читать её сложнее. Поэтому юзабельнее будет писать:

User-Agent:Yandex

Disallow: /

Host: zerkalo1.ru

Host: zerkalo2.ru

в смысле не индексировать zerkalo1 и zerkalo2.

Впрочем саппортом в основном вам заниматься и придётся, так что можете оставить всё как есть :)

M
На сайте с 25.01.2001
Offline
57
#15

> по правилам логики это равносильно ...

AiK, вообще-то двойное отрицание равносильно исходному значению только в двузначной логике :). А в нашем случае ее не наблюдается.

Все-таки, вопрос: прочитав кусок текста на webmaster2.html, можно ли прийти к тому заблуждению, о котором Вы пишете?

> User-Agent:Yandex
> Disallow: /
> Host: zerkalo1.ru
> Host: zerkalo2.ru

Вообще говоря, директива host в изначально предложенном виде является по своей функциональности подмножеством того, что Вы предлагаете, если положить, что в этом случае хосты, не упоминаемые в релевантных секциях robots.txt, также имеют "disallow: /".

Вообще-то, этот вариант у нас тоже обсуждался, но решили его не делать. Он делает robots.txt уже двумерным :). Соответственно, можно ожидать, что и количество ошибок при его составлени возведется в квадрат.

AiK
На сайте с 27.10.2000
Offline
257
AiK
#16
Он делает robots.txt уже двумерным

Ваш вариант - вообще многомерный :)

Я заблуждался выше по тексту почти везде искренне :)

Итак, наличие директивы

User-Agent: Yandex

Host: www.myhost.ru

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

User-Agent: Yandex

Disallow: /

Вроде не наврал? :)

Теперь интересный момент: я по каким-то причинам захотел закрыть

главное зеркало от Яндекса и сделал такую запись:

User-Agent: Yandex

Disallow: /

Host: www.myhost.ru

Т.е. забыл удалить ненужную теперь директиву Host.

Внимание, вопрос: как поведёт себя Яндекс? Мне почему-то кажется, что продолжит как ни в чём не бывало индексировать www.myhost.ru.

А теперь совсем интересно, я уже приводил пример выше:

я "забыл", что директиву host знает только Яндекс и записал по аналогии с webmaster2.html#virtual:

User-Agent: *

Disallow: /

Host: www.myhost.ru

Имея в виду, что я запретил к индексации всё, кроме www.myhost.ru

В итоге, я запретил к индексации всё для всех, и только в Яндексе разрешил www.myhost.ru

Полагаю, это обстоятельство должно быть подробно освещено в руководстве Яндекса, не зависимо от того, заблуждаюсь я в своих выводах в данный момент или нет :)

M
На сайте с 25.01.2001
Offline
57
#17

AiK, еще раз:

User-Agent: Yandex

Disallow: /

Host: www.myhost.ru

равняется:

User-Agent: Yandex

Disallow: /

Disallow: /

(2 раза)

для неосновных зеркал

и

User-Agent: Yandex

Disallow: /

для основного зеркала.

Т.о. все предусмотрено. А вот документацию скорее всего еще придется подправлять. feedback-то уже есть :)

AiK
На сайте с 27.10.2000
Offline
257
AiK
#18
А вот документацию скорее всего еще придется подправлять.

И это правильно :). Полагаю, что для сегодняшней ночи достаточно :)

Sergey Petrenko
На сайте с 23.10.2000
Offline
482
#19

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

Я вот не очень пойму, с какими зеркалами вы так решили бороться. Зеркала Библиотеки Мошкова и Цитфорума точно так не закроются. Зеркала, как правила, не являются отдельным сайтом-копией исходного сервера, они, как правило, представляют собой разделы сайта провайдера. Таким образом, надо поставить директорию в соответствие исходному сайту - иначе весь сайт провайдера будет посчитан за зеркало.

[Удален]
#20

Это уже работает или пока только обсуждается?

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