Where they started
The product was good and the site was invisible. It had been built in Lovable as a single React SPA: marketing pages, docs and app all shipped as one client-rendered bundle. When we pulled the rendered HTML with JavaScript disabled, the homepage was a single empty <div id="root">. Google had three URLs indexed, all thin, and the AI crawlers we tested (which don’t execute JS) got nothing at all. Traffic sat under 100 visits a month against a category buyers actively search: “how to auto-schedule meetings”, “[tool] alternative”, “AI calendar for teams”. DR was 12 and 40 keywords ranked, mostly the brand name.
What we did
- Rebuilt the marketing site and docs as server-rendered pages. We moved everything outside the login wall onto pre-rendered HTML so crawlers get real content, not an empty root div. This is what took indexed pages from 3 to 180+.
- Left the app itself untouched behind login. The interactive product never needed to be crawlable, so we didn’t rewrite it; we just stopped it from being the whole website.
- Mapped every new page to a query buyers actually type. Problem-aware (“stop double-booking”), comparison (“alternative to X”) and use-case pages, so the newly-crawlable pages had somewhere to rank instead of just existing.
- Built 25 links from developer and productivity outlets. Enough authority for a DR-12 domain to compete, without pretending a nine-month-old startup earns links like an incumbent.
The curve tells the honest story: nearly flat for two months while Google discovered and indexed the new pages, then a steep climb as they started ranking. The growth is real because the starting point was near zero. Fewer than 100 visits to 9,000 is a big multiple, but on an almost non-existent base. Nothing here was a meta-tag fix; the pages simply hadn’t existed for a search engine to read, and now they do.