SEO/analytics audit 2026-09-07: calculate params, GA4 ranking, trust box - #3
Merged
Conversation
…t box - GA4 tool events (calculate/copy_result/preset_click) now carry tool_slug, locale, category via shared toParams() in events.ts; ToolInteractionTracker/ToolFrame pass locale + category. Consent Mode gating in emit() unchanged. - scripts/calculate-ranking.mjs: GA4 Data API report of calculate events by customEvent:tool_slug (last 28 days), SA credentials from env. Requires event-scoped custom dimensions tool_slug/locale/category to be registered in GA4 Admin (documented in README). - TrustBox component for finance/health tools: about, not-advice, sources, last reviewed, methodology link; tool.trust strings added to all 17 locale message files. - Technical SEO audit: no bugs found (robots/sitemap/canonical/hreflang OK on production); ~0 GSC impressions is the deliberate INDEXED_LOCALES/INDEXED_SLUGS pruning policy. /ar/privacy has no redirect/reload loop. Claude-Session: https://claude.ai/code/session_01AcLxcZtf35XLpenzFXTpUC
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Follow-up to the 2026-09-07 audit (GSC impressions ≈ 4 for the whole site).
Technical SEO audit — findings (no code bugs found)
robots index,followall verified live on toolify365.com.INDEXED_LOCALES(7 of 17 locales) insite/src/lib/i18n/locales.tsand theINDEXED_SLUGSallowlist (63 of 223 tools) insite/src/lib/tools/registry.tsmark everything elsenoindexand exclude it from the sitemap (seedocs/RECOVERY_PRUNE_PLAN.md). Re-evaluate the allowlist around 2026-09-15; not reverted here./ar/privacy(1 session / 19 pageviews): no client-side redirect or reload loop (server component, no meta refresh /location.replace; ConsentBanner / PageViewTracker / middleware do not navigate). Most likely a bot or manual reloads. No change.Changes
calculate,copy_result,preset_clicknow carrytool_slug,locale,category(plus legacytool) viatoParams()insite/src/lib/analytics/events.ts. Consent Mode v2 gating inemit()unchanged.site/scripts/calculate-ranking.mjs(npm run report:calculate -- --days 28 --limit 50 [--by category] [--json]). Credentials from env (GA4_PROPERTY_ID+GOOGLE_APPLICATION_CREDENTIALS/GA4_SA_JSON/GA4_SA_EMAIL+GA4_SA_KEY). Not run against live GA4 (no credentials in this session).site/src/components/tools/TrustBox.tsx) on finance/health tools: about, not-advice, sources, last reviewed, methodology link.tool.trust.*strings added to all 17 locale files.Action required after merge
tool_slug,locale,category. The ranking script returns(not set)until this is done and data accumulates from the registration date.Validation
npm run typecheck: pass.npm run audit:i18n/npm run audit:seo: both killed by the 300 s timeout on the NAS mount (esbuild "service was stopped") before producing output. Manual key-parity check of all 17 message files againsten.jsonpassed (0 missing / 0 extra);audit:seoonly inspects tool message files, which are untouched. Full build skipped (>5 min on NAS) — please rely on CI.https://claude.ai/code/session_01AcLxcZtf35XLpenzFXTpUC