SEO fixes:
- canonical on trump/macro/kol pages now hardcodes /en/ instead of
/${locale}/ — prevents /zh/* routes (i18n shelved, routes still resolve)
from generating duplicate-content signals pointing to /zh/ canonicals
- OG image: "15 KOL feeds" → "19" (matches kol_substack.py KOL_FEEDS count)
- FAQ JSON-LD: corrected API key storage description ("stored encrypted in
your browser's local settings" was wrong — key is server-side encrypted,
not stored in the browser)
GEO (Generative Engine Optimization):
- llms.txt fully rewritten: +full KOL list (all 19 named), +explicit
differentiation section, +who-this-is-for, +technology stack detail
(model names, price sources, DB), +Hyperliquid and isolated-margin
definitions. AI crawlers (Perplexity, ChatGPT, Claude) use this file
directly when answering questions about the product.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Module rename across page H1, navbar tab, URL (/en/btc → /en/macro),
all metadata/JSON-LD, sitemap, llms.txt, opengraph image, and SystemControl
copy. Old /btc route fully removed.
New components/btc/MacroPanel.tsx polls /api/macro/snapshot and lays out
the 8 indicators in four sections (Valuation / Bottom trigger reference /
Market structure / Sentiment & flows / Positioning) with tone-coloured
values, current-band threshold chips, and a single CoinGlass / source
chart link per card. Composite -100..+100 needle pulses on score change.
Also fixes the pinned bottom-reversal alert on the homepage, which still
linked to the now-404 /en/btc — now routes to /en/macro.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>