---
title: "Scanning Single Page Applications"
description: "Scanning Single Page Applications for the Unlighthouse v1 beta."
canonical_url: "https://unlighthouse.dev/v1/guide/recipes/spa"
last_updated: "2026-10-04T00:40:13.258Z"
---

Lighthouse audits application pages in Chrome.
The discovery crawler reads server-rendered HTML and does not execute JavaScript.

## Supply routes

Use a sitemap or explicit URLs when navigation links appear only after hydration.

```ts
import { defineUnlighthouseConfig } from 'unlighthouse/config'

export default defineUnlighthouseConfig({
  site: 'http://localhost:3000',
  urls: ['/', '/about', '/products'],
})
```

Each URL must load the application directly.
Configure your server to return the application shell for those paths.

## Legacy browser discovery

`--enable-javascript` does not enable browser-based link discovery in v1.
Puppeteer page hooks do not provide a hydration callback.
Read [Migrating to v1](/guide/guides/migrating-to-v1) before upgrading custom discovery integrations.

## Sitemap

See the full [sitemap](/sitemap.md) for all pages.
