За более чем год работы наших сайтов, у нас появились следующие пожелания Яндексу, которые могут сделать работу этой поисковой системы более дружелюбной к интернет-сайтам которые она индексирует.
За каждым из этих пожеланий стоит отдельная история, которая аргументирует его важность, кроме того, многие из этих пожеланий довольно просто выполнить.
Используйте достаточно большой Сrawl-delay «по умолчанию»
Однажды у нас упал сайт, как оказалось робот YandexSomething скачивал до 12 страниц в секунду. Да у нас не было сrawl-delay, но это не должно разрешать роботу поисковой системы делать так много запросов в секунду, установка этого параметра по умолчанию хотя бы в 1 секунду позволила бы избежать таких проблем, те кто хотят быстрее могут настроить этот параметр, но сайты не знающие о существовании YandexSomething не должны страдать от этого.
Разделяйте User-agent:YandexSomething и Yandex/1.01.001
Нашей реакцией на DoS атаку робота было запретить его в robots.txt, тем более что поискав мы обнаружили что это какой-то новостной бот. Это было логично, но как оказалось очень глупо. Итак (кстати об этом косвенно указано в
документации) это привело к тому, что нас перестал посещать и Yandex/1.01.001 (Yandex/1.03.003 ходил исправно). Об этом мы узнали через неделю от наших пользователей, в результате сайт был выкинут из Яндекса. Трафик начал падать с задержкой в 5-6 дней и поэтому мы не могли обнаружить данную оплошность. Стоит отметить что служба поддержки признала нелогичность данного поведения и обещали исправиться. Кроме того
gray в твиттере подсказал, что правильнее поставить crawl-delay, что я и сделал.
Учитывайте время отдачи контента, даже если стоит crawl-delay
У нас на сайте помимо главного домена example.net используются поддомены вида компания.example.net, даже установив Сrawl-delay мы не обезопасимся от DoS атаки роботов так как robots.txt и соответственно Сrawl-delay будет разным для всех поддоменов (а их десятки тысяч в нашем случае) и, формально, робот имеет право положить сайт с любым значением задержки заходя на 10 000 сайтов одновременно. Сегодня ночью наш сайт несколько раз перезагрузился именно по этой причине, так как количество запросов в секунду втрое превышало Сrawl-delay. Не знаю как, но Google делает все корректно и мало того что не нагружает сильно сервер, так еще и скачивает страницы равномерно, мне кажется он учитывает время отдачи контента и не запрашивает паралельно много страниц с одного IP адреса, почему бы не попробовать делать это Яндексу?
Скачивайте страницы равномерно
В нашем случае, робот заходит на основной домен крайне неравномерно. Выглядит это так: робот заходит на основной домен, несколько часов очень активно индексирует и потом уходит на 10-30 часов обрабатывать поддомены. Так как на сайт постоянно добавляется информация, у нас есть специальные страницы с последними обновлениями, с которых есть ссылки на новый контент. Понятно что заходя раз в 10-30 часов робот пропускает много чего, и это приводит к жалобам пользователей, что их сайты порой не появляются в индексе Яндекса месяцами. Опять же таки Google за пару месяцев нашел эти страницы и регулярно их скачивает, как результат очень редко проходит больше 3-х дней до индексации. Понятно что месяц для того чтобы Яндекс поиндексировал сайт это не срок, но и с этим думаю можно бороться.
Будьте более лояльными и предсказуемыми по отношению к новым сайтам
Все когда-то начинали, и не на всех были сразу ссылки с топ сайтов, в нашем случае Яндексу потребовалось более 2-х месяцев чтобы начать индексировать основной домен, и это началось только после переписки с службой поддержки, судя по опыту коллег это обычное дело, даже не смотря на уникальный контент и наличие внешних ссылок. Опять таки и здесь Google ведет себя более дружелюбно, он добавлил нас почти сразу, и постепенно равномерно повышал количество страниц и скорость индексации, да мы были не высоко в поиске, но мы там были и все развивалось предсказуемо.
Целью этого списка было не показать что Яндекс плох а кто-то хорош. Яндекс — это лидер поиска в рунете, наверное наиболее технологичный и успешный проект и это многое значит, в том числе и то что многие считают его поиск хорошим, не говоря уже про то, что наличие альтернативы всегда лучше чем ее отсутствие. Просто хочется чтобы Яндекс стал еще лучше, и более ответственно относился к сайтам, существование которых во многом зависит от него. Тем более мне кажется это не очень сложно.
Я думаю у многих читателей есть что дополнить к этому списку. Возможно было бы неплохо, если бы Яндекс реализовал возможность посылать feature request с обсуждением и голосованием, лучше от этого стало бы всем. А пока это можно сделать в коментариях.
Заранее спасибо Яндексу, если что-либо из этого списка будет услышано и реализовано.
комментарии (112)
Поставил Google Analytics и стараюсь, чтобы сайты мои были удобно доступны именно для Гугла (он находит мои сайты в тот же день, когда я их создаю). Яндекс же — по остаточному принципу.
Все мои сайты в разное время (чуть больше 10-ка) индексировались Яндексом сразу и на ура. После этого попадали в ТОПы по солидным запросам, и держались там достаточно долго.
То же самое и с нынешним проектом — удачно проиндексированы все страницы, в выдаче на хороших местах. Все хорошо :)
А вот с Google пока не так все радужно, но есть позитивные сдвиги
Как забавно порой слышать подобные заявления. А какой выбор сделали посетители Вашего сайта?
Но по GA — через поиск 8 из 10 пользователей, приходящих через поисковые системы, приходят через Гугл. 1 — через Яхо или Live, и 1 — через Яндекс etc.
Сайты русскоязычные.
P.S.: никакого SEO, кроме нормального построения ключевых слов и sitemaps, не делаю.
В своей реальной жизни я всегда ищу через Google.
Сейчас на пробу задал фразу из песни, Гугл первой ссылкой выдал сайт группы с текстом песни, второй — текст песни на каком-то сайте текстов песен, третьей — цитату из песни в каком-то бложике, дальше фигню.
Яндекс выдал ссылки на разные сайты совсем не по теме, и только предпоследней ссылкой выдал заданную фразу (в ссылках до этого только отдельные слова), но не в тексте песни, а цитату, хотя и по теме.
некорректная фраза.
Критика обоснована, боты должны корректно забирать информацию с подавляющей части сайтов.
Я лично как-то далек от проблем индексации сайтов, но полезые советы из вашего опыта лишними точно не будут.
Как концепция похожа на правду, но надеюсь, все таки в качестве прикола.
В офисе яндекса наблюдал работу в google аккаунте, причем развитом
В офисе google — работу в яндекс сервисах
В общем приколы еще те. Все совпадения имен и названий случайны, персонажи вымышлены, ни одно животное не пострадало.
Мои сайты-блоги он не индексирует напрочь, видимо из религиозных соображений :)
А вообще, конечно, хотелось бы, чтобы самый успешный и известный российский проект соответствовал своей рекламе. На сколько он от гуглей или яхи отстает — на 5 или 3 года — в общем то неважно. Были бы задачи поставлены и идеи сформулированы
Из пожеланий развития — больше сервисов для умных. Дураков больше, и работать с ними выгоднее, от умных обычно дохода никакого. Но… а впрочем сами придумывайте мотивацию :)
12 запросов в секунду — это совсем не много. Поэтому если сайт падает от яндекса — то яндекс тут не виноват.
Ключевые слова: limit_zone, limit_req_zone
В сторону limit_zone, limit_req_zone уже смотрим спасибо за совет.
так что подобная статистика совсем не аргумент.
Гугл — наше все!
Все сильно вцепились в фразу 12 запросов в секунду. Это ж не факт, что у них сервер падает при 12 запросах в секунду. Помимо яндекса туда еще и пользователи ходят.
1) нагрузочное тестирование собственного сервера
2) нагрузочное тестирование сервера конкурента
По теме этой портянки: а почему тут, а не в саппорт Яндекса? Думаю, они бы вам ответили сразу. Возможно, одним из стандартных ответов, так как ничего особо полезного в тексте нет и наверняка это у них всё в текучке (сейчас ещё и Арзамас 1.1, им вообще не до этого, подозреваю).
Пишите в Яндекс, и будет вам счастье. Даже будут гарантии того, что это прочитали и ответили. Здесь это как-то ни о чём.
if ($http_user_agent ~ Yandex/* ) {
limit_rate 20k;
break;
}
Кстати, а помешает ли это ему создавать одновременно 100 соединений, каждый из которых приводит к соединению с базой, что приводит к смерти пула?
User-agent: Yandex
Disallow: /
только стоит ли
Ажиотаж на деньги — скорее специфика сегодняшнего монетаризма
User-agent: *
Disallow: /
например вот проиндексировання страничка www.saloncardinal.ru/catalogue/countrie-Англия
а это она на выдаче яндексом yandex.ru/yandsearch?p=1&surl=saloncardinal.ru&text=*&clid=46510 (под номером 14)
так вот
в самой ссылке яндекс почему-то кириллицу кодирует в CP1251
а под ссылкой в UTF-8 (зеленым цветом строка)
на сайте тоже используется UTF-8, поэтому если кликать по ссылке яндекса то страничка открывается не корректно
пример
ссылка с яндекса — www.saloncardinal.ru/catalogue/countrie-%C0%ED%E3%EB%E8%FF (CP1251)
на сайте — www.saloncardinal.ru/catalogue/countrie-%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D1%8F (UTF-8)
я не особо силён в таких вещах
и не знаю с какой стороны косяк и как его исправить, факт в том что с гуглом таких проблем нет
… прошу прощения за активные ссылки, текстом не знаю как их тут сделать
Вы пишете URI с кириллицей в Windows-1251? Хочете проблем — их есть у вас. При чем здесь Яндекс?
Гугль обрабатывает ваши некорректные URI так, как вы подразумевали, что их нужно обрабатывать? Вам не приходило в голову, что это просто совпадение?
не может? тогда ещё раз гляньте на то что я написал выше
допустим такой URL ".../countrie-Англия" Яндекс видит при индексации в виде "/countrie-%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D1%8F" — именно так выдаёт этот адрес веб-сервер и если воспользоваться декодером будет ясно что это юникод
так зачем же яндекс перекодирует этот юникод в CP1251?
Ипользуйте xml sitemap, помогает
извините, у меня весьма стандартный хостинг и 100к страниц в индексе того же яндекса, может стоит взять хостинг по проще? а вообще гугло, ой, яндекс карта сайта решает эти проблемы
Разделяйте User-agent:YandexSomething и Yandex/1.01.001
а это зря, они там покурят и разберуться, а вам минус бот, а слить бота, ну не мне вас учить
короче забил, унылое говно, не хочу это читать, топик зла
з.ы. проблемы бывают у всех — важно что вы найдете решение для себя или нет, а проблемы то никуда не уйдут, вы не рес номер один в рунете
1. Яндекс просто отказывался индексировать один из моих блогов три месяца, хотя я каждую неделю добавлял его в форму регистрации новых сайтов. Более того, я установил их код, чтобы Яндекс знал, что это мой сайт. Три месяца — все бесполезно. И только переписка со службой поддержки дала маленький результат — ссылка на главную страницу появилась в Яндексе. В моем блоге сейчас около 500 постов, но Яндексом проиндексировано около 150, и это после 6 месяцев работы. Как минимум, странные алгоритмы работы поисковой системы.
2. Просматривая статистику посещений, вижу, что робот Яндекса создает жуткие напряги моему виртуальному серверу. Не понимаю, что он делает по 3 часа на сайте, если проиндексирована только его треть? Да за это время можно весь сайт от начала и до конца проиндексировать. Я бэкапы по FTP делаю быстрее (то есть переписываю ВСЕ файлы сайта на локальный компьютер).
3. Что это за странные ответы человека-робота Платона, что сайт не соответствует представлениям о том, каким он должен быть, и поэтому выкинут из индекса (не принят в индекс)? То есть, все эти дорвеи, сателлиты, говносайты, мирриады порно-источников, биллионы помоек, посвещенны смо и сео высерам, блоги беззастенчивых копипастеров, плохих рерайтеров, блоги, наполненные твоим бредом яндекс.весна с рекламными ссылками в конце и начале постов, все эти фекалоресурсы соответствуют представлениям Яндекса о том, каким должен быть сайт, а мой блог, который я писал от начала и до конца сам, где 100% текста — уникальный, авторский контент, где цитаты оформлены как цитаты (выделены соответствующим образом ссылкой на источник), где нет ни мата, ни порнухи, ни чернухи — не соответствует, и поэтому ему могут снизить всякие показатели, или вообще исключить из индексации.
Думаю, что если первые два пункта можно с натяжкой послать куда подальше вместе со мной, то под третим подпишется масса вебмастеров (блогеров), оказавшихся в такой же ситуации.
на том же айпишнике или в той же подсети. или просто у любимого дорвейщиками хостера.
а чтобы что-то конкретное сказать о конкретном блоге, не попадавшем в выдачу, нужно уже смотреть именно на него, исходя из опыта работы с яндексом — это проблемы блога.
Ограничивать можно только по IP де-факто… у виртуальных серверов они разные де факто.
У меня сайты на мастерхостовом ВПС, дорвеев рядом даже в подсетке нет.
сайты добавил в Яндекс Вебмастер Тулз.
два месяца не было индексации… потом написал в техсаппорт, через несколько дней проиндексировали.
Сравните с Гуглом — проиндексировали в тот же день, хотя даже кода GA не было ещё на сайтах.
Вот здесь www.webplanet.ru/news/security/2009/06/19/comments/yanddos.html на веб планете писали о проблеме, там в коментах подробно она разжевана.
1. Робот Яндекса выкачал 19238 страниц с 8506 (восьми тысяч пятисот шести) поддоменов uaprom.net и с 6896 (шести тысяч восьмисот девяноста шести) поддоменов ruprom.net, а не с двух хостов, как может показаться из заметок.
2. На каждый хост (из ~ 15000) делалось не более одного обращения в 1,1 или 2 секунды (в зависимости от размера хоста).
Сейчас uaprom.net/robots.txt и ruprom.net/robots.txt установили Crawl-Delay в 0,5, благодаря чему увеличили нагрузку на своих хосты (по умолчанию Crawl-Delay 1,1 или 2 секунды).
3. Все поддомены ruprom.net и uaprom.net лежат на двух IP. Автоматические алгоритмы Яндекса определили ruprom.net и uaprom.net как хостинги (впрочем, сайты позиционируют себя как «надежный хостинг», см. ruprom.net/tour-4 и uaprom.net/tour-4).
Для надежного хостинга, на серверах которого находится много сайтов, мы создавали нагрузку, не превышающую 12 запросов в секунду на IP.
4. User-Agent отдавался «YandexSomething» и это наша вина. Это был не новостной, а один из поисковых роботов, у которого мы забыли изменить дефолтное представление. Ошибку исправили, спасибо, робота поставили в угол.
Резюме: нагрузка создаваемая на IP хостингов ruprom.net и uaprom.net не превышала лимиты, допустимые при обходе большинства хостингов. Мы понимаем, что она может быть избыточной для небольших хостингов и постараемся лучше дифференцировать нагрузку на большие и малые хостинги. Надеемся, что сервера рунета будут встречать перевоспитанного робота благосклонно.
Я описывал ниже суть проблемы из которой было ясно что поддоменов много. Мы действительно пока не всегда готовы к нагрузке 12 запросов в секунду, так как у нас нормальной является нагрузка 2-3 запроса в пике, эту проблему мы постараемся решить с помощью nginx и ограничении количества запросов с одного IP в секунду. Стоит отметить что количество страниц в индексе (сумарно менее 200 000 страниц) не требует индексации со скоростью 12 запросов в секунду, тем более учитвая что есть актуальный sitemap с коректными last-modified датами для всех поддоменов. Google индексирует нас со скоростью 1-2 запроса в секунду сумарно и мы очень довольны качеством и актуальностью его индекса.
В связи с этим, особенно хотелось бы пожелать Вам исполнить последние два пожелания, это был бы качественный шаг.
Надеюсь, что выпадние из индекса из-за блокирования 7 дней YandexSomething временно и скоро разрешится, хотя пока за 5 дней прогрес только в том что скачались sitemap и главная.