WP Manifestindependent plugin directory
manifest / media / clean-org-map

Clean Org Map

WordPress-плагин: карта организации без рекламы (MapLibre + OpenFreeMap / Leaflet + OSM) со связкой с карточкой Яндекс Карт: адрес, телефон, часы, маршрут

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/boris0024/clean-org-map/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Плагин WordPress: карта организации на сайте без рекламы, со связкой с настоящей карточкой в Яндекс Картах.

С 1 сентября 2026 года в условиях сервисов Яндекс Карт прямо закреплено право Яндекса показывать рекламу во встроенных картах (п. 4.7), а скрывать её пользователю запрещено (п. 5.1.2). Отключение рекламы стоит 2 000 ₽ в месяц или 20 000 ₽ в год за один домен.

Этот плагин не прячет рекламу Яндекса и не трогает его виджет. Он рисует карту на открытых данных (OpenFreeMap / OpenStreetMap), а с Яндексом связывает сайт ссылками на карточку организации и данными из неё.

Что делает

  • Карта без рекламы. Векторная (MapLibre GL + OpenFreeMap) или растровая (Leaflet + OpenStreetMap). Без API-ключей. Если у браузера нет WebGL, векторная карта сама переключается на растровую.
  • Данные из карточки Яндекса. Вставляете ссылку на организацию, плагин подтягивает название, адрес, телефон, часы работы, координаты, рейтинг и число отзывов. Раз в неделю обновляет.
  • Ручные правки важнее. Любое поле можно переписать в настройках. Еженедельное обновление ручные значения не затирает. Если в карточке пропал адрес или телефон, на сайте остаётся прежнее значение, а в настройках появляется предупреждение.
  • Кнопки на карточку. «Открыть в Яндекс Картах» и «Построить маршрут» ведут на настоящую карточку организации, с привязкой маршрута к ней, а не к безымянной точке.
  • Адрес текстом в HTML. Шорткод [clean_org_map_field] отдаёт адрес, телефон, часы готовым текстом на сервере: робот видит сами данные, а не iframe.
  • Подстановка в поля ACF. Если тема выводит адрес из поля ACF, плагин подменит значение данными карточки без правки темы.
  • Лёгкая загрузка. Библиотека карты грузится, только когда карта приближается к экрану. Колесо мыши страницу не перехватывает, на телефоне карта двигается двумя пальцами.
  • Несколько точек, своя иконка метки, отступы под плашки поверх карты, nofollow на ссылки атрибуции.

Установка

  1. Скачайте clean-org-map.zip из последнего релиза и загрузите через Плагины → Добавить новый → Загрузить плагин. Либо распакуйте его в wp-content/plugins/clean-org-map.
  2. Активируйте плагин.
  3. Откройте Настройки → Clean Org Map, вставьте ссылку на организацию и сохраните.

Подходят ссылки вида:

https://yandex.ru/maps/org/nazvanie/1234567890/
https://yandex.ru/profile/1234567890
https://yandex.ru/maps/-/XXXXXX   (короткая ссылка «Поделиться»)
1234567890                        (просто ID организации)

Вывод

В тексте страницы:

[clean_org_map]
[clean_org_map location="moskva" height="500" buttons="0"]
[clean_org_map location="moskva,spb"]

Данные карточки текстом:

[clean_org_map_field field="address"]
[clean_org_map_field field="phone" location="spb"]
[clean_org_map_field field="address" link="route"]

Поля: address, full_address, title, phone, hours, rating, reviews, org_url. Параметр link="org" или link="route" оборачивает значение в ссылку на карточку или маршрут.

В теме:

<?php echo clean_org_map_render( [ 'location' => 'moskva' ] ); ?>
<?php clean_org_map_the_field( 'address', 'moskva' ); ?>
<?php $loc = clean_org_map_get_location( 'moskva' ); ?>

Произвольные метки без карточки:

echo clean_org_map_render( [
    'points' => [
        [ 'lat' => 55.75, 'lon' => 37.61, 'title' => 'Объект', 'url' => '/objects/1/' ],
    ],
] );

Подстановка в ACF

В настройках точки, поле «Подставлять в поля ACF», по строке на поле:

contacts_address@options = address
phone@page = phone

@options это страница настроек ACF, @тип_записи это поля записей этого типа. Без уточнения правило действует везде.

Фильтры и события

  • clean_org_map_default_location — какая точка выводится по умолчанию.
  • clean_org_map_location — данные точки перед выводом (можно добавить description и image для подсказки).
  • clean_org_map_field — значение поля перед выводом.
  • JS: событие clean-org-map:ready на контейнере карты, el.cleanOrgMap.show(i) перелетает к i-й точке и открывает подсказку.

Важно знать

  • Данные берутся со страницы организации в Яндекс Картах. Один запрос на точку при сохранении и раз в неделю по cron. Если Яндекс покажет капчу или поменяет вёрстку, плагин оставит прежние данные и напишет ошибку в настройках. Координаты и остальные поля всегда можно вписать вручную.
  • Подложки. OpenFreeMap бесплатен, без ключей и лимитов, коммерческое использование разрешено. Публичные тайлы tile.openstreetmap.org (растровый режим) рассчитаны на умеренную нагрузку: для сайта с большим трафиком подставьте свой источник тайлов в настройках.
  • Атрибуцию не удаляйте. Подпись © OpenStreetMap обязательна по лицензии данных. Плагин только ставит на неё nofollow.

Требования

WordPress 5.8+, PHP 7.4+. ACF не обязателен.

Внутри

Лицензия

GPL-2.0-or-later. Автор: Максим, rtseo.ru, Telegram-канал @robotseo.