16 KiB
servaki.online — расширение лендинга
Подготовлено и опубликовано 28 сентября 2026 на существующем Beget-хостинге infogypa. Сертификат Let's Encrypt перевыпущен: при проверке 28 сентября HTTPS прошёл стандартную проверку цепочки, срок действия нового сертификата — до 27 декабря 2026, 12:31 UTC.
Состав
- Главная с 12 тематическими иллюстрациями под описаниями карточек и ссылками на профильные страницы.
- 12 статей-лендингов: 3 подхода, 6 услуг, 3 отрасли. 3525 слов основного содержания с FAQ.
- Каталоги
/approach/,/services/,/industries/. - Автор, дата, хлебные крошки, оглавления, связанные материалы, контакты.
- Уникальные title/description/canonical, Open Graph, Article/Service/FAQPage/BreadcrumbList, sitemap, robots.
- 12 тематических AI-иллюстраций для карточек главной и 12 тёплых фотореалистичных AI-изображений для внутренних страниц, с WebP-версиями 480/960/1536 px. У каждой статьи своё изображение и подпись о том, что оно создано ИИ без данных и фотографий клиентов.
- На страницах услуг — конкретные пояснения о согласовании доступа, ограничении видимости данных и бережной работе в действующем офисе или на объекте. Это описание подхода, а не обещание абсолютной безопасности.
- На четырёх тёплых иллюстративных фото уточнены надписи: «ГОСТЕВОЙ ДОМ» и «КАФЕ» на вывесках, «СЕРВАКИ» на одежде специалистов. Написание проверено на полном размере и в WebP. Исходные и отредактированные PNG хранятся отдельно; для новых файлов используется суффикс
-ru, чтобы браузер не показывал старую закешированную версию. - В тексте каждой из 12 статей — тематическая схема работы оборудования: индикаторы приборов и движение сигнала между ними. Схемы состоят из компактных SVG и CSS, не загружают GIF или видео. При настройке «уменьшить движение» индикаторы и путь остаются статичными.
- На 12 иллюстрациях карточек главной, в каталогах и блоках связанных решений поверх WebP добавлены короткие маршруты сигнала и индикаторы работы оборудования. Они не содержат данных клиентов. Анимация включается только при появлении карточки на экране и выключается при настройке «уменьшить движение»; изображение остаётся доступным без JavaScript. Общий вес новых CSS и JS — 2 404 байта. Самая тяжёлая иллюстрация: 37,1 КБ при 480 px, 116,7 КБ при 960 px и 236,2 КБ при 1536 px.
- Описания под всеми 12 карточками главной переписаны: задача клиента, способ работы и результат; условия отклика указаны без обещания устранить любой сбой за 15 минут. У трёх каталогов и главной — отдельные поисковые описания.
Просмотр и сборка
Текущий предпросмотр: http://127.0.0.1:5186/ . Использовать HTTP-сервер, не открывать index.html как file://: пути начинаются от корня сайта.
Python 3.12+, зависимости в requirements.txt: Pillow для экспорта изображений, Paramiko для SFTP и cryptography для проверки сертификата. HTML генерируется стандартной библиотекой, Node и npm для этой сборки не нужны.
python -m pip install -r requirements.txt
python prepare_images.py
python prepare_photos.py
python build.py
python -m http.server 5186 --bind 127.0.0.1 --directory public
python verify.py
content/pages.json — тексты; content/card-copy.json — тексты карточек; content/flow-scenes.json — подписи и оборудование для анимированных схем; content/image-motion.json — иллюстративные маршруты сигнала на карточках; content/image-prompts.json и content/photo-prompts.json — промпты исходной генерации; content/photo-edit-prompts.json — точные русские надписи и промпты локализации; content/photo-alt.json и content/privacy-notes.json — описания фото и редакционные пояснения; artwork/ — оригиналы и отредактированные фото; assets/ — CSS, JS и WebP; public/ — готовый сайт; reference/original.html — сохранённая исходная главная.
Фактическая основа
Внутренние заметки используются только как подтверждение исторического инженерного опыта, без имён заказчиков, адресов, паролей и топологии:
- fleet-vault/daily/2026-09-28-antosha-fleet-traffic-audit.md — диагностика туннелей по реальному трафику, сохранение настроек и проверка зависимостей.
- fleet-vault/memory/vesovaya-bitarov-most-remzona-2026-07-21.md — обследование связи весовой и ремонтной зоны, сопоставление доступности и uptime.
- fleet-vault/memory/mpo-inform-site-2026-07-01.md — работа со схемами камер и СКУД, необходимость отделять условные модели от точных монтажных данных.
- fleet-vault/projects/controllers-energy-digest-bot.md — Wiren Board/MQTT, показатели энергии, существующие сценарии и отдельно запланированные функции.
- fleet-vault/inventory/fleet-hosts.md — опыт серверной виртуализации и контейнеров. Наличие каждого старого сервиса сейчас не заявляется.
Для HoReCa описана применимость сетевого и серверного опыта, не придуманы гостиничные кейсы, отзывы, гарантированные результаты или количество клиентов. 28 сентября 2026 по прямому указанию владельца цены трёх тарифов увеличены втрое: «Старт» — 9 000 ₽/мес., «Бизнес» — 21 000 ₽/мес., «Премиум» — 45 000 ₽/мес. Состав тарифов не менялся; отклик и срок устранения разделены.
SEO и ИИ-поиск
Основа: доступный HTML-текст, нормальная внутренняя навигация, точные описания, вопросы и ответы, изображения и соответствующая видимому тексту разметка. Специальный файл llms.txt не нужен для показа в AI-функциях Google и не представлен как условие индексации или гарантия цитирования.
Источники: https://developers.google.com/search/docs/appearance/ai-features и https://developers.google.com/search/docs/appearance/snippet . Попадание в индекс и ответы ИИ не гарантируется. FAQ-разметка описывает видимый FAQ, не обещает расширенный сниппет.
Проверки
verification.json: 16 HTML-страниц локально HTTP 200, побайтная сверка, уникальные title и description, H1, JSON-LD, все внутренние ссылки/якоря и изображения, 16 адресов sitemap. На 12 статьях проверены схемы с тремя приборами и двумя путями сигнала; мобильные фото весят не более 38,7 КБ, общий CSS — 12,6 КБ. Отрицательный контроль: намеренно сломанная ссылка на изображение обнаруживается.
live-verification.json: 21 публичный URL отдал 200 и байт-в-байт совпал со сборкой. Старый сертификат истёк 17.09.2026, заявка на бесплатный перевыпуск принята панелью Beget 28.09.2026. Повторная проверка в тот же день подтвердила действующий сертификат с окончанием срока 27.12.2026, 12:31 UTC. Диагностический скрипт отдельно проверяет HTTPS стандартной цепочкой доверия.
Выпуск анимации 28.09.2026: локальная проверка подтвердила 12 анимированных иллюстраций, 16 доступных HTML-страниц, лимиты размеров WebP и неизменные цены. В Chrome проверены каталоги при ширине 1280 и 500 px, а также режим «уменьшить движение». Скрипт deploy_beget.py update-motion перед заменой сравнивает все файлы предыдущего выпуска с боевым сайтом и сохраняет изменяемые HTML вне публичного каталога.
Выпуск русских надписей 28.09.2026: четыре фото получили версионированные файлы photo-*-ru-{480,960,1536}.webp; заменены только четыре профильные статьи, исходные WebP сохранены для отката. Перед загрузкой 100 файлов прежнего выпуска сверены с Beget, после неё 27 публичных адресов побайтно совпали со сборкой, TLS действителен. Предыдущие HTML сохранены вне webroot в /home/i/infogypa/servaki.online/backup-2026-09-28-before-russian-photos/. Все 289 исходных и готовых файлов с проверенными SHA-256 сохранены в Яндекс Диске servaki.online/лендинги/servaki.online site/2026-09-28-russian-image-text/; облачная синхронизация отдельно не подтверждена.
Браузер: главная и статья на обычном экране и 390×844; горизонтального переполнения нет, responsive images загружаются, оглавление и FAQ работают. Анимированная схема сети визуально проверена на 1280 px и в мобильном окне 390 px: устройства выстраиваются вертикально, путь сигнала сохраняется. Исходная форма на главной остаётся демонстрационной; все новые CTA ведут прямо в Telegram или на телефон, сообщения автоматически не отправлялись.
Публикация и откат
- Боевой каталог подтверждён по SFTP:
/home/i/infogypa/servaki.online/public_html. Перед публикацией егоindex.htmlпобайтно совпал сreference/original.html; новые каталогиapproach,services,industries,assets/editorialотсутствовали. Семь прежних изображений вimg/совпали с исходными и не перезаписывались. deploy_beget.py auditсохранил изменяемые исходные файлы вrelease-backups/2026-09-28-before-landing/; дубликат главной размещён на Beget вне публичного каталога:/home/i/infogypa/servaki.online/backup-2026-09-28-before-landing/.deploy_beget.py deployзагрузил и сверил SHA-256 всех 98 файлов. Сначала были загружены графика и внутренние страницы, главная заменена последней. Скрипт фиксирует SSH-отпечаток хостинга и не перезаписывает посторонние файлы.deploy_beget.py repriceменяет только главную: перед загрузкой проверяет, что шесть изменений касаются исключительно трёх видимых цен и трёх цен в JSON-LD. Предыдущая главная сохраняется локально вrelease-backups/2026-09-28-before-tripled-prices/и на Beget вне публичного каталога вbackup-2026-09-28-before-tripled-prices/..htaccess, DNS, почта и другие сайты не менялись. Исходный репозиторий сайта —german/site-servaki-onlineв Gitea; вservaki-monitorесть чужие незакоммиченные изменения, они не затрагивались. Публикация выполнялась напрямую на существующий Beget-хостинг, без автоматического деплоя из Gitea.- Для отката вернуть из резервной копии прежний
index.html; у нового релиза были добавленыrobots.txt,sitemap.xmlи каталогиapproach,services,industries,assets/editorial. Удалять общие каталогиimgи другие сайты нельзя.
Хранение генераций на Яндекс Диске
По указанию владельца все результаты генерации для сайта сохраняются также в папке Яндекс Диска соответствующего выпуска: исходные изображения и варианты, промпты и манифесты, оптимизированные медиа и готовая сборка. Для выпуска 28.09.2026 архив находится в D:\YandexDisk\servaki.online\лендинги\servaki.online site\2026-09-28-landing-generations\: 251 файл, 173 297 271 байт. MANIFEST.json содержит SHA-256 каждого файла и связи исходных генераций с сохранёнными оригиналами; все файлы после копирования сверены повторно.
Для следующих выпусков запустить save_generations_yadisk.py сначала в режиме плана, затем с --copy, указав --raw-dir папки текущего генератора и новый --target внутри servaki.online site. Скрипт не заменяет существующий файл с отличающейся контрольной суммой. Копирование в локальную папку Яндекс Диска проверено; статус облачной синхронизации следует проверять отдельно в клиенте Яндекс Диска.