В начале ноября Игорь Бакалов провел интересный эксперимент для проверки, как поисковые системы учитывают meta-robots, а именно инструкции index/noindex, follow/nofollow. Результаты оказались такие, что Google интерпретирует всё, как описано в документации для вебмастеров, а Яндекс не переходит по ссылкам и не индексирует документы, находящиеся в разделах с мета-тегом “noindex,follow”.
Этот результат оказался странным, так как в документации Яндекса имеется явный пример с использованием мета-тега robots “noindex, follow”. Возможно, прошло мало времени, прежде чем делать выводы, либо где-то в эксперименте была допущена ошибка, а может быть Яндекс, действительно, учитывает всё не так, как рекомендует использовать.
В связи с этим было решено повторить эксперимент, при этом уменьшить различные возражения:
— Использовать больше страниц, чтобы сделать выборку репрезентативней.
— Дождаться более полной индексации страниц экспериментального сайта. Поставить дополнительные ссылки для ускорения индексации, при необходимости.
— Проверить маршрут поисковых ботов по серверным логам access_log.
Гипотеза эксперимента:
Google и Яндекс следуют по ссылкам в документе с мета-тегом robots content=“index,follow” или content=“noindex,follow”, в независимости, разрешена ли индексация этого документа тегом или нет. И не следуют по ссылкам, если имеется инструкция “nofollow”.
Проведение эксперимента
Для проведения эксперимента 28 ноября был создан поддомен exp.devaka.ru, на главной странице размещены ссылки на 4 основных раздела. Структура разделов имеет следующий вид:
В разделы, имеющие бОльшую неопределенность в индексации, было добавлено больше тестовых страниц. Всего сайт содержал 14 (и 2 дополнительные) уникальные страницы. Для поддомена настроено журналирование запросов.
Сайт был добавлен в адурилки Гугла и Яндекса. Через несколько дней Google проиндексировал основные страницы, в Яндексе появилась главная и страница page5.html. Картина не менялась до 6 декабря, после этого было решено поставить сквозняк с блога devaka.ru для ускорения индексации. Только сегодня, 18 декабря основная часть страниц проиндексировалась Яндексом и можно делать выводы.
Результаты
Google, как и ожидалось, проиндексировал страницы “/index/nofollow/”, “/index/follow/”, а также все из раздела follow (3, 4, 5 и 9). Страницы из разделов nofollow не попали за это время в индекс.
Если посмотреть логи и отобрать из них лишь запросы гугла к разделу nofollow, то мы увидим, что он чётко следует правилам мета-тега robots:
66.249.78.213 - - [08/Nov/2014:01:32:48 +0300] "GET /noindex/nofollow/ HTTP/1.0" 200 1910 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.78.227 - - [08/Nov/2014:01:34:32 +0300] "GET /index/nofollow/ HTTP/1.0" 200 2280 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.78.227 - - [08/Nov/2014:11:13:05 +0300] "GET /index/nofollow/ HTTP/1.0" 200 2280 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.78.220 - - [08/Nov/2014:11:30:32 +0300] "GET /noindex/nofollow/ HTTP/1.0" 200 1910 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
По сути, Google сразу же в первый день пробежался по всем разрешенным страницам.
66.249.78.213 - - [08/Nov/2014:00:48:39 +0300] "GET / HTTP/1.0" 200 1738 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.78.213 - - [08/Nov/2014:01:32:48 +0300] "GET /noindex/nofollow/ HTTP/1.0" 200 1910 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.64.169 - - [08/Nov/2014:01:33:52 +0300] "GET /index/follow/ HTTP/1.0" 200 1781 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.78.227 - - [08/Nov/2014:01:34:32 +0300] "GET /index/nofollow/ HTTP/1.0" 200 2280 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.78.220 - - [08/Nov/2014:01:35:12 +0300] "GET /noindex/follow/ HTTP/1.0" 200 2122 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.78.220 - - [08/Nov/2014:01:35:35 +0300] "GET /index/follow/page9.html HTTP/1.0" 200 1703 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.78.227 - - [08/Nov/2014:01:40:34 +0300] "GET /noindex/follow/page3.html HTTP/1.0" 200 2024 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.78.220 - - [08/Nov/2014:01:40:35 +0300] "GET /noindex/follow/page5.html HTTP/1.0" 200 2005 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.78.220 - - [08/Nov/2014:01:40:35 +0300] "GET /noindex/follow/page4.html HTTP/1.0" 200 1875 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.78.213 - - [08/Nov/2014:10:31:06 +0300] "GET /index/follow/ HTTP/1.0" 200 1781 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.78.227 - - [08/Nov/2014:11:13:05 +0300] "GET /index/nofollow/ HTTP/1.0" 200 2280 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.78.227 - - [08/Nov/2014:11:16:07 +0300] "GET /noindex/follow/ HTTP/1.0" 200 2122 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.78.220 - - [08/Nov/2014:11:30:32 +0300] "GET /noindex/nofollow/ HTTP/1.0" 200 1910 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
В индекс Яндекса попали страницы 1, 2, 3, 4 и 5 из разделов noindex-follow и noindex-nofollow. При этом, не попали страницы из раздела index (скорей всего просто не успели проиндексироваться, как минимум документ в index-follow в эксперименте Игоря индексировался).
Если посмотреть серверные логи, то в них видно, что в первый день Яндекс просканировал основные разделы, находящиеся в на 2м уровне вложенности. Но на следующий день он просканировал почти все документы в этих разделах, игнорируя лишь страницы 6, 7 и 8 (из раздела “index, nofollow”).
178.154.243.107 - - [08/Nov/2014:00:48:55 +0300] "GET / HTTP/1.0" 200 1738 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [08/Nov/2014:00:56:57 +0300] "GET / HTTP/1.0" 200 1738 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [08/Nov/2014:01:57:12 +0300] "GET / HTTP/1.0" 200 1738 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [08/Nov/2014:04:58:01 +0300] "GET / HTTP/1.0" 200 1738 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [08/Nov/2014:13:00:18 +0300] "GET / HTTP/1.0" 200 1738 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [08/Nov/2014:23:13:26 +0300] "GET /noindex/follow/ HTTP/1.0" 200 2122 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [08/Nov/2014:23:15:08 +0300] "GET /index/follow/ HTTP/1.0" 200 1781 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [08/Nov/2014:23:20:26 +0300] "GET /noindex/nofollow/ HTTP/1.0" 200 1910 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [08/Nov/2014:23:24:55 +0300] "GET /index/nofollow/ HTTP/1.0" 200 2280 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [09/Nov/2014:00:59:40 +0300] "GET / HTTP/1.0" 200 1738 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [09/Nov/2014:10:43:41 +0300] "GET /noindex/follow/page5.html HTTP/1.0" 200 2005 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [09/Nov/2014:10:46:09 +0300] "GET /index/follow/page9.html HTTP/1.0" 200 1703 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [09/Nov/2014:10:51:35 +0300] "GET /noindex/nofollow/page2.html HTTP/1.0" 200 1767 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [09/Nov/2014:10:51:38 +0300] "GET /noindex/follow/page4.html HTTP/1.0" 200 1875 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [09/Nov/2014:10:51:58 +0300] "GET /noindex/follow/page3.html HTTP/1.0" 200 2024 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [09/Nov/2014:10:57:00 +0300] "GET /noindex/nofollow/page1.html HTTP/1.0" 200 1687 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [10/Nov/2014:00:57:39 +0300] "GET / HTTP/1.0" 200 1738 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
95.108.158.145 - - [10/Nov/2014:14:06:25 +0300] "GET / HTTP/1.0" 200 1738 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [10/Nov/2014:17:10:40 +0300] "GET /noindex/follow/page5.html HTTP/1.0" 200 2005 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
После простановки сквозняка ситуация повторилась, Яндекс просканировал все страницы, за исключением 6, 7 и 8. То же самое повторилось и 10-го декабря.
5.255.253.152 - - [08/Dec/2014:02:47:24 +0300] "GET /noindex/nofollow/ HTTP/1.0" 200 1910 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [08/Dec/2014:02:47:26 +0300] "GET /index/follow/ HTTP/1.0" 200 1781 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [08/Dec/2014:02:47:28 +0300] "GET /index/nofollow/ HTTP/1.0" 200 2280 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [08/Dec/2014:02:47:33 +0300] "GET /noindex/follow/ HTTP/1.0" 200 2122 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [08/Dec/2014:02:47:35 +0300] "GET /index/follow/page9.html HTTP/1.0" 200 1703 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [08/Dec/2014:02:47:43 +0300] "GET /noindex/follow/page3.html HTTP/1.0" 200 2024 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [08/Dec/2014:02:47:45 +0300] "GET /noindex/follow/page4.html HTTP/1.0" 200 1875 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [08/Dec/2014:02:48:20 +0300] "GET /noindex/nofollow/page2.html HTTP/1.0" 200 1767 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [08/Dec/2014:02:48:22 +0300] "GET /noindex/nofollow/page1.html HTTP/1.0" 200 1687 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [08/Dec/2014:07:29:32 +0300] "GET /noindex/follow/page5.html HTTP/1.0" 200 2005 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.253.152 - - [08/Dec/2014:11:55:42 +0300] "GET / HTTP/1.0" 304 - "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
Таким образом, можно сделать вывод, что Яндекс воспринимает инструкции в meta-robots следующим образом:
noindex, follow (стр 3-5) — эта страница куда-то ссылается, отлично, посмотрю куда
noindex, nofollow (стр 1-2) — не важно, что здесь nofollow, я должен посмотреть, куда ссылается эта страница.
index, nofollow (стр 6-8) — хм… мне разрешили индексировать документ, но здесь стоит nofollow, не буду палиться и идти дальше по ссылкам.
index, follow (стр 9) — ну это стандартная ситуация, всё разрешено.
Начальная гипотеза подтвердилась не полностью. Если Google воспринимает правила корректно, то в Яндексе остается вопрос с разделом “noindex,nofollow”, в котором иногда закрывают линкопомойки. Что касается “noindex,follow”, то в отличие от эксперимента Игоря, здесь Яндекс все интерпретировал корректно и проиндексировал документы.