Здравствуйте. Относительно модуля Карты и геолокация.
Можно как то отключить все запросы к Геокодеру Яндекса для всех страниц, кроме страницы оформления заказа?
Лимит Геокодера сжирается за несколько дней и затем клиентам трудно выбирать, например, пункт выдачи СДЭК без карты.
Я отключил опцию “Предварительный расчёт доставки на странице товара” и отключил блок “Местоположение покупателя” в шапке, но всё равно лимит API запросов вылетает нещадно.
Вообще бесплатный апи ключ позволяет кэшировать результаты и сохранять в сессию. Так что да, тоже не понимаю, зачем на каждой странице запрашивать? И ещё вопрос: когда страницу смотрят боты, геокодер тоже работает?
Судя по всему боты и выжирают. Пришлось в настройках хостинга отключать IPv6, через который основная масса ботов и лезет.
Кто-нибудь решил проблему с выжиранием лимитов?
Раньше у меня использовался Яндекс с бесплатным тарифом и всё работало. Но с 2025 или 2026 года они изменили тарифы и теперь в бесплатном тарифе выделяется только 1000 запросов в день и дальше блокируется ключ до следующего дня. Мне 1000 запросов/день не хватает.
В ТП cs-cart порекомендовали попробовать перейти на Google. Я попробовал, и у меня только за один день выходит в среднем по 40+$:
• Geocoding: 33.1$/день (6619 вызовов)
• Geolocation: 19.29 $/день (5692 вызовов)
Я писал в ТП cs-cart, могут ли они как-то оптимизировать модуль свой, чтобы:
- в принципе меньше запросов отправлялось;
- чтобы можно было вручную выбрать местоположение в случае, когда автоматическое определение геолокации не сработало.
Вот их ответ:
- Значительное количество запросов к 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 запросов все равно исчерпывается, это означает, что реальные пользователи генерируют большое количество запросов в день.
Но мне это их решение не помогло, лимиты всё равно выжираются. В общем, кто как решил?
Миникарту в заказах в админке уберите. У меня она жрала.
Спасибо, но это странно. Разве в админке в уже созданном заказе зачем-то запрашивается геолокация? Чья? Админа, смотрящего заказ?)) Зачем?) Если заказ уже создан и локация покупателя в нём уже зафиксирована, то что там определять?)
Для отрисовки карты делаются запросы.
И каждый раз как менеджеры открывают заказ.
Я не уверен что это одна и таже проблема, но Гугл денежек мне съел.
Где то тут тему создавал по этому поводу.