Этап 1b: сайт
- Страницы обоих брендов из блоков Payload (D-029): главная, цены, локации, поддержка, 4 юридические, 404 и 500. Коллекции pages (черновики и версии) и faq с местами показа, 12 типов блоков; поля sites — почта и Telegram поддержки, часы работы, SEO по умолчанию. - Карта и глобус рисуются на сервере (d3-geo), контуры во внешнем SVG через <use>; выбор локации синхронизирован между картой и сеткой. - Тексты сайта и юридические черновики на 5 языках: de, fr, es — перевод с глоссарием; seed создаёт страницы и FAQ, только если их нет, SEED_CONTENT=reset пересоздаёт. - SEO: title и описания, canonical, hreflang с x-default, sitemap.xml и robots.txt на каждый домен, картинки для соцсетей. - Статическая сборка и пересборка через revalidatePath из хуков Payload (D-030); /svc/internal/revalidate для проверки. - 404 — статичная страница со статусом 404 через proxy; на сайте только опубликованные страницы. - Производительность: Client Hints темы Payload только в админке, предзагрузка 2 файлов шрифтов вместо 6; Lighthouse mobile 97–99. - Контраст --ink-3 по WCAG AA, радиокнопки вместо div role=button. - Документация: итоги 1b, глоссарий de/fr/es, трактовки юридических черновиков подтверждены, переносимые вопросы — в этапах 3e–3h. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
515acfb69d
commit
20491d1ba4
134 files changed
+11232
-212
No files matched your search
@@ -1,6 +1,6 @@
|
||||
# Этап 1b. Сайт
|
||||
|
||||
Статус: в работе.
|
||||
Статус: готово.
|
||||
|
||||
## 1. Цель
|
||||
|
||||
@@ -46,3 +46,17 @@ Root: R-19 — сделано.
|
||||
3. Lighthouse mobile ≥ 90 на главной и странице цен обоих брендов.
|
||||
4. Формы проверяют поля и показывают состояние «отправлено».
|
||||
5. `sitemap.xml` и `hreflang` проходят проверку.
|
||||
|
||||
## 7. Итоги (22.10.2026)
|
||||
|
||||
1. Сделано всё из раздела 2. Страницы обоих брендов собраны из 12 типов блоков ([03-data-model.md](../03-data-model.md)), тексты сайта и юридические черновики — на 5 языках.
|
||||
2. Проверки:
|
||||
a. Сверка с макетами по скриншотам: 1280 и 375 px, светлая и тёмная темы. На 320 и 375 px на всех языках нет горизонтальной прокрутки и вылезающего текста.
|
||||
b. Lighthouse mobile на production-сборке через nginx, главная и цены обоих брендов: производительность 97–99, доступность 100, best practices 100, LCP 2,1–2,6 с, CLS 0. SEO на dev-доменах — 66 только из-за `noindex`.
|
||||
c. Пересборка: после правки цены в базе и вызова `revalidatePath` новая цена отдаётся с первого же запроса (0,2 с). Связка «хук Payload → `revalidatePath`» покрыта модульными тестами.
|
||||
d. `sitemap.xml` — 40 адресов на домен (8 страниц × 5 языков), у каждого 5 языковых вариантов и `x-default`.
|
||||
3. Тексты макетов, где говорилось о личном сервере, переписаны про индивидуальный IP на общем сервере (решение 2.2 сверки): «Индивидуальный IP, не общий», «Здесь IP общий» на mass.
|
||||
4. Перенесено:
|
||||
a. Проверка юристом и данные юрлица — 3h, список трактовок — в [stage-3h-launch.md](stage-3h-launch.md), раздел 5.
|
||||
b. Хранение IP в Chatwoot — 3e; ссылка «Настройки cookies» и срок `cw_*` — 3f; журналы Xray для лимита устройств — 3g.
|
||||
c. Вычитка de, fr, es — 3h.
|
||||
@@ -20,3 +20,7 @@ Root: R-12 — Chatwoot на VPS, ключи API, боты поддержки в
|
||||
## 4. Готово, когда
|
||||
|
||||
Сообщения из виджетов, ботов поддержки, почты и формы приходят в Chatwoot с указанием бренда; вошедший пользователь опознан.
|
||||
|
||||
## 5. Учесть из 1b
|
||||
|
||||
1. Chatwoot хранит IP-адреса и данные браузера контактов. Политика конфиденциальности (`src/seed/legal/*/privacy.md`) должна это упоминать, как и страну VPS Chatwoot и Twenty, если она отличается от страны основного сервера.
|
||||
@@ -18,3 +18,8 @@ Root: R-10 — nginx и сертификат для `umi.veilix.cc`, прокс
|
||||
## 4. Готово, когда
|
||||
|
||||
Посещения видны в Umami; без согласия виджет Chatwoot не загружается.
|
||||
|
||||
## 5. Учесть из 1b
|
||||
|
||||
1. Политика cookies обещает ссылку «Настройки cookies» в подвале: она открывает баннер повторно.
|
||||
2. В политике cookies у `cw_*` (Chatwoot) вместо срока хранения заглушка — заполнить по фактической настройке виджета.
|
||||
@@ -12,3 +12,7 @@
|
||||
## 2. Обсудить при старте
|
||||
|
||||
Источник серверов и подключений, способ интеграции, как получать WG-конфиги mass по странам, обработка ошибок выдачи.
|
||||
|
||||
## 3. Учесть из 1b
|
||||
|
||||
1. Если ограничение числа устройств в Xray потребует журналов доступа, это расходится с обещанием «VPN-серверы не ведут журналов» в политике конфиденциальности. Решаем до выбора способа ограничения.
|
||||
@@ -24,3 +24,18 @@ Root: R-11, по желанию R-15 и R-16. Решения: Q-13 (юрлицо
|
||||
1. Основные домены работают по HTTPS, dev и prod разделены.
|
||||
2. Выкладка и откат отрепетированы.
|
||||
3. Восстановление из бэкапа проверено.
|
||||
|
||||
## 5. Учесть из 1b
|
||||
|
||||
1. Трактовки в юридических черновиках. Владелец подтвердил их 22.10.2026, юрист проверяет формулировки:
|
||||
a. 7 дней на возврат считаются с момента выдачи ключа;
|
||||
b. «вы передумали» — возвращаем неиспользованный остаток пропорционально дням от всей суммы за период; у dedicated в неё входит надбавка первого месяца за подготовку адреса;
|
||||
c. после возврата ключ отключается;
|
||||
d. за заблокированный за нарушения ключ возврата нет;
|
||||
e. бонусные дни и дни компенсации не возвращаются деньгами;
|
||||
f. об изменении цены продления предупреждаем заранее;
|
||||
g. ответственность ограничена оплаченным периодом ключа;
|
||||
h. «по нашей вине» описано только примерами;
|
||||
i. `vx_ref` отнесён к обязательным cookies.
|
||||
2. Темы, которых в черновиках нет: вывод баланса, налоги, закрытие локации, рассылки, удаление аккаунта.
|
||||
3. Переводы de, fr, es сделаны без носителей: проверить формулировки, в которых переводчики сомневались (юридические термины GDPR, «as is», место разрешения споров).
|
||||
Reference in new issue
Block a user