Does streaming affect SEO and can streamed content be indexed?

Streaming does not adversely affect SEO and yes, streamed content can be indexed.

Many of the largest sites on the web stream back responses in chunks to help improve the speed of the initial response. This means that Google, and other popular crawlers, are able to index streamed content.

For example, you can see this demo of streaming in Next.js is correctly indexed by Google.

Content that is streaming in is properly indexed by Google.
Content that is streaming in is properly indexed by Google.

What is Streaming?

Streaming allows you to break down the page's HTML into smaller chunks and progressively send those chunks from the server to the client. This enables parts of the page to be displayed sooner, without waiting for all the data to load before any UI can be rendered.

Streaming is particularly beneficial when you want to prevent long data requests from blocking the page from rendering as it can reduce the Time To First Byte (TTFB) and First Contentful Paint (FCP). It also helps improve Time to Interactive (TTI), especially on slower devices.

Vercel supports streaming with Vercel Functions, including usage through popular frameworks like Next.js.

Streaming with Next.js

Next.js, in conjunction with React Suspense, makes it easy to stream UI components. Further, Next.js supports out-of-order streaming, defined by your Suspense boundaries.

Unlike conventional streaming that follows a sequential order, out-of-order streaming enhances user experience by rendering parts of a UI, say a comments section, while continuing to load other elements, reducing the perceived load time.

Streaming works well with React's component model because each component can be considered a chunk. Components that have higher priority (e.g. product information) or that don't rely on data can be sent first (e.g. layout), and React can start hydration earlier. Components that have lower priority (e.g. reviews, related products) can be sent in the same server request after their data has been fetched.

Learn more about streaming and React Suspense in Next.js. Optionally, learn more about a new technique that takes advantage of streaming called Partial Prerendering.

Do status codes matter for streaming?

When streaming, a 200 status code will be returned to signal that the request was successful.

The server can still communicate errors or issues to the client within the streamed content itself, for example, when using redirect or notFound. Since the response headers have already been sent to the client, the status code of the response cannot be updated.

This does not affect SEO.

Conclusion

Streaming helps improve the user experience of applications. Using streaming in your application does not affect SEO and streamed content can still be indexed by Google and other popular search crawlers.

Learn more about streaming on Vercel.

Couldn't find the guide you need?