# Changelog of PageSpeed Insights Bulk Audit — Lighthouse & Core Web Vitals (`aaronoptimus/pagespeed-insights-bulk-audit`) Actor

- **URL**: https://apify.com/aaronoptimus/pagespeed-insights-bulk-audit/changelog.md
- **Full Actor documentation**: https://apify.com/aaronoptimus/pagespeed-insights-bulk-audit.md

## Changelog

### 1.0 — October 2026

First public release.

- Bulk audits through Google's official PageSpeed Insights API v5 (works with Lighthouse 12 and 13 results), mobile and desktop.
- Four Lighthouse scores, real-user field data (LCP, INP, CLS, FCP, TTFB with ratings) for the page and its whole site, lab metrics, and a Core Web Vitals verdict per device that says whether it's based on page or site data.
- Ranked fix suggestions with estimated savings (Lighthouse 13 insights and Lighthouse 12 opportunities) and failed accessibility, SEO and best-practice checks.
- Sitemap input: sitemap.xml, sitemap indexes, .xml.gz, robots.txt or a bare home page; free of charge, capped by "Max pages from sitemaps".
- One row per page (devices side by side) or one row per page and device.
- Optional change tracking between runs in a named key-value store, with `regressed` / `improved` flags.
- Optional full PageSpeed Insights JSON per audit.
- Your own Google API key (sent in a header, never logged or stored), or the Actor's built-in key when one is configured.
- Clear stop with a fix-it message for key problems (invalid key, API not enabled, key restrictions, daily quota).
- Shared pause on Google's per-minute quota; retries for Google server errors, timeouts and flaky page loads; no retries for permanent failures.
- Pay only for successful audits; failed audits are delivered with the reason and free. *Maximum cost per run* is respected across parallel audits; progress is saved before every charge, so restarts and server migrations never double-charge. Runs close to their timeout stop cleanly and list the pages left.
- Every submitted page gets a row: pages a run didn't reach (cost limit, run timeout, daily quota) are listed free with `status: "not-audited"` and the reason.
- `pageSpeedWebUrl` opens each page in Google's PageSpeed Insights web app.
