Как посмотреть выдачу Google из другого города

· Google · регионы

Клиент из Краснодара спрашивает, почему его нет в топе, а вы сидите в Новосибирске и видите совсем другую выдачу. Google подмешивает в результаты город, который вычислил по IP, и обычным поиском чужой регион не посмотреть. VPN тут не помощник: он подменяет страну, а Google таргетирует до города и даже района.

Рабочих способа два: параметр uule для ручной проверки в браузере и числовой ID региона для API. Разберём оба и, главное, грабли, о которых редко пишут.

Что Google на самом деле делает с uule

Технически uule — это protobuf-сообщение с полями role=2, producer=32 и каноническим именем места, закодированное в Base64 с префиксом w+. Звучит страшно, руками собирать не нужно: генератор UULE отдаёт готовую строку по названию города.

Интереснее другое. В старых мануалах пишут, что имя внутри uule обязано буква в букву совпадать со справочником Google Ads. Мы проверяли: это не так. Google не сверяет строку со справочником, а геокодит её сам, как обычный адрес. Работает Moscow,Moscow,Russia, работает и просто «Москва, Россия» кириллицей.

Обратная сторона этой гибкости неприятна. Если внутри окажется опечатка или выдуманное место, Google не вернёт ошибку. Он молча проигнорирует параметр и отдаст выдачу по вашему реальному IP. Вы будете думать, что смотрите Краснодар, а смотреть Новосибирск. Поэтому подстановку надо проверять.

Что вообще меняется от города к городу

Скептик спросит: а сильно ли выдача зависит от города, может, разница косметическая? По коммерческим запросам сильно. Возьмите «купить ноутбук», «стоматологию» или «доставку пиццы»: по таким запросам Google собирает топ из локальных игроков, подмешивает карты и организации рядом. Агрегаторы и федеральные сети в разных городах стоят на разных строчках, а региональные сайты из чужого города не видны вовсе. По информационным запросам разница меньше, но она есть: даже «как выбрать зимнюю резину» в Норильске и Сочи отдаёт разные сниппеты. Так что съём позиций «из своего кресла» для клиента из другого региона даёт красивый отчёт, не имеющий отношения к реальности.

Как понять, что регион подставился

В ответе нашего API есть поле region: Google сам сообщает, откуда, по его мнению, пришёл запрос. Совпало с нужным городом, значит параметр принят. А если вместо запрошенного Омска пришла ваша Москва, строка не распозналась, и всё, что вы «проверили» до этого, было выдачей вашего собственного города.

GET https://jsonseo.ru/api/google?key=ВАШ_КЛЮЧ&q=купить+ноутбук&uule=w+CAIQICIUTW9zY293LE1vc2NvdyxSdXNzaWE

{
    "region": "Москва",
    "results": [ ... ]
}

Проверять то же самое в браузере — затея так себе. Google там опирается на куки и вашу историю и параметр нередко просто игнорирует, о чём ниже.

Ловушка с куками

Самая частая жалоба: «подставил uule, а выдача не поменялась». Причина почти всегда в браузере. Если вы залогинены в Google или просто накопили куки, персонализация может перевесить параметр: поисковик доверяет своей истории больше, чем строке в адресе. В чистом запросе без cookies uule отрабатывает стабильно.

Отсюда практический порядок действий: сначала режим инкогнито, а если и там странности, то curl или любой HTTP-клиент без кук. Именно поэтому парсеры видят «честную» региональную выдачу, а живой браузер нет. И поэтому же сравнивать позиции из отчёта парсера с тем, что вы видите глазами на своём ноутбуке, бессмысленно: у вас с парсером буквально разный Google. Эталоном считайте чистый запрос, ведь покупатель, который ищет клиента впервые, куками про него ещё не оброс.

Когда городов больше трёх

Подставлять uule руками нормально для разовой проверки гипотезы. Съём позиций по 20 городам и 200 запросам так делать никто не будет. В /api/google регион передаётся проще, числовым ID:

https://jsonseo.ru/api/google?key=ВАШ_КЛЮЧ&q=купить+ноутбук&region=1011969

1011969 — это Москва. Сервер сам построит по ID корректный uule и подставит gl, ничего кодировать не придётся. ID ищутся на странице регионов Google, в базе их 273 644, от стран до районов и аэропортов. Если хочется задать локацию своей строкой, параметр uule в API тоже принимается, наравне с координатами ll.

Страница выдачи стоит 0.01 ₽, при регистрации на баланс падают 10 ₽, то есть тысяча страниц: хватит прогнать свои города и убедиться, что регионы подставляются как надо. Как построить на этом регулярный мониторинг, мы разбирали в статье про проверку позиций по регионам.

Короткая памятка


Читайте дальше