The logged-out area isn't a landing page. It's the entire product surface that exists before a user has any reason to trust you — and for most of them, it's the only version of the product they'll ever see.
01 · Context
KTO already had a logged-out state. It worked for what the product was: a single Gatsby.js application that conditionally hid elements when the session was unauthenticated. Not chaos — but not a product either.
The logged-out area covers everything a user sees before login: homepage, casino lobby, sportsbook, games pages, promos, bonus pages, palpites, and every landing page under kto.bet.br. It's the entire top of the acquisition funnel. And it was designed for people who already had accounts.
The question stopped being "how should the homepage look?" and became "how do you build an acquisition surface for users who don't know you yet, when the product was built for users who do?" That's an architecture problem before it's a design problem.
Note: ACE is KTO's design system for the logged-in product. Frontline is the parallel system scoped to the logged-out surface: marketing pages, growth surfaces, content at scale. Two systems, two surfaces, different jobs.
02 · The Problem
The surface problem was SEO. The real problem was who owns this surface and what it's actually for.
The architecture was fighting the channel
Organic search was the third-largest acquisition channel, representing nearly 15% of active users — behind only Direct and Affiliates. But it was sending users to a JavaScript-rendered React app with no semantic content structure, no keyword strategy, and Core Web Vitals scores that Google's ranking algorithm actively penalizes.
Marketing had no autonomy
Any content change — a headline, a promotional block, an SEO text update — had to be scoped as a product ticket, enter the development pipeline, and wait weeks. In a performance marketing environment where speed of iteration is the competitive variable, this was a structural constraint.
There was no acquisition funnel. A user landing from a Google search for "cassino online brasil" hit an interface built for someone who already understood the product. No clear value proposition. No contextual path to registration. The product assumed intent that new users simply didn't have yet.
03 · What We Found
Before any design work, I needed to understand the gap between what the logged-out area was doing and what it needed to do.
Analytics (GA4 + Mixpanel)
Organic search was generating nearly 15% of active users but had no dedicated experience. Mixpanel data on internal search behavior showed that 97.6% of search_opened events came from authenticated users. Logged-out users weren't exploring the product through search at all. They needed orientation, not navigation.
Paid traffic experiments
Landing page tests consistently showed product-specific pages outperforming generic ones for high-intent queries. The Sportsbook page was the clearest winner for sports-related searches; the homepage held for generic brand queries. This pointed toward rich, vertical content pages as SEO targets — not a single homepage trying to capture everything.
Stakeholder interviews
Conversations with the SEO team, performance marketing, and CRM revealed the same friction point from three directions: they all had hypotheses they wanted to test on the logged-out surface and no path to testing them. The bottleneck wasn't ideas — it was access.
Architecture audit
The Gatsby.js platform was built for the logged-in product. Using it for the logged-out surface meant inheriting its constraints: client-side rendering, JavaScript dependency, no CMS layer. Any SEO improvement would be fighting the stack.
The insight that shaped everything: logged-out users and logged-in users are not the same user at different stages — they are fundamentally different users with different needs. Building one product to serve both was the root of every problem.
04 · The Calls We Made
Full decoupling: separate product, separate stack. The logged-out area was rebuilt as a completely separate product — a static WordPress site with no shared codebase with the logged-in platform. Static HTML served from a PHP render is faster to load, simpler to crawl, and produces better Core Web Vitals. WordPress also gave the marketing and SEO teams a CMS they could operate without touching code. Two problems, one architectural decision.
Designing for a CMS also meant designing for content variability, not fixed layouts. Every component had to work across different content lengths, image ratios, and marketing campaigns. That constraint shaped the entire component model.
What was deliberately not built
The logged-in platform has a persistent bottom navigation bar. Replicating it came up early — the product lead pushed back, arguing returning users would feel the absence. The call held: a returning user who lands on the logged-out site should immediately know they're logged out. The visual gap itself is a signal to log in. Replicating the nav would also introduce a permanent feature dependency between two separate codebases where every navigation change would need to ship twice. That's not a resource call. That's a principle about system boundaries.
SEO Header: resolving the hierarchy conflict
Marketing needed the hero section to be a campaign banner. SEO needed an H1 and introductory paragraph at the top for correct semantic markup. Both requirements are valid. Neither is negotiable. The resolution: a dedicated SEO Header block rendered above the carousel — H1 and intro copy in clean semantic HTML first, carousel below, owned entirely by marketing. No duplicate H1s, no hierarchy compromise, no one giving something up.
Promo pages as a separate acquisition layer. Organic users searching for bonus offers don't have accounts yet. A dedicated promo page layer on the logged-out site ranks for bonus-related search terms and drives users toward registration. Marketing stays autonomous on acquisition. CRM stays coupled with the product. Clean separation of concerns.
One early assumption that didn't survive contact with the CMS: the promotional section hierarchy. The first iteration assumed marketing would always have an active campaign. In practice, the absence of one broke the layout. I redesigned the promo components to degrade gracefully — treating the "no active campaign" state as a first-class design scenario, not an edge case.
05 · Results
Organic traffic grew 2× within 8 weeks of launch. Google Analytics shows organic search users growing from a pre-launch baseline of ~20–30K users per week to a peak of ~55K per week by November 2025, driven by Google indexing the new static pages and their improved technical signals.
A traffic correction followed in late November, consistent with a Google algorithm update and post-migration re-indexing volatility. Sessions stabilized back near the pre-launch baseline — but on a fundamentally different technical foundation, with a content strategy in place and a team that can now execute it without waiting.
Registration funnel (Mixpanel)
49,984 — Registration flow started
19,745 — Account created
10,281 — Identity verified (KYC)
~12% — End-to-end conversion
Stakeholder signal
Within months of launch, the Casino product team independently requested a logged-out page revamp — adding search, expanding game coverage, improving content depth. That's a team treating the logged-out area as a roadmapped product, not a maintenance task. Before the rebuild, no one was asking for improvements to it.
Marketing and SEO autonomy: immediate. Content, copy, and campaigns publishable without a dev pipeline. What previously took weeks takes minutes.
06 · What Didn't Work
The November traffic correction was steeper than expected. Better redirect mapping and closer monitoring of indexation signals in the first weeks post-launch would have reduced the volatility. The migration was technically clean — the transition period could have been better instrumented from day one.
07 · What's Next
The Casino team's request for a revamp is the first item on a growing logged-out roadmap: search functionality, expanded game discovery, deeper content per vertical. The infrastructure to support that iteration exists now. That was the point of building it as a real product.
The logged-out area is now a product. It has a team, a CMS, an SEO strategy, and a roadmap. Before the rebuild, it was a state. That was the point.