Website Audit
Audits every page of a site for speed (Lighthouse scores, real-user Core Web Vitals) and WCAG accessibility in one run, with a client-ready report.
Apify Store · coming soon
What it does
The Actor audits web pages for speed and accessibility in one run. For speed it asks Google's PageSpeed Insights API for the Lighthouse scores (performance, accessibility, best practices, SEO), lab timings and real-user Core Web Vitals from the Chrome UX Report. For accessibility it opens each page in Chrome and runs axe-core with the WCAG 2.2, 2.1 or 2.0 A/AA rules, listing every failing element with the rule, its impact, how to fix it, the WCAG success criteria and the EN 301 549 clauses. Each run saves one dataset item per page, a summary (OUTPUT), and a report as HTML (REPORT) and, optionally, PDF (REPORT.pdf).
Input
- Pages: page URLs (http or https). IP addresses and local names are not audited.
- Sitemaps: sitemap.xml, a sitemap index or a .xml.gz file; their pages are added after the listed pages, up to the maximum.
- Maximum pages: default 50, at most 2,000 per run.
- Speed and Device: PageSpeed Insights for mobile (default), desktop or both.
- Accessibility and WCAG version: WCAG 2.2 AA by default; 2.1 AA and 2.0 AA are available. "Include axe best practices" adds axe-core's best-practice rules, which are not WCAG requirements.
- Elements listed per issue: how many failing elements each issue lists in the dataset (default 10); the counts always include all of them.
- PDF report: on by default.
- Your PageSpeed Insights API key: optional. Speed checks use our key by default; for very large audits use your own free key (Google Cloud, PageSpeed Insights API).
Reading the results
- Lighthouse scores run from 0 to 100: 90 and above is good, 50 to 89 needs improvement, below 50 is poor.
- "field" is real-user data from the Chrome UX Report over the last 28 days. "scope": "page" means the page's own data; "origin" means the whole site's data because the page has too few visits; null means Google has no data.
- Accessibility issues of kind "violation" fail the rule. Kind "needs-review" means axe-core could not decide automatically (for example text over images); check those by hand.
- "elements" is how many elements fail the rule on the page; "nodes" lists the first ones with a CSS selector, the HTML and a summary of the fix.
- Automated checks find a subset of WCAG issues. Manual testing is also needed, and a page without failures is not necessarily accessible. The audit does not certify compliance.
Pricing
Pay per event: one "page audited" event for each page that returned results (whichever checks are on), one "PDF report" event when the PDF is saved, and Apify's small start event per run. Pages that could not be loaded (for example HTTP 404, timeouts) are listed with the error and not charged. Prices are on the Actor's Pricing tab.
Maximum cost per run
When the run reaches the maximum cost per run set in Apify, it stops auditing new pages, saves the report for the pages done, and says "stopped at your maximum cost per run". The PDF is then not made.
Troubleshooting
- "The page answered HTTP 404" (or another error code): the page is missing or blocks visitors; it is not charged.
- "Speed (mobile): PageSpeed Insights: ..." errors come from Google: Lighthouse could not load the page (for example it timed out or the site blocks Google's crawler), or the daily quota was used up; try again later or add your own key.
- "Accessibility: Timeout": the page took longer than 45 seconds to load.
- Pages behind a login cannot be audited yet.