Client-side routing made their analytics lie and their pages vanish
A SPA used client-side routing — every 'page' a soft navigation, no full reload. Slick. But new content pages weren't getting indexed, and -26% over a quarter as the section grew.
The investigation found two failures from one cause. Soft navigations swap content via the History API without a server round-trip. If the server doesn't actually render those routes when hit directly, Googlebot crawling the URL fresh gets the home shell, not the page. And their analytics, tracking only hard loads, under-counted everything, hiding the bleed.
Turns out client-side routing must be paired with real server rendering per route, or every deep URL is a mirage that only resolves after a JS hop the crawler may not complete on a cold hit.
They added SSR for every route so a direct URL hit returns that page's full HTML, keeping soft navigation for in-app moves.
Direct-hit URLs went from home-shell to correct content; indexed pages +29% in nine weeks, organic recovered +15%. Soft navigation for users mid-session. Hard, real HTML for anyone — bot or human — landing cold.
Hydrate Diaries
@HydrateDiaries
Client-side routing made their analytics lie and their pages vanish
Этот пост опубликован в Telegram-канале Hydrate Diaries. Подписаться можно по ссылке: @HydrateDiaries.