вторник, 11 октября 2016 г.

Региональность в Google. Get-параметр uule.

В своей предыдущей статье «Региональность в Google» я упоминал о весьма актуальной проблеме для регионального поиска Google – возможности получения в своем браузере поисковой выдачи для произвольного региона, а не только для того, к какому автоматически отнесет ваш компьютер сам Google на основании вашего IP-адреса. В качестве одного из решений упоминался инструмент для предварительного просмотра объявлений – Ad Preview Tool. Однако в текущем виде этот инструмент имеет весьма существенные ограничения – результаты показываются в виде скриншота первой страницы выдачи, содержащей только 10 результатов, и поэтому с его помощью заглянуть дальше, чем за топ-10, нельзя.
Между тем результаты работы инструмента Ad Preview Tool не всегда выдавались в виде скриншота. Так, например, на форуме Searchengines.guru в одной из дискуссий за декабрь 2015 года упоминается о том, что можно было получить результат поиска в заданном регионе в виде URL. И приводится пример подобного URL для региона «Красноярск»: 
https://www.google.ru/search?q=%D1%80%D0%B5%D0%BC%D0%BE%D0%BD%D1%82+%D0%BD%D0%BE%D1%83%D1%82%D0%B0&newwindow=1&hl=ru&tci=p:30000,g:1011941&adtest=on&noj=1&igu=1&uule=w+CAIQICIjS3Jhc25veWFyc2ssS3Jhc25veWFyc2sgS3JhaSxSdXNzaWE&nomo=1&nota=1&source=lnms&sa=X&ved=0ahUKEwimqq658LrJAhUFinIKHe5tDOsQ_AUIBygA&biw=1920&bih=961&dpr=1&glp=1&ip=0.0.0.0
И действительно, находясь в другом регионе, для данного URL мы имеем возможность наблюдать внизу страницы выдачи упоминание, что поиск осуществляется именно по региону «Красноярск»:
Осталось понять, какой из многочисленных get-параметров данного URL поисковой выдачи отвечает за указание региона. Несложные манипуляции показывают, что удаление из URL параметра &uule=w+CAIQICIjS3Jhc25veWFyc2ssS3Jhc25veWFyc2sgS3JhaSxSdXNzaWE приводят к тому, что регион выдачи меняется на определяемый Google автоматически (в моем случае это Тула):
Теперь для другого запроса сами построим URL выдачи, содержащий только get-параметры q (текст запроса) и uule с обозначенным выше значением, и убеждаемся, что опять видим выдачу для Красноярска:
Итак, теперь остается понять, каким образом построить нужное значение параметра uule для произвольного региона.
Для этого я хочу вас отослать к замечательной статье https://moz.com/ugc/geolocation-the-ultimate-tip-to-emulate-local-search , где подробно рассказывается о том, каким образом строится значение этого параметра. Для этого нужно:
  1. Определить каноническое название на латинице интересующего региона с помощью инструмента Google Geographical Targeting
В случае Красноярска получаем значение 
Krasnoyarsk,Krasnoyarsk Krai,Russia
 
  1. Определить длину канонического названия в символах. 
В нашем случае это значение будет равно 35.
  1. Определить значение спецсимвола (<secretkey>) с помощью таблицы
В нашем случае это будет символ j.
  1. Перекодировать каноническое название в формат Base64 (<base64encode>). Например, это можно сделать с помощью инструмента на сайте https://www.base64encode.org/.
В нашем случае мы получим строку 
S3Jhc25veWFyc2ssS3Jhc25veWFyc2sgS3JhaSxSdXNzaWE
  1. Скомпоновать значение параметра uule по формуле
w+CAIQICI плюс <secretkey> плюс <base64encode>
Итого имеем: 
w+CAIQICIjS3Jhc25veWFyc2ssS3Jhc25veWFyc2sgS3JhaSxSdXNzaWE
Что полностью совпадает со значением параметра uule из рассмотренного нами ранее примера.
Таким образом по данному алгоритму можно сконструировать значение параметра uule для любого региона, имеющего каноническое название в системе географического таргетинга Google, и добавив этот параметр со сконструированным значением в URL страницы поисковой выдачи Google, получить в своем браузере выдачу для этого региона.
В качестве контрольного примера возьмем любой другой регион, например, «Брянск», и пройдем по шагам алгоритма:
  1. Bryansk,Bryansk Oblast,Russia 
  2. 29
  3. d
  4. QnJ5YW5zayxCcnlhbnNrIE9ibGFzdCxSdXNzaWE
  5. w+CAIQICIdQnJ5YW5zayxCcnlhbnNrIE9ibGFzdCxSdXNzaWE
Подставив полученную строку в качестве значения get-параметра uule, получаем у себя в браузере выдачу для Брянска, что подтверждается пометкой внизу страницы поисковой выдачи:

Share this


6 Comments
avatar

Спасибо, давно искал!

Reply
avatar

Полностью обновил сервис формирования ссылки на региональную гугловыдачу на http://region.xstroy.com
Перешёл на jquery и теперь ссылочки формируются на лету на одной страничке.

(Искренне благодарен Сергею за содержательную информацию в статье, ставшую толчком для появления этого инструмента).

Reply
avatar

Хорошая методика. Одно уточнение - по страницах нужно ходить через параметр "start", иначе регион меняется на дефолтный.

Reply
avatar

Как-то странно получается. А что если у нас несколько регионов с одинаковой длиной. Учитывая количество городов в РФ, я думаю, что это не фантастика.
И что за начальный параметр - w+CAIQICId
Это типа РФ что ли закодированный?

Reply
Этот комментарий был удален администратором блога. - Hapus

Blog Archive

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