diff --git a/.forgejo/workflows/deploy-tradein.yml b/.forgejo/workflows/deploy-tradein.yml index 9282b3fa..99fda74f 100644 --- a/.forgejo/workflows/deploy-tradein.yml +++ b/.forgejo/workflows/deploy-tradein.yml @@ -511,21 +511,24 @@ jobs: # NEXT_PUBLIC_APP_VERSION/BUILD_SHA/BUILD_DATE — build-time (Next.js # инлайнит NEXT_PUBLIC_* в статику, runtime env их не подхватит, # см. frontend/Dockerfile комментарий у соответствующих ARG). - # NEXT_PUBLIC_YM_ID/GA_ID/YANDEX_VERIFICATION/GOOGLE_VERIFICATION — - # ПОКА ПУСТЫЕ: владелец ещё не завёл счётчики Метрики/GA4 и - # мета-теги верификации поисковых консолей. Пустая строка = скрипт - # счётчика НЕ рендерится вообще (контракт фронта, см. тот же - # Dockerfile-комментарий). Когда номера появятся — вписать - # литералом сюда И в retry-блок ниже (оба обязательны, иначе - # ретрай без кеша уедет без счётчика), и это ТРЕБУЕТ пересборки - # образа (build-time bake, не runtime-правка на проде). + # NEXT_PUBLIC_YM_ID — счётчик Яндекс.Метрики публичного контура, + # заведён владельцем 15.09.2026. Литерал, а не secret: номер + # счётчика и так уходит в разметку каждой страницы, прятать нечего, + # а secret'ом его нельзя проверить глазами в диффе. + # NEXT_PUBLIC_GA_ID/YANDEX_VERIFICATION/GOOGLE_VERIFICATION — + # ПОКА ПУСТЫЕ: ресурс GA4 и права в поисковых консолях ещё не + # заведены. Пустая строка = соответствующий тег НЕ рендерится + # вообще (контракт фронта, см. тот же Dockerfile-комментарий). + # ЛЮБОЕ из этих значений вписывать литералом СЮДА И в retry-блок + # ниже — оба обязательны, иначе ретрай без кеша уедет без счётчика. + # Требует пересборки образа: build-time bake, не runtime-правка. build-args: | NEXT_PUBLIC_BASE_PATH=/trade-in NEXT_PUBLIC_API_BASE_URL=/trade-in NEXT_PUBLIC_APP_VERSION=${{ needs.changes.outputs.app_version }} NEXT_PUBLIC_BUILD_SHA=${{ needs.changes.outputs.build_sha }} NEXT_PUBLIC_BUILD_DATE=${{ needs.changes.outputs.build_date }} - NEXT_PUBLIC_YM_ID= + NEXT_PUBLIC_YM_ID=112563104 NEXT_PUBLIC_GA_ID= NEXT_PUBLIC_YANDEX_VERIFICATION= NEXT_PUBLIC_GOOGLE_VERIFICATION= @@ -552,7 +555,7 @@ jobs: NEXT_PUBLIC_APP_VERSION=${{ needs.changes.outputs.app_version }} NEXT_PUBLIC_BUILD_SHA=${{ needs.changes.outputs.build_sha }} NEXT_PUBLIC_BUILD_DATE=${{ needs.changes.outputs.build_date }} - NEXT_PUBLIC_YM_ID= + NEXT_PUBLIC_YM_ID=112563104 NEXT_PUBLIC_GA_ID= NEXT_PUBLIC_YANDEX_VERIFICATION= NEXT_PUBLIC_GOOGLE_VERIFICATION= diff --git a/tradein-mvp/frontend/src/app/mera-public/_components/AnalyticsScripts.tsx b/tradein-mvp/frontend/src/app/mera-public/_components/AnalyticsScripts.tsx index 49faa074..cf424ded 100644 --- a/tradein-mvp/frontend/src/app/mera-public/_components/AnalyticsScripts.tsx +++ b/tradein-mvp/frontend/src/app/mera-public/_components/AnalyticsScripts.tsx @@ -86,6 +86,10 @@ export function AnalyticsScripts() { (1) отдельная фраза про запись действий в п. 9.1 `privacy/page.tsx`, (2) маскировка полей ввода адреса и телефона через `ym-hide-content` / `data-ym-disable-keys`. */} + {/* `ssr:true` — страницы публичного контура рендерятся на сервере, + и без этого флага Метрика считает первый хит по состоянию DOM на + момент гидратации, а не по отданной сервером разметке. Флаг + выставлен и в самом счётчике на стороне Метрики. */}