→ 424 клика, 49 400 показов в GSC за 6 мес, средняя позиция 18.2. Минимум линкбилдинга. Бюджет ~500 €
KKKEY — cerrajero automotriz en Benidorm

Локальный серрахеро (автомобильные ключи, замки, вскрытие машин и помещений, работа 24/7) в Бенидорме и по всей Коста-Бланке. Стартовали с одностраничного WordPress-лендинга, который физически не мог принимать SEO-трафик. Заканчиваем этап со статическим сайтом из 99 HTML-страниц на 5 языках.

Live-сайт: kkkey.es

Ключевые показатели за 6 месяцев

1 → 99 страниц в индексе5 языков с физическими URL
424 клика в GSC49 400 показов
18.2 средняя позиция~0 → 10+ кликов/день пиками
24 страницы получают клики~500 € бюджет этапа

TL;DR

  • Было: одностраничный WordPress-лендинг с плагином, который генерировал переводы через JavaScript. Googlebot видел пустой HTML, в индексе — 1 страница под десятки коммерческих интентов.
  • Стало: статический сайт на Cloudflare с 99 HTML-страницами × 5 языков (ES/EN/NL/RU/UK) × 12 городов × 9 сервисов × 3 авто-марки. Правильный hreflang, LocalBusiness schema, серверные 301 вместо meta-refresh.
  • Как сделано при бюджете 500 €: идемпотентный Python-пайплайн, который генерирует RU/UK-версии из ES-исходника и переписывает hreflang-группы по реально существующим языковым версиям. Ручная локализация 100 страниц в этот бюджет не помещается — автоматизация укладывается.
  • Результат при минимальном линкбилдинге: 424 клика и 49 400 показов в GSC за 6 месяцев. Только локальные каталоги — Google Business Profile и профильные ES-директории. Бренд kkkey — позиция 2.1 с CTR 10.6%. cerrajero benidorm — позиция 6.5 по 2 330 показам.

Задача

У клиента — небольшой бизнес 24/7 в Бенидорме: вскрытие авто, дубликат ключей (включая smart-key для VAG), замена замков, работа в радиусе ~40 км по Коста-Бланке и горным деревням (Tárbena, Beniarbeig, Bolulla, Sella, Jalón). Клиентура — местные + туристы (EN/NL) + экспаты (RU/UK).

Исходный сайт — WordPress-лендинг с плагином мультиязычности, который переводил контент на лету через JavaScript. На практике:

  • Для Google в индексе был ровно один URL — главная. Всё остальное (услуги, города, языки) существовало только в JS-рендере без физических адресов.
  • Конкуренты в нише (cerrajerobenidormmigueleon.com, benidormcerrajeros24h.es) держали 10–50 индексируемых страниц и забирали весь локальный коммерческий трафик.
  • Bounce-потолок один-страничного лендинга — 5–20 кликов/месяц по десяткам разных интентов.

Бюджет этапа — ~500 €. Задача сформулирована как «сделать сайт, способный принимать трафик по связке услуги × города × марки авто × языки», без выхода за этот бюджет.

Стартовая точка

МетрикаЗначение (декабрь 2025)
Страниц в индексе1
Языковых версий с URL0 (только JS-псевдопереводы)
GSC: клики/день0–3
GSC: средняя позиция25–40
Ahrefs referring domains4
Ahrefs organic keywords8
Sitemap / Schema / hreflangотсутствуют

Что было сделано — 5 направлений

1. Миграция с CSR-WordPress на статический стек

WordPress + JS-плагин заменены на статическую сборку на Cloudflare (Pages + Workers / Node-пайплайн). Сайт теперь живёт как набор HTML-файлов с серверной логикой только там, где она действительно нужна — редиректы, нормализация слэшей, простые edge-правила. Никакого CMS и базы данных на продакшене.

Эффект: Googlebot сразу получает готовый HTML с полным контентом (вместо пустой CSR-оболочки), страницы индексируются. Скорость загрузки — около полусекунды за счёт CDN Cloudflare и отсутствия серверного рендера.

2. Архитектура URL: услуги × города × марки × языки

Построена полная локальная сетка (итого 99 HTML-страниц):

  • 9 сервисных кластеров (ES-корень) — apertura-coches, apertura-puertas, llave-atascada, llaves-perdidas-sin-copia, duplicado-llaves-coche, duplicado-smart-key, cambio-cerradura-encendido, cerrajero-urgente-benidorm, cerrajero-coches
  • 12 городских страниц — Benidorm, Altea, Calpe, La Nucía, Villajoyosa, Alicante + горные деревни (Beniarbeig, Bolulla, Sella, Tárbena, Jalón) + зона обслуживания
  • 3 страницы марок (VAG-кластер) — Audi, Volkswagen, BMW
  • 5 языков с физическими директориями/ (ES), /en/, /nl/slotenmaker-benidorm/ (узкоцелевая NL-страница), /ru/, /uk/

Каждая страница — самостоятельный URL с правильной группой <link rel="alternate" hreflang="...">, canonical, Schema.

3. Пайплайн автогенерации мультиязычности

Ключевой элемент, без которого бюджет 500 € не помещается.

Вместо ручной локализации 50+ страниц — набор идемпотентных скриптов, которые из ES-исходника регенерируют RU/UK-версии, обновляют меню и перелинковку, вставляют Schema и блоки-компоненты.

Отдельный скрипт сканирует собранный сайт и переписывает группы hreflang по реально существующим языковым версиям для каждой ES-страницы. Если EN-версии нет — hreflang="en" не добавляется (раньше WP-плагин слал ссылки на 404).

Идемпотентность — сознательное требование: любую команду можно запускать повторно без побочных эффектов. После правки источника одна команда приводит все 99 страниц в согласованное состояние за минуты вместо недель ручной работы.

4. Technical SEO: фикс Ahrefs-отчёта за один проход

Апрельский Ahrefs-аудит нашёл системные проблемы с hreflang/canonical. Разобрано одним запуском пайплайна:

  • 103 страницы — hreflang переписан под фактически существующие языковые группы (5-, 4-, 3-язычные — в зависимости от страницы)
  • Серверные 301 для битых EN-URL, заменивших их на ES-аналоги
  • HTML meta-refresh на промежуточные URL заменены на серверные 301 — корректная передача SEO-веса
  • NL canonical теперь указывает на реальную NL-страницу, а не на редирект

Правки, которые вручную на 100 страницах — недели. Через пайплайн — минуты.

5. Контент и on-page SEO

  • Единый набор блоков-шаблонов (hero, услуги, процесс, FAQ, отзывы, CTA, зона обслуживания, перелинковка) — для быстрого создания новых посадочных
  • На каждой странице — Title / H1 / Meta / FAQ-schema / LocalBusiness-schema / 12–13 внутренних ссылок
  • 1 089 ключей в семантическом ядре, 9 кластеров
  • Фотоархив реальных работ (~30 фото) привязан к релевантным страницам

6. Линкбилдинг — только локальные каталоги

Сознательно минимальный: регистрация в Google Business Profile и нескольких профильных испанских локальных каталогах (бизнес-директории, серрахеро-каталоги). Без гостевых постов, PBN, покупных ссылок. Цель текущего этапа — показать, какой трафик даёт одна правильная архитектура при минимуме внешних сигналов. Линкбилдинг — задача следующего этапа.

Результат

GSC за 6 месяцев (2025-10-20 → 2026-04-21)

МетрикаБыло (дек. 2025)Стало (апр. 2026)Δ
Страниц на сайте199+98
Языковых версий с URL05+5
Клики0–3 / день424 за период, до 10+/день пиками
Показы~200/день несфокусированных49 400 за период
Средняя позиция25–4018.2~−15
Страниц, получающих клики124+23

Топ-8 страниц по кликам

URLКликиПоказыСр. позиция
/ (ES главная)14016 42316.2
/llaves-perdidas-sin-copia/322 08221.9
/en/ (EN главная)992112.9
/duplicado-llaves-coche/61 00313.6
/llaves-volkswagen/62 22727.2
/apertura-coches/573922.3
/en/car-key-duplicate/349810.3
/cerrajero-benidorm/21 71123.4

Качественные сдвиги

  • Сайт впервые попадает в выдачу по локальным коммерческим запросам: cerrajero benidorm — позиция 6.5 по 2 330 показам, cerrajeros benidorm — позиция 9.6 по 1 111 показам
  • EN-кластер работает: /en/ — позиция 12.9, /en/car-key-duplicate/ — позиция 10.3, /en/ignition-replacement/ — позиция 6.8
  • NL-лендинг /nl/slotenmaker-benidorm/ получает показы по slotenmaker in de buurt — позиция 3.0
  • Брендовый запрос kkkey — позиция 2.1 с CTR 10.6%: сайт узнаваем в Google
  • Quick-wins в работе: cerrajero benidorm даёт 2 330 показов при текущем CTR 0.04% — задел для ручной оптимизации сниппетов в следующем этапе

Три инсайта

1. Автоматизация мультиязычности окупается с 3-го языка

Ручная локализация одной 25-страничной сетки занимает ~5–8 часов при нормальной скорости. Три языка — 15–25 часов. При бюджете 500 € это выжигает почти весь бюджет на одну локализацию.

Python-пайплайн пишется за 1–2 дня один раз, потом генерирует любые новые языки и подхватывает любые изменения в ES-исходнике. На 4–5 языках это единственный реалистичный подход для локального бизнеса.

2. Идемпотентность > «красивый код»

fix_hreflang_groups.py и аналоги — не самые элегантные скрипты. Но они переживают повторные запуски без побочных эффектов и это важнее любого стиля. После любой правки build/ можно одной командой привести весь сайт в согласованное состояние. Это превращает эксплуатацию сайта из «боязни что-то сломать» в «применил фикс, запустил, проверил».

3. Локальный бизнес не проигрывает по бюджету — проигрывает по архитектуре

KKKEY конкурирует с сайтами, у которых нет ни одного технического преимущества — но есть 30+ индексируемых страниц под разные гео×сервис-комбинации. Одностраничный лендинг физически не может с этим спорить, даже если он красивый и быстрый. Первая SEO-задача локального бизнеса — построить грамотную архитектуру URL, а не «улучшить контент главной».

Технологический стек

Фронт: Статический HTML, Schema.org (LocalBusiness, FAQPage), hreflang, canonical Сборка: идемпотентный JS/Node + Python-пайплайн локальной генерации Хостинг и CDN: Cloudflare (Pages / Workers, edge-правила) Серверная логика: Cloudflare — 301-редиректы, нормализация слэша, базовые routing-правила Линкбилдинг: Google Business Profile + локальные ES-каталоги (минимум) Аналитика/мониторинг: Google Search Console, Ahrefs Site Audit Коммуникация с клиентами: WhatsApp (sticky-кнопка в hero + sticky mobile bar)

Что это даёт клиентам

Подход, отлаженный на KKKEY.es, переносится на любой проект локального бизнеса:

  • Создание сайтов — одностраничный лендинг → полноценная SEO-сетка 50–100 страниц на статике, без раздувания бюджета
  • Техническое SEO — миграции с WordPress, правильный hreflang для мультиязычных сайтов, серверные редиректы, Schema
  • Мультиязычность под Google — физические URL для каждого языка вместо JS-переводов, которые не индексируются
  • Python-автоматизация — если у клиента 50+ страниц на 3+ языках, ручная локализация экономически бессмысленна

Кейс в работе — второй этап и полноценный линкбилдинг впереди. Текущий результат достигнут при минимальных внешних сигналах (GBP + локальные ES-каталоги, без закупки ссылок) — на правильной архитектуре и технике.

Stack: Static HTML · Cloudflare Pages · Node/Python · Schema.org · hreflang

Обсудить проект

Работаю из Испании (Бенидорм / Аликанте). Личная встреча возможна в радиусе 50 км. Удалённые проекты — без ограничений по географии.

Обсудить проект