JavaScript rendering
Turn on Render pages with Chromium in the configuration. The first run downloads a headless Chromium (about 100 MB).
What happens per page
- The raw HTML is fetched as usual and extracted.
- The page is opened in Chromium with your cookies, headers and user agent. Images, fonts and media are blocked by default to keep it fast; turn that off if layout-dependent scripts need them.
- Sitemoth waits for the network to go idle, then the settle time you configured, runs your custom script if any, scrolls to trigger lazy loading, and captures the DOM.
- The rendered DOM is extracted and compared with the raw HTML.
The JavaScript tab
Lists pages where rendering changed something that matters: noindex, canonical, title, description or H1 that differ between raw and rendered, content and links that only exist after JavaScript, console errors, failed resource requests, render timeouts, and client-side redirects. Links that only exist after rendering are tagged JS in the inlinks and outlinks lists.
When rendering looks wrong
Single-page apps that never settle hit the render timeout; raise it or reduce long-polling. Content behind load-more buttons needs a custom script, for example document.querySelector('.load-more')?.click(). Consent walls can usually be bypassed by injecting the consent cookie. If a page renders blank, report it: rendering edge cases are the most common fix we ship.