# Rendered Sync / SPA capture checklist

## Manual

1. Connect Rabbit SEO; confirm **Sync now** (PHP) still works.
2. Click **Rendered Sync**.
3. Progress shows `Capturing N of M pages` and status lines:
   - Waiting for JavaScript
   - Captured successfully
   - Timed out
   - Failed
4. SPA with delayed React mount: capture succeeds after DOM settles (~1.5s quiet).
5. Client-side routes: add/capture each public URL separately (homepage alone is not enough).
6. Site with `X-Frame-Options: DENY`: falls back to a temporary tab.
7. Invalid/expired capture session or wrong nonce → ingest returns 403.
8. Cross-domain URL in ingest body → 400.
9. Captured HTML has no `<script>`, no `on*` handlers, no password fields, no `#wpadminbar`.
10. Rabbit SEO audit prefers `wordpress_browser_rendered` when its `snapshotCreatedAt` is newer.

## Automated

```bash
php WebContent/wordpress-plugin/rabbitseo-connector/tests/test-rendered-capture.php
node WebContent/wordpress-plugin/rabbitseo-connector/tests/test-capture-wait.js
```

(Node tests that need DOM require optional `jsdom`.)
