понедельник, 2 октября 2017 г.

Лайфхак №4. Альтернативный способ определения геозависимости запроса в Яндексе

Немногим более года назад я опубликовал в своём блоге довольно любопытный способ определения геозависимости выдачи Яндекса одним запросом. Вообще традиционный способ определения геозависимости подразумевает минимум два запроса – надо    сравнить выдачи для разных регионов. Там, где они совпадают, делается вывод о геонезависимости. Однако, в последнее время выдача даже в одном и том же регионе по одним и тем же запросам, сделанным в разные моменты времени, может различаться вследствие различных причин, например, примеси «многорукого бандита». Что может привести к неверному выводу о геозависимости геонезависимого запроса. Таким образом, задача определения геозависимости выдачи именно одним запросом достаточно актуальна. 
Способ, предложенный мною год назад, в общем-то пока еще является рабочим (правда, с некоторых пор несколько ограниченно – только для запросов, где есть быстроботовская примесь), однако он использует операторы языка запроса Яндекса, которые больше не содержатся в официальной документации и о прекращении поддержки которых было официально объявлено в январе этого года. Идея этого способа заключалась в том, что геозависимые запросы имеют в сниппетах подсветку жирным шрифтом топонима региона выдачи. Поэтому основная задача заключалась в том, чтобы сформировать выдачу таким образом, чтоб в сниппеты первых 50 результатов выдачи (максимальное количество результатов, которое можно получить одним запросом) входил топоним, чтобы по наличию или отсутствию его подсветки сделать вывод о геозависимости запроса. Тогда это удалось сделать с помощью двойного использования операторов отрицания ~~, а также оператора title: (поиск в заголовке документа) и оператора << (неранжирующее И), но именно этим операторам в числе прочих в последствии было отказано в поддержке. На момент написания статьи прежний способ работает весьма специфически – в выдаче показываются только документы из быстроботовской примеси, однако, по ним вполне можно сделать анализ. Однако нельзя гарантировать наличия быстроботовской примеси для конкретного запроса, да и нет никакой уверенности, что и быстроботовская примесь не исчезнет в любой момент, как исчезла органическая выдача, кстати, еще буквально пару недель назад имевшаяся в наличии по сформированному подобным образом запросу.
Таким образом, возникает потребность в более надежном способе, не использующем неподдерживаемые официально операторы языка запроса. При этом было бы логично, используя прежнюю идею, найти иной способ ее реализации, т.е. обеспечить наличие в топе результатов поиска гарантированного формирования сниппета с топонимом. 
Изучая свойства геозависимости запросов, я обратил внимание на тот факт, что добавление к исходному запросу через документированный оператор | (логическое ИЛИ) какого-либо достаточно редкого термина (т.е. имеющего достаточно большое значение IDF – обратной частоты встречаемости в коллекции документов) никак не влияет изменение геозависимости запроса. Это наблюдение я и решил положить в основу альтернативного решения поставленной задачи формирования нужного сниппета. 
Добавление к исходному запросу нового термина дает нам массу возможностей в этом плане. Достаточно найти релевантный этому термину сайт, содержащий в теге title своих страниц какой-нибудь топоним, и построить выдачу для соответствующего региона, суженную на этот конкретный сайт. Поясню на примере. 
Возьмем в качестве исходных запросов примеры из прошлогодней статьи – доставка пиццы (как пример геозависимого запроса) и вкусный борщ (как пример геонезависимого). Убедимся, что пока еще работающиий старый способ это подтверждает. У первого запроса топоним Москва подсвечивается жирным шрифтом в московской выдаче (lr=213):
А у второго – нет:
В качестве дополнительного термина с большим IDF я взял термин arsenaltula – часть доменного имени официального сайта футбольного клуба «Арсенал» из города Тулы (arsenaltula.ru), т.к. в теге title главной страницы этого сайта содержится топоним Тула. И сформировал суженные на этот сайт (с помощью get-параметра URL страницы выдачи site) выдачи для региона Тула (lr=15) для исходных запросов с добавлением через оператор | (логическое ИЛИ) дополнительного термина. В первом случае ожидаемо получил подсветку жирным шрифтом топонима Тула в сниппете:
А во втором – подсветки топонима ожидаемо не обнаруживается:
Безусловный плюс данного метода – это возможность гарантированного формирования нужного сниппета практически для любого исходного запроса. Чего, кстати, в общем случае не мог гарантировать предыдущий метод. Однако есть и минус – все-таки нам приходится модифицировать исходный запрос, и гарантировать в общем случае, что такая модификация не повлияет на геозависимость исходного запроса, нельзя. Наиболее находящимися в зоне риска мне представляются запросы, содержащие термины с большим IDF. Однако на данный момент мне случаев смены геозависимости запроса вследствие его подобной модификации обнаружить не удалось. Так что пока что я склонен считать данный метод вполне рабочим. И что, самое главное – очень удобным.
В заключении хотелось бы упомянуть об одном глюке поисковой выдачи Яндекса, который необходимо учитывать при применении методики. Оказывается, не для каждого региона осуществляется подсветка топонима в сниппете для геозависимых запросов. Так, к примеру, мне прислали пример, что этого не происходит в регионе Орёл (lr=10):

Share this


0 Comments

Blog Archive

Технологии Blogger.