mirror of
https://github.com/Ku6epXBOCTuK/easy-png-tools.git
synced 2026-11-13 17:08:20 +00:00
fix: google analytics only on production
This commit is contained in:
@@ -50,6 +50,7 @@ jobs:
|
||||
run: pnpm build
|
||||
env:
|
||||
BASE_PATH: /easy-png-tools
|
||||
PUBLIC_GA_ENABLED: "true"
|
||||
|
||||
- name: Upload Pages artifact
|
||||
uses: actions/upload-pages-artifact@v3
|
||||
|
||||
+2
-3
@@ -127,9 +127,8 @@
|
||||
- [ ] дистрибуция: закрепить репо, alternative.to, Product Hunt, Reddit/HN (S4c)
|
||||
- [ ] GSC: подключить домен, отправить sitemap, мониторинг индексации (S4a)
|
||||
- [ ] GA4: cookieless-конфигурация, отключить рекламные audiences и signals,
|
||||
`anonymize_ip` — сейчас в `web/src/app.html` голый `gtag('config')` (S4b)
|
||||
- [ ] GA4: отсечь попадания с локальных и preview-сборок — тег стоит в
|
||||
prerender-оболочке и грузится на каждой странице, нужен флаг окружения
|
||||
`anonymize_ip` — сейчас в `web/src/routes/+layout.svelte` голый
|
||||
`gtag('config')` (S4b)
|
||||
|
||||
## Платформа (API/PWA)
|
||||
|
||||
|
||||
+4
-3
@@ -280,9 +280,10 @@
|
||||
мониторинг индексации и запросов. Бесплатно и обязательно.
|
||||
- [ ] **[S4b]** Довести GA4 до решения §0: cookieless-конфигурация, отключённые
|
||||
рекламные audiences и signals, `anonymize_ip`, запрет на передачу
|
||||
параметров с данными картинки. Плюс отсечь мусорные попадания:
|
||||
prerender-оболочка грузит тег и на локальных сборках, их нужно отсекать
|
||||
флагом окружения. GA/ЯМ как замена счётчику не рассматриваем.
|
||||
параметров с данными картинки. Мусорные попадания уже отсечены: тег
|
||||
подключается только при `PUBLIC_GA_ENABLED=true` (выставлен в
|
||||
deploy-workflow, `+layout.svelte`). GA/ЯМ как замена счётчику не
|
||||
рассматриваем.
|
||||
- [ ] **[S4c]** Дистрибуция: закрепить GitHub-репо (README со скриншотами),
|
||||
подача на alternative.to (страница против конкурента), Product Hunt,
|
||||
тематические Reddit/HN-треды. Бэклинки — главный дефицит для конкуренции.
|
||||
|
||||
@@ -4,20 +4,6 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name="text-scale" content="scale" />
|
||||
<!-- Google tag (gtag.js) -->
|
||||
<script
|
||||
async
|
||||
src="https://www.googletagmanager.com/gtag/js?id=G-MEQJ7JHRQQ"
|
||||
></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag() {
|
||||
dataLayer.push(arguments);
|
||||
}
|
||||
gtag("js", new Date());
|
||||
|
||||
gtag("config", "G-MEQJ7JHRQQ");
|
||||
</script>
|
||||
<script>
|
||||
(() => {
|
||||
try {
|
||||
|
||||
@@ -31,6 +31,10 @@
|
||||
|
||||
let crumb = $derived(toCrumb(page.url.pathname));
|
||||
|
||||
// GA подключается только в production-деплое: флаг выставляется в
|
||||
// deploy-workflow, локальные и preview-сборки тег не получают.
|
||||
const gaEnabled = import.meta.env.PUBLIC_GA_ENABLED === "true";
|
||||
|
||||
function toCrumb(path: string): string {
|
||||
if (path === "/") return "/ " + t("header.home");
|
||||
if (path === "/list-tools") return "/ " + t("header.catalog");
|
||||
@@ -46,6 +50,13 @@
|
||||
|
||||
<svelte:head>
|
||||
<link rel="icon" href={`${resolve("/")}favicon.svg`} />
|
||||
{#if gaEnabled}
|
||||
<script
|
||||
async
|
||||
src="https://www.googletagmanager.com/gtag/js?id=G-MEQJ7JHRQQ"
|
||||
></script>
|
||||
<script src={`${resolve("/")}ga.js`}></script>
|
||||
{/if}
|
||||
</svelte:head>
|
||||
|
||||
<main class="preview-root" data-theme={theme}>
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag() {
|
||||
window.dataLayer.push(arguments);
|
||||
}
|
||||
gtag("js", new Date());
|
||||
gtag("config", "G-MEQJ7JHRQQ");
|
||||
@@ -11,6 +11,8 @@ const base: "" | `/${string}` =
|
||||
: (`/${rawBase.replace(/^\/+/, "").replace(/\/+$/, "")}` as `/${string}`);
|
||||
|
||||
export default defineConfig({
|
||||
// PUBLIC_* попадают в import.meta.env — флаги окружения вроде GA.
|
||||
envPrefix: ["VITE_", "PUBLIC_"],
|
||||
ssr: {
|
||||
noExternal: ["@lucide/svelte"],
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user