🗺 Роадмап — Центр йоги «Практика» (Чебоксары)
Полный план создания сайта — до каждой страницы, описания и статьи. Статусы: ✅ готово · 🚧 в работе · 📋 запланировано · 💡 идея · 🚫 отклонено «Готово» — только при подтверждении фактом. Обновлено: 2026-06-11
🛠 Инфраструктура
- ✅ Скелет проекта docs/BLUEPRINT, docs/ACCESS (2026-06-08)
- ✅ Разбор архива старого сайта → docs/MATERIALS (2026-06-09)
- ✅ Исследование тарифа reg.ru Host-0; Python 3.12 на нём подтверждён (2026-06-10)
- ✅ Стек: Django 5.2 + MySQL; фронт — чистые HTML5/CSS3/JS (2026-06-10/11)
- ✅ Dev-стенд https://yoga.seo7.es: Django, gunicorn, nginx, SSL, noindex (basic auth снят 2026-06-11) (2026-06-10)
- ✅ git-репозиторий, деплой-скрипт
scripts/deploy-dev.sh(2026-06-10/11) - ✅ Техническое меню на dev: роадмап, канбан, цвета, типографика (2026-06-11)
- 📋 Smoke-деплой голого Django на reg.ru Host-0 (Passenger) — до начала вёрстки
- 📋 Перейти на SSH-ключи на VPS, отключить парольный вход
- 📋 Бэкапы БД dev (cron, mysqldump)
- 📋 Прод-окружение на reg.ru: venv, passenger_wsgi, MySQL, статика
- 📋 Перенос DNS yoga-che.ru на новый сайт + SSL на проде
- 📋 301-редиректы со страниц, которые не сохраняем 1:1 (карта в ПРОЕКТ САЙТА.md)
- 📋 Мониторинг прода (uptime-проверка, алерт на 5xx)
🎨 Дизайн / фирменный стиль
- 🚧 Палитра: 3 варианта на /tech/colors/ — осталось: выбор владельца
- 🚧 Типографика: 3 пары на /tech/typography/ — осталось: выбор владельца
- 📋 Дизайн-токены в CSS-переменных (цвета, шрифты, отступы, радиусы)
- 📋 UI-кит на чистом CSS: кнопки, формы, карточки, бейджи, таблицы, аккордеон FAQ
- 📋 Шрифты self-hosted (woff2 на своём хостинге, не Google CDN)
- 📋 Обработка логотипа: SVG-версия, favicon, OG-image
- 📋 Адаптивная сетка (мобайл-первый: большинство клиентов с телефона)
🧱 Модель данных и админка
- 📋 Модель «Филиал» (адрес, телефоны, часы, карта, фото, коктейль-флаг)
- 📋 Модель «Инструктор» (имя, фото, опыт, сертификаты, направления, видео-визитка)
- 📋 Модель «Направление» (название, slug под старый URL, описание, уровень, эффекты, противопоказания, FAQ)
- 📋 Модель «Занятие/слот расписания» (направление, инструктор, филиал, день, время, уровень)
- 📋 Модель «Тариф/Абонемент» (тип, число занятий, срок, цена, условия)
- 📋 Модель «Акция/Новость» (заголовок, текст, срок действия)
- 📋 Модель «Статья» (рубрика, SEO-поля, FAQ-блок, связанные статьи)
- 📋 Модель «Отзыв» (имя, текст, фото, модерация)
- 📋 Модель «Заявка» (запись на пробное: имя, телефон, направление, филиал, статус)
- 📋 Django-админка на русском под владелицу (группировка, подсказки, превью)
🌐 Страницы сайта (старые URL сохраняются)
🚧 = каркас создан (H1 + блок ключей, отвечает 200 на dev); осталось наполнить контентом, мета и дизайном. Реестр страниц —
app/pages/content.py.
Базовые
- 🚧 Главная
/— каркас; далее: промо, УТП, направления, ближайшие занятия, отзывы, CTA - 🚧 Расписание
/raspisanie.php— каркас + встроены Google-календари по филиалам (Ленина 25к1 — 3 календаря в одном виде, Горького 26 — 1); далее: фильтры, онлайн-запись - 🚧 Клубные карты
/klubnye-karty/— каркас (хаб тарифов) - 🚧 Абонементы
/klubnye-karty/abonementy.php— каркас; линейку тарифов актуализировать у заказчицы - 🚧 Заморозка
/klubnye-karty/zamorozka.php— каркас - 🚧 Скидки
/klubnye-karty/skidki.php— каркас - 🚧 Акции
/shares/— каркас (лента акций и новостей) - 🚧 Услуги
/services/— каркас (хаб услуг) - 🚧 Индивидуальные занятия
/services/individualnye-zanyatiya.php— каркас - 🚧 Аренда зала
/services/arenda-zala.php— каркас - 🚧 Подарочный сертификат
/services/podarochnyy-sertifikat.php— каркас - 🚧 Контакты
/contacts/— каркас; далее: карты (Яндекс/2GIS), маршруты, форма связи - 🚧 Преподаватели
/team/— каркас (хаб команды) - 📋 Карточки 17 тренеров — фото из MATERIALS, описания от заказчицы (по готовности данных)
- 🚧 О студии
/company/— каркас; далее: история, залы, фотогалерея - 📋 Правила школы / пользовательское соглашение (юр. тексты — готовит владелец проекта)
- 📋 Политика обработки ПДн + согласия в формах (152-ФЗ)
- 📋 Страница 404 с навигацией
Направления /catalog/ (14 страниц, URL старого сайта) — каркасы созданы
- 🚧 Хаб направлений
/catalog/— каркас - 🚧 Йога: начальный и средний уровень
/catalog/yoga_nachalnyy_uroven_sredniy_uroven/— каркас - 🚧 Хатха-йога
/catalog/khatkha_yoga/— каркас - 🚧 Хатха-йога интенсив
/catalog/khatkha_yoga_intensivnaya_praktika/— каркас - 🚧 Йога Айенгара
/catalog/yoga_ayengara/— каркас - 🚧 Аэройога
/catalog/aeroyoga_dlya_nachinayushchikh/— каркас - 🚧 Детская йога
/catalog/detskaya_yoga/— каркас - 🚧 Йога для беременных
/catalog/yoga_dlya_beremennykh/— каркас - 🚧 Здоровый позвоночник
/catalog/yoga_zdorovyy_pozvonochnik/— каркас - 🚧 Йогатерапия позвоночника
/catalog/yogaterapiya_pozvonochnika/— каркас - 🚧 Раскрытие тазобедренных суставов
/catalog/yoga_raskrytie_tazobedrennykh_sustavov/— каркас - 🚧 Йога-антистресс
/catalog/yoga_antistress/— каркас - 🚧 Гимнастика йогов
/catalog/gimnastika_yogov/— каркас - 🚧 Универсальная йога
/catalog/universalnaya_yoga2/— каркас - 🚧 Танцы реггетон
/catalog/tantsy_reggeton/— каркас - 💡 Кундалини-йога (69 гео) — если направление ведётся (вопрос заказчице)
Лендинги (вне меню, по приоритету гео-спроса)
- 📋 Лендинг «Йога для начинающих в Чебоксарах» (172 гео)
- 📋 Лендинг «Йога для беременных в Чебоксарах» (41 гео)
- 📋 Лендинг «Детская йога в Чебоксарах» (39 гео)
- 📋 Лендинг «Аэройога в Чебоксарах»
- 📋 Лендинг «Женская йога / 40+»
- 💡 Лендинг «Кундалини-йога» — если направление ведётся
- 💡 Лендинг «Йога для спины» (3 гео — в конце, на РФ-трафик)
Личный кабинет (фаза 2, после витрины)
- 📋 Регистрация и вход (телефон/email)
- 📋 Запись на занятие и отмена
- 📋 Остаток занятий и срок действия абонемента
- 💡 Онлайн-оплата абонементов (эквайринг — согласовать с заказчицей)
- 💡 Бонусный счёт
🔍 SEO / GEO / A11y — техническая оптимизация (11 этапов)
Полная декомпозиция этапов команды
/10-СЕО.GEO(скилseo-geo-a11y-pro), адаптированная под наш стек. Запускается отдельной командой ПОЗЖЕ — когда появятся реальные страницы (оптимизировать пустой каркас нечего). Адаптации под проект (упрощают объём): Django SSR → JSON-LD виден AI-ботам, prerendering НЕ нужен (снимает целый класс CRITICAL); сайт одноязычный (ru) → hreflang/мультиязычность отключаются, остаётся canonical-self иog:locale=ru_RU; локальный бизнес (2 филиала) → LocalBusiness ×2 обязателен; dev=nginx (noindex!), prod=reg.ru Apache → инфра через.htaccess.
Семантика (фундамент, сделано до скила)
- ✅ Классификация ~1100 ключей + гео-срез по Чебоксарам (2026-06-10)
- ✅ Обязательные ключи разнесены по страницам (ПРОЕКТ САЙТА.md) (2026-06-10)
Этап 0–1 — Детект и initial-аудит
- 📋 Зафиксировать: стек Django SSR, язык ru (одноязычный), сервер dev nginx / prod Apache
- 📋 Собрать карту проекта
docs/SEO-AUDITS/audit-NN/SEO_PROJECT_MAP.md: все маршруты, все<img>,<iframe>, кликабельные не-кнопки, существующие meta и public-файлы
Этап 2 — SEO-компонент и meta
- 📋 Базовый шаблон
<head>(Django-блок): title, description, canonical-self, viewport, charset - 📋 Уникальные title/description на КАЖДУЮ страницу из ключей (длины в норме)
- 📋
<html lang="ru">на всех страницах - 📋
og:locale=ru_RU(мультиязычные hreflang не нужны — сайт одноязычный)
Этап 3 — Инфра-файлы
- 📋
robots.txt: поисковые + AI-боты + Clean-param для Яндекса + Sitemap-ссылки; НЕ закрывать CSS/JS; без мёртвыхHost:/Noindex: - 📋
sitemap.xml(автогенерация Django, абсолютные URL, без priority/changefreq, только 200-URL) - 📋
sitemap-images.xml(фото залов/тренеров/направлений) - 📋
manifest.webmanifest+ favicon (svg + png ×3) + apple-touch-icon в<head> - 📋
llms.txt(карта сайта для AI-краулеров) - 📋
llms-full.txt(расширенный контент для AI) - 📋
.htaccessна проде reg.ru (Apache): кэш, сжатие, 404 → страница; бэкап перед правкой (синтакс-ошибка = 500)
Этап 4 — GEO / AI-Search (E-E-A-T)
- 📋 Конкретика на страницах: даты, цифры, имена тренеров, регалии, сертификаты
- 📋 Чёткая иерархия заголовков (один H1, H2 разделы, H3 подразделы, без пропусков уровней)
- 📋 FAQ-секции с прямыми ответами как обычный HTML (⚠️ БЕЗ разметки FAQPage — риск ручных санкций; FAQPage/HowTo не генерируем)
Этап 2/6 — Schema.org JSON-LD @graph
- 📋
Organization— корневая сущность графа с@id, всё кириллицей - 📋
LocalBusiness×2 (оба филиала): адрес, телефоны, часы,addressCountry: RU, геокоординаты - 📋
WebSite+WebPageсinLanguage: ruна страницах - 📋
Articleдля статей блога (ссылка на Organization через@id) - 📋
BreadcrumbListдля вложенных страниц - 📋
Review/AggregateRating— ТОЛЬКО если отзывы реальны и видимы (иначе риск санкций) - 📋 Open Graph + Twitter Card на каждой странице; OG-картинка 1200×630, текст на русском (шрифт с кириллицей)
Этап 7 — Performance / Core Web Vitals (критично на слабом Host-0)
- 📋 Цели mobile p75: LCP ≤ 2.5s, INP ≤ 200ms, CLS ≤ 0.1, FCP ≤ 1.8s, TTFB ≤ 800ms
- 📋 Изображения: AVIF/WebP, всегда width/height, srcset, один
fetchpriority=high,loading=lazyниже первого экрана - 📋 JS/CSS: defer/async на сторонние скрипты, critical CSS inline, очистка неиспользуемого CSS
- 📋 Резервирование места под медиа/embed (против CLS), skeleton нужных размеров
- 📋 Кэширование страниц Django (обязательно из-за CPU Host-0 — уже отмечено в TECH)
Этап 8 — Security headers
- 📋 CSP, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, HSTS — цель грейд A на securityheaders.com
Этап 9 — Доступность WCAG 2.2 AA
- 📋 Все
<img>с alt (смысловые — описательный, декоративные — пустой),<iframe>с title - 📋 Все
<button>с type; кликабельные элементы — настоящие button/a (не<div>), либо role+tabindex - 📋 Контраст ≥ 4.5:1; видимый фокус; порядок табуляции = визуальному
- 📋 Skip-link; управление фокусом; формы с
<label for> - 📋 Модалки (запись на занятие):
role=dialog,aria-modal, focus-trap, ESC, возврат фокуса - 📋 Дизайн неприкосновенен — правки визуально-идентичны (aria-label вместо ломки макета)
Этап 10 — Цикл аудитора (обязательный, до STATUS: CLEAN)
- 📋 Health-gate: поднять preview-сервер перед проверками
- 📋 Lighthouse CI: Performance ≥ 90 mobile, A11y ≥ 95, SEO ≥ 95, Best Practices ≥ 90
- 📋 axe-core: 0 critical/serious
- 📋 Валидаторы: Schema (JSON-LD), HTML, битые ссылки (linkinator)
- 📋 Custom-audit: img без alt, iframe без title, button без type, кликабельные div, пропуски заголовков, JSON-LD с undefined, инфра-файлы
- 📋 Матрица валидации инфра-файлов (robots/sitemap/manifest) до нуля FAIL
- 📋 Отчёты
docs/SEO-AUDITS/audit-NN_YYYY-MM-DD/AUDIT_iter_N.md; крутить до 2 чистых прогонов подряд - 📋
AUDIT_FINAL.mdсоSTATUS: CLEAN+ раздел «Вне зоны скила» (контент/ссылки/авторитет)
Этап 11 — Аналитика и регистрация (RU-специфика)
- 🚧 Яндекс Метрика — счётчик 101288772 (унаследован со старого сайта) интегрирован, рендерится только на проде (DEBUG=0); осталось: проверить после запуска прода. Вебмастер (подтвердить, sitemap, ИКС) — далее
- 📋 Google Search Console + Analytics
- 📋 Яндекс Бизнес: карточки обоих филиалов (захват брендового кластера «практика», 558+ гео) — заменяет Google Business в РФ
- 📋 2ГИС: оба филиала (критично для услугового бизнеса)
- 📋 Отзовики (Zoon/Flamp) — влияют на ИКС
- 📋 Отслеживание AI-трафика (chatgpt.com, perplexity.ai, claude.ai, gemini, copilot)
- 📋 Чеклист через 4 недели: impressions, индексация sitemap, Web Vitals зелёные, AI-трафик ненулевой
- 📋 Анализ конкурента Yogi Room (40 гео)
✍️ Блог: движок и 50 статей
- 📋 Движок блога: рубрики, статья с FAQ-schema, блок «3 связанные статьи», CTA на пробное
Кластер А — Начинающим
- 📋 Статья 1: Что такое йога простыми словами: суть, мифы и с чего начать
- 📋 Статья 2: Йога для начинающих: с чего начать и как подготовиться к первому занятию
- 📋 Статья 3: Как проходит первое занятие йогой: этикет, форма одежды, что взять
- 📋 Статья 4: Заниматься йогой дома или в студии: честное сравнение
- 📋 Статья 5: Позы йоги для начинающих: 15 базовых асан с фото
- 📋 Статья 6: Сколько раз в неделю заниматься йогой: план для новичка
- 📋 Статья 7: Утренняя или вечерняя йога: какое время выбрать
- 📋 Статья 8: Йога — это спорт? Чем практика отличается от фитнеса
- 📋 Статья 9: Противопоказания к йоге: когда практиковать нельзя
- 📋 Статья 10: 10 частых ошибок начинающих в йоге
Кластер Б — Виды и направления
- 📋 Статья 11: Виды йоги: полный гид по направлениям
- 📋 Статья 12: Какую йогу выбрать: тест-гид для новичка
- 📋 Статья 13: Хатха-йога: что это такое простыми словами
- 📋 Статья 14: Чем хатха-йога отличается от других направлений
- 📋 Статья 15: Кундалини-йога: что это и как проходят занятия
- 📋 Статья 16: Аштанга-йога: что это, первая серия и кому подходит
- 📋 Статья 17: Виньяса-флоу: динамичная йога в потоке дыхания
- 📋 Статья 18: Йога Айенгара: точность, пропсы и терапевтический эффект
- 📋 Статья 19: Инь-йога: практика глубокого расслабления
- 📋 Статья 20: Чем отличаются виды йоги: сравнительная таблица
Кластер В — Асаны
- 📋 Статья 21: Асаны в йоге: что это такое и как они устроены
- 📋 Статья 22: Названия асан на русском: словарь поз с картинками
- 📋 Статья 23: Поза собаки мордой вниз: техника, польза, ошибки
- 📋 Статья 24: Перевёрнутые асаны: польза, противопоказания, безопасность
- 📋 Статья 25: Поза плуга (халасана): польза и вред
- 📋 Статья 26: Асаны стоя и сидя: базовые положения
- 📋 Статья 27: Асаны для раскрытия таза: голубь, гирлянда, лотос
- 📋 Статья 28: Шавасана: почему «поза трупа» — самая важная асана
Кластер Г — Пранаяма и дыхание
- 📋 Статья 29: Пранаяма: дыхательные техники йоги для начинающих
- 📋 Статья 30: Нади шодхана: попеременное дыхание для баланса
- 📋 Статья 31: Капалабхати: «дыхание огня» — техника и эффекты
- 📋 Статья 32: Бхастрика: энергизирующее дыхание — пошаговая техника
- 📋 Статья 33: Уджайи: дыхание океана для виньясы и аштанги
- 📋 Статья 34: Виды дыхания в йоге: какие пранаямы бывают
- 📋 Статья 35: Дыхательные практики против стресса: 5 техник
Кластер Д — Спина и здоровье
- 📋 Статья 36: Йога для спины: комплекс для здорового позвоночника
- 📋 Статья 37: Йога при болях в спине: что можно и что нельзя
- 📋 Статья 38: Йога для укрепления мышц спины: 10 асан
- 📋 Статья 39: Йога для шеи и плеч: снимаем офисное напряжение
- 📋 Статья 40: Йога для осанки: выпрямляемся без корсетов
- 📋 Статья 41: Йогатерапия: как йога работает в восстановительном режиме
- 📋 Статья 42: Польза йоги для организма: что говорит наука
- 📋 Статья 43: Йога для похудения: работает ли и как практиковать
Кластер Е — Женское здоровье и возраст
- 📋 Статья 44: Йога для женщин: польза для тела и гормонального баланса
- 📋 Статья 45: Йога для беременных: безопасная практика по триместрам
- 📋 Статья 46: Йога после 50: с чего начать и какая польза
- 📋 Статья 47: Йога для детей: зачем ребёнку практика
- 📋 Статья 48: Йога для мужчин: почему практика — не только «для девочек»
Кластер Ж — Медитация и расслабление
- 📋 Статья 49: Йога-нидра: расслабление, которое заменяет сон
- 📋 Статья 50: Медитация для начинающих: простые практики
Резерв
- 💡 Статья 51: Как выбрать коврик для йоги (9 гео — поднять при первой возможности)
- 💡 Статья 52: Что надеть на йогу: гид по одежде
- 💡 Статья 53: Гвоздестояние: что это и как подготовиться
- 💡 Статья 54: Йога в гамаках: польза аэройоги
- 💡 Статья 55: Гормональная йога: что это такое
📦 Перенос контента
- ✅ Тексты старого сайта извлечены в docs/MATERIALS/texts (2026-06-09)
- ✅ 322 фото извлечены в docs/MATERIALS/photos (2026-06-09)
- 📋 Актуализация у заказчицы: тарифы, направления (каталог из 14), тренеры, коктейль-филиал
- 📋 Отбор и оптимизация фото (WebP, SEO-имена, alt) по страницам
- 📋 Тексты направлений: 14 описаний по ключам (+FAQ на каждую)
- 📋 Описания 17 тренеров (по данным заказчицы)
- 📋 Google-календари расписания: получить ID у заказчицы, встроить
🚀 Запуск
- 📋 Кросс-браузерная и мобильная проверка (375/768/1024/1440)
- 📋 Скорость: Lighthouse ≥ 90 на мобайле (бюджет CPU Host-0!)
- 📋 Прод-деплой на reg.ru + переключение DNS yoga-che.ru
- 📋 Проверка всех старых URL после переезда (200, не 404)
- 📋 Передача админки владелице + мини-инструкция со скриншотами
🚫 Отклонено (решения заказчицы, 2026-06-10)
- 🚫 Йога-туры, ретриты, выездные программы — не проводятся
- 🚫 Обучение тренеров (Teacher Training) — не наш формат
- 🚫 Реклама массажа и смежных услуг — массажисты на аренде
- 🚫 Корпоративная йога / B2B — формат больших клубов
- 🚫 Перенос движка Bitrix — строим заново