Repository navigation
Landing Site
Статический маркетинговый лендинг ai-sekretar24.ru/ — отдельный от админки и мобильного приложения. Без фреймворка, hand-written HTML/CSS/JS с i18n.
site/
├── index.html # RU (canonical)
├── en/index.html # English
├── kk/index.html # Қазақша (бренд → «Хатшы24»)
├── main.js # burger-меню, biltoggle, лид-форма
├── styles.css # ~800 строк, без фреймворка
├── favicon.svg
├── og-image.svg # OG-баннер RU (placeholder)
├── en/og-image.svg # OG-баннер EN
├── kk/og-image.svg # OG-баннер KZ
├── og-image.prompt.md # промпт для генерации фото-PNG
├── llms.txt # AEO: индекс сайта для AI-краулеров
├── llms-full.txt # AEO: расширенное описание для LLM
├── robots.txt # явно allow GPTBot/ClaudeBot/PerplexityBot и др.
└── sitemap.xml # три hreflang-альтернативы
Бренд имеет разное имя в каждой локали:
| Локаль | Бренд | Где |
|---|---|---|
| RU | Секретарь24 | основной |
| EN | Sekretar24 | фонетическая транслитерация |
| KZ | Хатшы24 | «хатшы» = секретарь по-казахски |
JSON-LD в KZ-версии содержит "alternateName": ["Секретарь24", "Sekretar24", "AI Secretary System"] — чтобы поисковики и AI-краулеры понимали, что это один бренд под разными именами.
Каждая локаль имеет собственный og-image.svg с локализованным текстом и слоганом — Telegram/Facebook/LinkedIn рендерят правильный баннер при шаринге.
Домен ai-sekretar24.ru НЕ локализуется — это единая точка входа.
При первом визите на / JS-сниппет в <head> проверяет navigator.language и редиректит:
- начинается с
en→/en/ - начинается с
kkилиkz→/kk/ - иначе → остаётся на
/
После явного выбора языка (через переключатель в шапке) запоминает выбор в localStorage.s24_lang — повторного редиректа не будет.
- Hero — мгновенный value-proposition «звонки/чаты/заявки 24/7», 5-минутный запуск
- Проблема → Решение — три pain-points, мост к Секретарь24
- Роли — 8 готовых AI-сотрудников (колл-центр, юрист, бухгалтер, sales и т.д.)
- Возможности — 7 фиче-карточек, первая выделена «Лучший ИИ — Claude»
- vs обычный чат-бот — citable-таблица сравнения (для AEO)
- Open-source · MIT — три карточки: GitHub / Wiki / установка под ключ 5000₽
- Демо-чат — статический мокап диалога
- 📱 Android-приложение — APK CTA с мокапом телефона, см. Mobile-App
- Тарифы — Старт 2900 ₽ / Бизнес 12900 ₽ / Команда 29900 ₽ + Enterprise
- После триала — переход Claude → free OpenRouter chain (см. Cloud-LLM-Providers)
-
FAQ — 10 Q&A, синхронны с
FAQPageJSON-LD schema - CTA-финал — две карточки: DIY бесплатно (GitHub + Wiki) / 5000₽ под ключ
В <head> каждой страницы три JSON-LD блока:
- Organization — название, лого, sameAs (Telegram + GitHub)
- SoftwareApplication — license MIT, codeRepository, 5 offers (self-hosted free / turnkey 5000₽ / 3 тарифа), aggregateRating
- BreadcrumbList — главная → возможности → тарифы
- FAQPage — 10 Q&A, дословно совпадают с видимым FAQ (Google AI Overview берёт ответы оттуда)
Чтобы ChatGPT search / Claude / Perplexity / Google AI Overview рекомендовали проект:
-
/llms.txt— структура сайта по стандарту Anthropic: описание, факты, ссылки на разделы -
/llms-full.txt— расширенная версия: тарифы, архитектура, технический стек -
/robots.txt— явно разрешены:GPTBot,ClaudeBot,anthropic-ai,PerplexityBot,Google-Extended,CCBot,Bytespider
В <head> есть закомментированные плейсхолдеры для:
<meta name="google-site-verification" content="…" /><meta name="yandex-verification" content="…" />
Заполнить после регистрации сайта в Google Search Console и Яндекс.Вебмастере.
В site/og-image.prompt.md лежит промпт для Midjourney/DALL-E/Reve — фотореалистичный портрет (брюнетка в белой блузке + офисный фон, левые 35% под наложение текста, 1200×630, PNG). Пока используются SVG-плейсхолдеры (брэнд-лого + слоган + чипы каналов).
Когда фото-PNG готов:
- положить в
site/og-image.png(RU),site/en/og-image.png,site/kk/og-image.png - в трёх
index.htmlзаменитьog-image.svg→og-image.pngв meta-тегах OG/Twitter
Лендинг НЕ обслуживается через deploy.sh (это известный issue #786).
Деплой выполняется отдельным rsync:
ssh ai-server 'rsync -av --delete /opt/ai-secretary/site/ /var/www/landing-ai-sekretar24/'После rsync — изменения видны сразу, без рестарта nginx.
/etc/nginx/sites-enabled/ai-sekretar24 обслуживает домен ai-sekretar24.ru. Ключевые особенности:
root /var/www/admin-ai-sekretar24; # legacy default ("Vue SPA — same build as admin subdomain")
# Лендинг — exact-match локации с явным root
location = / { root /var/www/landing-ai-sekretar24; try_files /index.html =404;
add_header Cache-Control "no-cache, no-store, must-revalidate" always; }
location = /en/ { root /var/www/landing-ai-sekretar24; try_files /en/index.html =404;
add_header Cache-Control "no-cache, no-store, must-revalidate" always; }
location = /kk/ { root /var/www/landing-ai-sekretar24; try_files /kk/index.html =404;
add_header Cache-Control "no-cache, no-store, must-revalidate" always; }
location = /styles.css { root /var/www/landing-ai-sekretar24; expires 7d; }
location = /main.js { root /var/www/landing-ai-sekretar24; expires 7d; }
location = /llms.txt { root /var/www/landing-ai-sekretar24; add_header Cache-Control "no-cache" always; }
# ...og-image.svg, favicon.svg, robots.txt, sitemap.xml тоже exact-match-
sites-enabled/ai-sekretar24— НЕ симлинк наsites-available. Это разные файлы. Правки вsites-availableни на что не влияют. Редактируй толькоsites-enabledнапрямую. -
При добавлении нового файла в
site/ДОБАВЬ exact-matchlocation = /<path>в nginx-конфиг, иначе файл попадёт в SPA-fallback к админке (/var/www/admin-ai-sekretar24/) и отдастся либо как 404, либо как adminindex.html. -
add_header Cache-Controlне наследуется в exact-match локациях из общегоlocation /. Каждой landing-HTML-локации нужен свойadd_headerс флагомalways(безalwaysтеряется при internal redirects типаtry_files → index). -
Бэкапы конфига не клади в
sites-enabled/— nginx грузит оттуда все файлы;.bakвызоветduplicate listen optionsиnginx -tупадёт. Бэкапы — в/root/nginx-backups/.
-
Реальная платёжка для 5000 ₽ — кнопка «Оплатить» сейчас ведёт на
#order-form(лид-форма). Подключить YooMoney / Ozon Pay / Альфа-Банк -
Фотореалистичный og-image.png — пока SVG-плейсхолдеры (см.
site/og-image.prompt.md) - Google + Yandex verification — токены в Search Console / Вебмастере
- Lite-вариант для нового сервера — см. issue #734
- Backlinks для off-site AEO — Habr, vc.ru, ProductHunt
← Home | Mobile-App →