Making a client-side rendered SPA discoverable by Google
The problem. At Hemavi, a matchmaking platform's listing pages were client-side-rendered, so crawlers saw an empty shell and pages weren't showing up in Google search.
What I built. Split the fix by how often each page's content changed. Marketing and listing pages, which update frequently, moved to server-side rendering so the page arrives fully rendered with real content on first load, for crawlers and for faster perceived load. Pages that rarely change were switched to static generation at build time instead of per-request rendering, cutting server load and giving near-instant load times on those pages.
A decision worth noting. Matched rendering strategy to content volatility instead of applying server-side rendering everywhere: SSR where content changes often, static generation where it doesn't. The harder part was the diagnosis, not the fix: recognizing that client-side rendering makes a page invisible to crawlers, not just slow.
The outcome. Indexing took a few weeks to show up, as expected since SEO isn’t instant. Within a month, organic traffic to those pages was up 80%.