GitHub

Browser Rendering

Audit JavaScript-heavy sites with cloud browser rendering

Some sites build their content with JavaScript - single-page apps, client-rendered frameworks, content loaded after the initial response. A plain HTTP fetch sees the empty shell, so content rules report missing headings, thin word counts, and absent meta tags that are actually there.

Browser rendering solves this: pages are loaded in a real headless browser in the cloud, and the audit runs against the fully rendered HTML.

Try it on one run

bash
squirrel auth login          # once
squirrel audit https://example.com --render

--render uses the cloud browser for this run only. The crawl progress shows the running credit spend:

Crawling (cloud-rendered) 34/100 · ~68 credits

Make it permanent for a project

If a site always needs rendering, set it in squirrel.toml:

squirrel.toml
toml
[cloud]
rendering = "browser"   # default: "http"

Every audit of this project now renders pages, no flag needed.

Watch your page count

At 2 credits per page, rendering is the most spend-sensitive cloud feature. Two settings to keep in mind:

  • --max-pages / [crawler] max_pages - fewer pages, fewer credits.
  • [cloud] max_credits_per_audit (default 200) - the hard cap. A 100-page rendered crawl alone hits it; raise it or cap your pages.
squirrel.toml
toml
[cloud]
rendering = "browser"
max_credits_per_audit = 400

Do I need it?

Run a normal audit first. If pages you know are full of content come back with implausibly low word counts or missing headings, the site is client-rendered - switch to browser rendering. Server-rendered sites (most CMSs, SSR frameworks, static sites) gain nothing from it.

If rendering fails

You never lose an audit to rendering problems:

  • A single page that fails to render falls back to plain HTTP; the rest keep rendering.
  • If you run out of credits or the service is down, the whole crawl falls back to plain HTTP with a one-line warning, and the report notes the fallback.

Type to search…

↑↓ navigate open esc close