Tests
Webperf Core contains sixteen tests in service. The number in front of each one is what you pass to -t.
There are gaps in the numbering
The numbers run from 2 to 32 but not all of them are used. The gaps are retired tests, such as Google Pagespeed (0) and the W3C validation services (6 and 7). The numbers are kept so that historical results on Webperf.se keep meaning the same thing.
Retired tests
| Test | Replaced by |
|---|---|
| 20 – Integrity & Security (Webbkoll) | 31 – Privacy (Webbkoll) |
Test 20 called the public Webbkoll service. Since summer 2026 Webperf runs its own installation, and test 31 has taken over.
A number in a result may have no counterpart here
Webperf.se, Premium and Webperf Cloud report four tests that are retired in Webperf Core: 1, 4, 5 and 10. They cannot be run with -t, but they still appear in results from the services. They are described on the Webperf.se page.
If you are unsure which name goes with a number, GET /v1/tests is the authority. That endpoint is open and needs no key.
Retired tests
| Test | Status |
|---|---|
| 20 – Integrity & Security (Webbkoll) | Replaced by 31 – Privacy (Webbkoll) |
| 1, 4, 5 and 10 | Cannot be run in Webperf Core, but are still offered by Webperf.se, Premium and Webperf Cloud |
Test 20 called the public Webbkoll service. Since summer 2026 Webperf runs its own installation, and test 31 has taken over.
Performance
| Test | Tool | Measures |
|---|---|---|
| 15 – Performance (Sitespeed.io) | Sitespeed.io | Load time and number of requests in a real browser |
| 30 – Lighthouse | Lighthouse | Performance, accessibility, SEO and best practice according to Google |
Accessibility
| Test | Tool | Measures |
|---|---|---|
| 18 – Accessibility (Pa11y) | Pa11y, Axe | Automatically detectable WCAG errors |
| 26 – Accessibility Statement (Alfa) | Built-in | That the statement exists, can be found and is current |
| 30 – Lighthouse | Lighthouse | Google's accessibility score |
Security and privacy
| Test | Tool | Measures |
|---|---|---|
| 21 – HTTP & Network | Built-in | HTTPS, TLS versions, HTTP/2 and /3, IPv6, security headers |
| 23 – Tracking and Privacy | Built-in | Trackers, fingerprinting, ad servers, cookie lifetimes |
| 25 – Software | Built-in | Which software runs the site and known vulnerabilities in it |
| 31 – Privacy (Webbkoll) | Webbkoll (self-hosted) | What the page leaks about its visitors. Replaces test 20 |
| 32 – DNS (Zonemaster) | Zonemaster | Delegation, DNSSEC and answer consistency |
Standards compliance
| Test | Tool | Measures |
|---|---|---|
| 2 – 404 (Page not Found) | Built-in | That the error page returns the right status code and says something intelligible |
| 9 – Standard files | Built-in | robots.txt, sitemap, security.txt and feeds |
| 27 – CSS Lint (Stylelint) | Stylelint | Errors and dubious constructs in the stylesheets |
| 28 – HTML Lint (html-validate) | html-validate | Errors in the markup |
| 29 – JS Lint (ESLint) | ESLint | Errors and risky patterns in the scripts |
Environment
| Test | Tool | Measures |
|---|---|---|
| 22 – Energy Efficiency | Built-in | Data transferred and carbon per page view |
| Test | Tool | Measures |
|---|---|---|
| 24 – Email (Beta) | Built-in | SPF, DKIM, DMARC, MTA-STS and transport security |
Running tests
One test
python default.py -u https://example.com -t 22 -r
Several tests
python default.py -u https://example.com -t 22,9,18 -r
Every test
python default.py -u https://example.com
A full run takes time
Expect 10–30 minutes per website depending on the size of the site and your hardware.
Excluding a test
A negative number removes a test from the run:
# every test except email
python default.py -u https://example.com -t -24
Seeing what to fix
-r prints the review. For a fuller one that shows only what can be improved:
python default.py -u https://example.com -t 22 -r \
--setting general.review.details=true \
--setting general.review.improve-only=true
If your IT department wants the raw data behind the assessment:
--setting general.review.data=true
Grading
Every test produces a score between 1.0 and 5.0.
| Score | Meaning |
|---|---|
| 5.0 | Excellent, follows every recommendation |
| 4.0 | Good, some minor improvements possible |
| 3.0 | Acceptable, works, but should get better |
| 2.0 | Needs improvement, clear shortcomings |
| 1.0 | Critical, serious problems |
How the score is calculated differs between tests and is described on each test's own page. How the overall score works on Webperf.se.