Лимит Геокодера Карты и геолокация

Здравствуйте. Относительно модуля Карты и геолокация.
Можно как то отключить все запросы к Геокодеру Яндекса для всех страниц, кроме страницы оформления заказа?
Лимит Геокодера сжирается за несколько дней и затем клиентам трудно выбирать, например, пункт выдачи СДЭК без карты.
Я отключил опцию “Предварительный расчёт доставки на странице товара” и отключил блок “Местоположение покупателя” в шапке, но всё равно лимит API запросов вылетает нещадно.

1 лайк

Вообще бесплатный апи ключ позволяет кэшировать результаты и сохранять в сессию. Так что да, тоже не понимаю, зачем на каждой странице запрашивать? И ещё вопрос: когда страницу смотрят боты, геокодер тоже работает?

1 лайк

Судя по всему боты и выжирают. Пришлось в настройках хостинга отключать IPv6, через который основная масса ботов и лезет.

1 лайк

Кто-нибудь решил проблему с выжиранием лимитов?
Раньше у меня использовался Яндекс с бесплатным тарифом и всё работало. Но с 2025 или 2026 года они изменили тарифы и теперь в бесплатном тарифе выделяется только 1000 запросов в день и дальше блокируется ключ до следующего дня. Мне 1000 запросов/день не хватает.
В ТП cs-cart порекомендовали попробовать перейти на Google. Я попробовал, и у меня только за один день выходит в среднем по 40+$:
• Geocoding: 33.1$/день (6619 вызовов)
• Geolocation: 19.29 $/день (5692 вызовов)

Я писал в ТП cs-cart, могут ли они как-то оптимизировать модуль свой, чтобы:

  1. в принципе меньше запросов отправлялось;
  2. чтобы можно было вручную выбрать местоположение в случае, когда автоматическое определение геолокации не сработало.

Вот их ответ:

  1. Значительное количество запросов к API Геокодера может быть связано с посещением сайта поисковыми роботами, что увеличивает расход дневной квоты API.

Я хотела бы сообщить, что в следующем релизе CS-Cart будут добавлены оптимизации, уменьшающие количество обращений, в частности, от автоматизированного трафика.

В вашей текущей версии, для предотвращение подобных обращений, в файле design/backend/templates/addons/geo_maps/components/scripts.tpl я заменила данный код:

{$provider = $settings.geo_maps.general.provider}

{if $provider == “yandex”}
{script src=“js/addons/geo_maps/provider/yandex/index.js” cookie-name=“yandex_maps”}
{script src=“js/addons/geo_maps/provider/yandex/maps.js” cookie-name=“yandex_maps”}
{script src=“js/addons/geo_maps/provider/yandex/code.js” cookie-name=“yandex_maps”}
{script src=“js/addons/geo_maps/provider/yandex/locate.js” cookie-name=“yandex_maps”}
{elseif $provider == “google”}
{script src=“js/addons/geo_maps/provider/google/index.js” cookie-name=“google_maps”}
{script src=“js/addons/geo_maps/provider/google/maps.js” cookie-name=“google_maps”}
{script src=“js/addons/geo_maps/provider/google/code.js” cookie-name=“google_maps”}
{script src=“js/addons/geo_maps/provider/google/locate.js” cookie-name=“google_maps”}
{/if}

{script src=“js/addons/geo_maps/func.js”}

на:

{$provider = $settings.geo_maps.general.provider}
{if (!defined(“NO_SESSION”)) && (!defined(“CRAWLER”))}
{if $provider == “yandex”}
{script src=“js/addons/geo_maps/provider/yandex/index.js” cookie-name=“yandex_maps”}
{script src=“js/addons/geo_maps/provider/yandex/maps.js” cookie-name=“yandex_maps”}
{script src=“js/addons/geo_maps/provider/yandex/code.js” cookie-name=“yandex_maps”}
{script src=“js/addons/geo_maps/provider/yandex/locate.js” cookie-name=“yandex_maps”}
{elseif $provider == “google”}
{script src=“js/addons/geo_maps/provider/google/index.js” cookie-name=“google_maps”}
{script src=“js/addons/geo_maps/provider/google/maps.js” cookie-name=“google_maps”}
{script src=“js/addons/geo_maps/provider/google/code.js” cookie-name=“google_maps”}
{script src=“js/addons/geo_maps/provider/google/locate.js” cookie-name=“google_maps”}
{/if}
{/if}

{script src=“js/addons/geo_maps/func.js”}

Теперь для поисковых роботов скрипты геолокации не загружаются, что позволяет избежать лишних запросов к API.

После данных изменений, пожалуйста, понаблюдайте, улучшится ли ситуация с расходованием дневной квоты API Геокодера.

Фикс, который применили, исключает запросы от поисковых роботов. Но если квота в 1000 запросов все равно исчерпывается, это означает, что реальные пользователи генерируют большое количество запросов в день.

Но мне это их решение не помогло, лимиты всё равно выжираются. В общем, кто как решил?

Миникарту в заказах в админке уберите. У меня она жрала.

Спасибо, но это странно. Разве в админке в уже созданном заказе зачем-то запрашивается геолокация? Чья? Админа, смотрящего заказ?)) Зачем?) Если заказ уже создан и локация покупателя в нём уже зафиксирована, то что там определять?)

Для отрисовки карты делаются запросы.
И каждый раз как менеджеры открывают заказ.
Я не уверен что это одна и таже проблема, но Гугл денежек мне съел.
Где то тут тему создавал по этому поводу.