Hydrate Diaries
Hydrate Diaries
@HydrateDiaries

The staging flag that shipped to production

The staging flag that shipped to production

A travel startup launched its rebuilt site and got crickets from Google for six weeks. The team assumed it was the normal post-migration dip and waited it out. It wasn't normal.

The data: not slow indexing — zero. Not one of 3,000 pages entered the index. Rendered HTML came back as a single line: a loading spinner.

The investigation found a feature flag. The new app shipped with a server-side rendering toggle wired to an environment variable, defaulting to client-only rendering when a certain flag wasn't set. Staging had the flag; production's deploy config didn't. So production served a bare shell and rendered everything client-side — fine for users on fast devices, fatal for the crawler that timed out before the spinner resolved.

Turns out a single missing environment variable can silently downgrade your entire site to client-only rendering, and nobody notices because humans don't see spinners for long.

The fix: set the SSR flag in production config and add a deploy assertion that the homepage's server HTML contains real content, not a spinner.

Result: 0 indexed became 2,900+ in five weeks once real HTML started shipping. The whole outage was one unset variable.
Этот пост опубликован в Telegram-канале Hydrate Diaries. Подписаться можно по ссылке: @HydrateDiaries.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.