Hydrate Diaries
Hydrate Diaries
@HydrateDiaries

<b>Half the article indexed. The other half didn't exist to Google.</b>

<b>Half the article indexed. The other half didn't exist to Google.</b>

A recipe publisher migrated to React 18 streaming SSR and watched average position on body-keyword queries slide from 6 to 18. Titles ranked. In-content phrases didn't.

The odd part: view-source showed the full article. So did the live page. Everyone on the team saw complete content.

We tested with a hard network throttle and a 5-second render budget — closer to how Googlebot batches rendering. The streamed response sent the above-fold shell first, then flushed the article body inside a <code>Suspense</code> boundary that resolved after a slow data call.

Under the render budget, the boundary's fallback — a skeleton loader — was what got captured. The real body arrived after Google stopped waiting.

The lesson nobody tells you about streaming SSR: a Suspense boundary that resolves slowly is functionally client-rendered content to a crawler. The HTML 'streams,' but the crawler snapshots a moment.

Fix: moved the article body out of the slow boundary, kept only comments and related-posts lazy.

Result: position 18 back to 5.4 in seven weeks, body-query clicks up 71%.
Этот пост опубликован в Telegram-канале Hydrate Diaries. Подписаться можно по ссылке: @HydrateDiaries.
tech

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

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

start

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

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

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