Legend's GeoGrid: кратко о главном
🎯 О чём этот конспект: Разбор открытого инструмента Legend's GeoGrid для гео-локального SEO-анализа ранжирования бизнеса в Google Maps. Автор показывает, как с помощью прямого подключения к API DataForSEO и AI-агентов собирать полную карту позиций и конкурентов за $3–$5 вместо $250 в закрытых SaaS-сервисах (Local Falcon, BrightLocal).
👤 Кому будет полезно: Вайбкодерам, SEO-специалистам, владельцам локальных бизнесов и разработчикам AI-агентов, желающим автоматизировать сбор локальной семантики и выявление спамеров в Google Business Profile.
✨ Что получите: Готовую методологию развертывания локального гео-сканера позиций, формулы оптимизации расходов на DataForSEO API, алгоритм выявления нарушений конкурентов (keyword stuffing) и структуру сохранения данных в локальный Vault.
1. Архитектура и экономика Legend's GeoGrid: экономия в 50–80 раз по сравнению с SaaS
Контекст: Классические SaaS-сервисы для мониторинга локального SEO (Local Falcon, BrightLocal) работают по подписочной или кредитной модели с огромной наценкой за визуализацию данных. Для сканирования сетки радиусом 10 миль по нескольким ключевым запросам сервисы списывают кредиты стоимостью около $250. Прямое обращение к поставщикам сырых данных (DataForSEO) позволяет получить абсолютно тот же массив точек за $3.15–$5.40. Развернув собственное open-source приложение на Next.js, вайбкодер сохраняет полный контроль над данными, устраняет абонентскую плату и может встроить инструмент в собственные мульти-агентные пайплайны. Инструмент распространяется по свободной лицензии MIT.
Тайминг:
Выгода: Снижение затрат на сканирование одной локации с $250 до $5.40 (экономия в 47–80 раз / удешевление на 98%), отсутствие ежемесячной абонентской платы $100–$200/мес.
Как применить:
- Шаг 1: Клонирование репозитория — Terminal / Git — Склонируйте открытый проект Legend's GeoGrid с GitHub и перейдите в рабочую директорию:
git clone https://github.com/your-repo/legends-geogrid.git
cd legends-geogrid
npm install- Шаг 2: Настройка переменных окружения — Code Editor — Создайте файл
.env.localи укажите ключи доступа к DataForSEO и Google Maps API:
DATAFORSEO_LOGIN="your_api_login"
DATAFORSEO_PASSWORD="your_api_password"
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY="your_google_maps_key"- Шаг 3: Запуск локального сервера — Node.js — Запустите приложение в режиме разработки для работы в связке с вашим AI-агентом:
npm run devРезультат: Локально работающее веб-приложение для гео-сетки, готовое к отправке прямых API-запросов по себестоимости провайдера.
2. Оптимизация запросов DataForSEO API: режим Standard Queue и настройка шага сетки
Контекст: DataForSEO предоставляет два режима выборки гео-данных: live (мгновенная выдача) и standard queue (асинхронная очередь с задержкой в несколько минут). Режим Live втрое дороже стандартного, поэтому для фонового анализа и регулярных отчетов критически важно принудительно использовать standard queue. Второй рычаг оптимизации — плотность точек (resolution). Вместо чрезмерно плотной сетки оптимальным шагом является дистанция в 0.5 мили (0.8 км) между чекпоинтами: она дает достаточную детализацию для выявления границ влияния бизнеса и не раздувает API-чек. При глубине парсинга Top-20 сканирование 10-мильного радиуса обходится в $3.15, а при Top-30 — ровно в $5.40.
Тайминг:
Выгода: Трехкратное снижение API-костов за счет правильного типа очереди и сокращение количества точек без потери точности гео-картины.
Как применить:
- Шаг 1: Конфигурация параметров очереди запроса — TypeScript — В контроллере запросов укажите тип
postbackилиpingbackдля вызова стандартной очереди вместоlive:
interface DataForSeoParams {
keyword: string;
location_coordinate: string; // "latitude,longitude,radius"
depth: number; // 20 или 30
distance_step_miles: number; // 0.5
queue_mode: "standard" | "live";
}
const payload = {
target: "alphamechanical.com",
depth: 30, // Топ-30 выдачи Google
step: 0.5, // Шаг 0.5 мили
priority: 1 // Standard queue (дешевле в 3 раза)
};- Шаг 2: Расчет сетки точек от центрального офиса — AI Agent / Script — Поручите AI-агенту сгенерировать концентрические круги с шагом 0.5 мили для заданной долготы и широты целевого бизнеса.
- Шаг 3: Пакетная отправка задач — Node.js — Отправьте батч задач в DataForSEO endpoint
v3/serp/google/maps/task_postи ожидайте обработки через webhook или периодический polling.
Результат: Полный срез поисковой выдачи Google Maps по радиусу 10 миль за $5.40 без переплат за Live-приоритет.
3. Радиальный GeoGrid-анализ и визуализация ранжирования в Google Maps Dark Mode
Контекст: Традиционные SEO-инструменты строят жесткую квадратную матрицу (например, 15x15 квадратов), что не отражает специфику работы выездных сервисов (HVAC, сантехники, электрики), где логистика измеряется радиусом выезда от базы. В Legend's GeoGrid используется радиальная модель (кольца 2, 5, 10 миль). Для визуализации автор разработал кастомную цветовую шкалу: позиции с 1 по 10 (первая страница) подсвечиваются ярким бирюзовым (cyan/sparkling) свечением, а позиции с 11 по 30 — затухающим желто-красным спектром. Точки вне топ-30 отображаются белыми восьмиугольниками (stop signs). Поддерживается переключение между бесплатным OpenStreetMap, OpenFreeMap и Google Maps в специализированной темной теме (Dark Mode) с градиентным сглаживанием (diamond overlay).
Тайминг:
Выгода: Мгновенное визуальное понимание «поля боя»: четкое разграничение зоны доминирования (топ-10) и слепых зон сервиса без необходимости чтения таблиц с координатами.
Как применить:
- Шаг 1: Настройка радиальной сетки в промпте для AI — AI Prompt — Дайте команду вашему агенту сформировать координаты концентрических колец вокруг бизнеса:
Сгенерируй массив географических координат (latitude, longitude) для сканирования локального SEO вокруг адреса компании Alpha Mechanical (Fair Oaks, CA).
Начальный радиус: 2 мили, шаг колец: 1 миля, максимальный радиус: 10 миль.
Расстояние между соседними точками на каждом кольце: 0.5 мили.- Шаг 2: Применение стилей Google Maps Dark Theme — JavaScript / JSON — Подключите темную схему стилей для компонента карты, чтобы повысить контрастность бирюзовых и красных маркеров:
- Шаг 3: Включение Gradient Diamond Overlay — UI Component — Активируйте интерполяцию цветов между соседними точками для отображения зон влияния в виде теплового облака.
Результат: Контрастная интерактивная карта с концентрическими кольцами покрытия и интуитивной индикацией первой страницы Google Maps.
4. Конкурентный анализ поля боя (Local Leaders) и мульти-локации без лишних API-вызовов
Контекст: В рамках одного прогона по 4 ключевым фразам (например: HVAC contractor, air conditioning repair, air conditioning contractor, furnace repair) система собирает топ-30 результатов для каждой точки сетки. Вместо выполнения отдельных 650+ платных исследований под каждого конкурента, Legend's GeoGrid агрегирует все полученные карточки Google Business Profile (GBP) из общего массива данных. Режим «Local Leaders» отображает карту в стиле RTS-стратегий (StarCraft / Civilization), показывая суммарную долю рынка каждого игрока в радиусе 10 миль. Это наглядно демонстрирует стратегию крупных игроков (например, наличие двух офисов в противоположных частях агломерации, создающих взаимоперекрывающиеся синие зоны тотального доминирования).
Тайминг:
Выгода: Получение полной разведки по 600+ конкурентам за один базовый скан ($5.40) без дополнительных затрат на отдельные парсинги профилей.
Как применить:
- Шаг 1: Агрегация уникальных GBP из общего пула данных — TypeScript — Напишите функцию группировки и скоринга всех обнаруженных профилей конкурентов:
interface CompetitorScore {
placeId: string;
businessName: string;
top10Occurrences: number;
totalPointsRanked: number;
locationsCount: number;
rankScore: number;
}
export function calculateLocalLeaders(scanResults: any[]): CompetitorScore[] {
const leadersMap = new Map<string, CompetitorScore>();
scanResults.forEach(point => {
point.rankings.forEach((item: any, index: number) => {
const existing = leadersMap.get(item.place_id) || {
placeId: item.place_id,
businessName: item.title,
top10Occurrences: 0,
totalPointsRanked: 0,
locationsCount: 1,
rankScore: 0
};
if (index < 10) existing.top10Occurrences += 1;
existing.totalPointsRanked += 1;
existing.rankScore += (31 - (index + 1)); // Чем выше позиция, тем больше очков
leadersMap.set(item.place_id, existing);
});
});
return Array.from(leadersMap.values()).sort((a, b) => b.rankScore - a.rankScore);
}- Шаг 2: Анализ мульти-локаций лидеров рынка — Dashboard — Переключитесь в режим «Local Leaders» и выявите, какие компании используют несколько физических офисов/пинов для покрытия смежных городов (например, Citrus Heights, Orangevale, Fair Oaks).
- Шаг 3: Клик по профилю любого соперника — UI Map — Нажмите на любого игрока из правого сайдбара, чтобы мгновенно подсветить его персональную сетку ранжирования на той же карте.
Результат: Комплексная карта распределения сил на рынке с рейтингом доминирующих игроков и анализом их физического присутствия.
5. Автоматическое выявление спама в Google Business Profile: модуль детекции Keyword Stuffing
Контекст: Один из главных факторов ранжирования в Google Maps — точное вхождение ключевых слов и названий городов в официальное наименование профиля компании. Недобросовестные конкуренты нарушают правила Google (Guidelines for Business Profiles), искусственно дописывая к юридическому названию фразы вроде Pro HVAC Services Sacramento или Yellow Roseville Air Duct Cleaning Rancho Cordova. В Legend's GeoGrid встроен модуль «Keyword Stuffing Identifier» (в сообществе прозванный вкладкой «Snitch»). Алгоритм парсит заголовки карточек из топ-30, сравнивает их с целевыми ключевыми словами и геотопонимами, подсвечивая вероятные манипуляции. Пользователь может отправить правку (Suggest an Edit) в Google Maps для удаления спам-слов, восстанавливая честную конкуренцию.
Тайминг:
Выгода: Очистка выдачи от читеров и серых спам-сеток, что позволяет белому локальному бизнесу подняться в топ-3 без риска санкций со стороны Google.
Как применить:
- Шаг 1: Запуск алгоритма валидации названий карточек — JavaScript / Regex — Выделите аномальные хвосты в именах профилей, проверяя повторы географических названий и категорий:
export function detectKeywordStuffing(businessTitle: string, targetCity: string, categoryKeywords: string[]) {
const titleLower = businessTitle.toLowerCase();
const suspiciousTokens: string[] = [];
categoryKeywords.forEach(kw => {
if (titleLower.includes(kw.toLowerCase())) {
suspiciousTokens.push(kw);
}
});
if (titleLower.includes(targetCity.toLowerCase())) {
suspiciousTokens.push(targetCity);
}
return {
isSuspicious: suspiciousTokens.length >= 2,
tokensFound: suspiciousTokens,
cleanCandidate: businessTitle.replace(new RegExp(targetCity, 'gi'), '').trim()
};
}- Шаг 2: Проверка подозрительных карточек в реестрах — Браузер / Реестр — Проверьте подозрительные карточки на предмет регистрации официального DBA (Doing Business As) или зарегистрированного юрлица.
- Шаг 3: Подача жалобы через Google Maps — Google Maps Redressal / Edit — Используйте функцию «Предложить исправление» (Suggest an edit) -> «Изменить название», удалив накрученные спам-хвосты.
Результат: Список компаний-нарушителей с готовыми маркерами спама для отправки правок и расчистки локальной выдачи.
6. Вайбкодинг и воркфлоу с AI-агентом: хранение данных в Vault и стратегическое планирование
Контекст: Legend's GeoGrid спроектирован не как изолированный сервис, а как компонент локальной экосистемы (Home System / Obsidian Vault / Cursor / Claude Code). Воркфлоу вайбкодера строится на разделении экрана: слева — окно AI-агента (терминал или чат IDE), справа — браузер с визуализацией карты. Результаты каждого исследования сохраняются в локальное хранилище в формате JSON и Markdown. Это позволяет агенту сравнивать срезы месяц к месяцу («time-series analysis»), оценивать эффект от внедрения посадочных страниц под конкретные пригороды (Fair Oaks, Citrus Heights) и генерировать рекомендации в интерактивном разделе «Strategy Room».
Тайминг:
Выгода: Накопление собственной независимой базы данных динамики рынка, сквозная автоматизация выводов с помощью LLM без потери исторического контекста.
Как применить:
- Шаг 1: Структурирование сохранения данных в Vault — Markdown / JSON — Настройте экспорт каждого сканирования в файловую структуру Obsidian/Vault:
{
"scanDate": "2024-03-29",
"businessTarget": "Alpha Mechanical",
"radiusMiles": 10,
"costUsd": 5.40,
"queries": ["HVAC contractor", "air conditioning repair"],
"overallRank": 38,
"topCompetitor": "Ray O. Cook Heating and Air",
"vaultPath": "/vault/clients/alpha-mechanical/geogrid/2024-03-29.json"
}- Шаг 2: Запрос к AI-агенту для формирования стратегии — AI Prompt — Передайте JSON-файл в контекст Cursor / Claude Code для формирования задач по локальному SEO:
Проанализируй прикрепленный файл сканирования гео-сетки за этот месяц (2024-03-29.json) по бизнесу Alpha Mechanical.
Сравни его с предыдущим сканированием за прошлый месяц.
Определи, в каких зонах (Fair Oaks, Carmichael, Orangevale) мы теряем позиции в пользу Ray O. Cook.
Составь план доработки посадочных страниц (Landing Pages) и схемы внутренней перелинковки под эти конкретные зоны.- Шаг 3: Повторный замер через 30 дней — AI Agent Harness — Проведите контрольный скан через месяц по тем же координатам для валидации гипотез и корректировки контент-плана.
Результат: Замкнутый цикл локального продвижения: замер -> анализ в LLM -> доработка сайта -> контрольный замер.
Legend's GeoGrid: ответы на частые вопросы
В: На каком стеке написан Legend's GeoGrid?
О: Приложение разработано на базе современного веб-стека React / Next.js с поддержкой карт через Leaflet / Google Maps API. Исходный код открыт под лицензией MIT и может быть легко доработан под любые задачи с помощью Cursor или Claude Code.
В: Обязательно ли платить за Google Maps API для отображения карты?
О: Нет. В Legend's GeoGrid из коробки встроена поддержка бесплатных картографических движков OpenStreetMap и OpenFreeMap. Подключение Google Maps API требуется только в том случае, если вам необходим фирменный Dark Mode и максимальная детализация топонимов Google.
В: В чем разница между Live и Standard Queue в DataForSEO?
О: Режим Live возвращает ответ мгновенно, но стоит в 3 раза дороже. Режим Standard Queue ставит задачу в асинхронную очередь и отдает результат через несколько минут, снижая стоимость анализа 10-мильной зоны с $16+ до $5.40.
В: Почему вместо классической квадратной сетки используется радиальная модель?
О: Локальные сервисные бизнесы (HVAC, сантехника, клининг) оперируют радиусом выезда специалистов от офиса. Концентрические кольца (2, 5, 10 миль) позволяют точно оценить угасание поисковой видимости по мере удаления от физического адреса компании.
В: Как система находит более 600 конкурентов всего за 4 запроса?
О: В каждой точке гео-сетки парсер забирает топ-30 позиций выдачи. Объединяя и дедуплицируя результаты со всех чекпоинтов по всем 4 ключевым фразам, инструмент строит полную базу всех уникальных бизнесов, ранжирующихся на исследуемой территории.
В: Насколько безопасно отправлять правки на конкурентов со спамом в названиях?
О: Функция выявления спама лишь анализирует совпадение названий профилей с ключевыми словами и топонимами. Правка отправляется через стандартный публичный функционал «Suggest an edit» в Google Maps и проходит модерацию алгоритмами и редакторами Google.
В: Можно ли интегрировать полученные данные в Obsidian или собственную CRM?
О: Да, все сырые данные парсинга сохраняются в стандартном формате JSON. Их можно напрямую складывать в базу знаний (Vault) и скармливать AI-агентам для глубокого факторного анализа.
Legend's GeoGrid: инструменты и ссылки из видео
- Legend's GeoGrid — открытый инструмент визуализации и анализа локального SEO и гео-сеток (MIT License) — упомянут в видео (доступен на GitHub автора).
- DataForSEO — API-провайдер данных поисковой выдачи, Google Maps и гео-локаций —
https://dataforseo.com - Local Falcon — популярный закрытый SaaS-сервис мониторинга гео-сеток локального SEO —
https://www.localfalcon.com - BrightLocal — платформа для аудита локального SEO и мониторинга позиций —
https://www.brightlocal.com - WhiteSpark — инструмент и сервис для локального цитирования и SEO-аналитики —
https://whitespark.ca - Google Maps Platform — картографический API для кастомных темной и светлой подложек —
https://developers.google.com/maps - OpenStreetMap / OpenFreeMap — бесплатные открытые картографические провайдеры для отображения гео-точек —
https://www.openstreetmap.org
Конспект создан на основе видео «Local SEO GeoGrid Open Source Tool Breakdown» канала AI Marketing Hub Pro. Все права на оригинальный материал принадлежат авторам. Источник: https://www.youtube.com/watch?v=0G7IF3yBxcM