# Render Budget

The resources and time a search engine allocates to render JavaScript-heavy pages; a critical concept for modern SPA sites.

**Render Budget** is the amount of resources and time that a search engine allocates to render pages that generate content dynamically with JavaScript (actually execute them and see the result). It is a specialized form of [Crawl budget](/content/sozluk/crawl-budget/index.html) for JavaScript-heavy sites.

Google uses two-stage indexing to support the modern web’s reliance on JavaScript:

1. **First wave:** The raw version of the HTML is crawled and indexed.
2. **Second wave:** JavaScript is executed, the final content is rendered, and the index is updated. This may happen hours or days after the initial crawl.

The consequences of a render budget problem:

- Content loaded with JavaScript is indexed late or not indexed at all
- Dynamic meta tags (title, description) are read from the raw HTML
- It takes longer for content updates to be reflected in Google

Solutions:

- **SSR (Server-Side Rendering):** Render the content on the server and send it as HTML.
- **SSG (Static Site Generation):** Generate static HTML during the build.
- **Dynamic Rendering:** Serve a server-rendered version to the bot and a JS-rendered version to the user.

**Tip:** Check how your page is seen by the bot using the “URL Inspection > Test Live URL > View Crawled Page” feature in Search Console. If there is missing content, it means there is a rendering problem.
