Fifty European and fifty US public-sector homepages, same static audit, same day. Seventy-nine were auditable. The average scores differ by 2.2 points. The failures are almost identical.
My first EU-vs-US audit used 40 URLs and produced a 3.7-point gap. On a sample that small, that is sampling error with a chart. So I scaled to 100 URLs and looked for failures that survive a larger n. The ranking stayed noise; the same template-level defects stayed at the top.
Methodology
I built two convenience samples of 50 homepages each:
- EU (50): EU institutions (Parliament, Commission, ECB, EIB, agencies), national government portals, and major city portals.
- US (50): federal departments and agencies, state portals, and major city portals.
Each URL was audited once with the Bulk Website Audit Actor on Apify, in four batches of 25. The Actor fetches static HTML with a 20-second timeout, does not execute JavaScript, and returns a 0–100 heuristic score plus issue codes and page statistics. The score is a triage signal, not a WCAG conformance score. Data was collected on 2 November 2026. I did not retry failures: bot protection is part of what an automated audit actually sees.
Sample size and exclusions
Of the 100 URLs, 21 were excluded:
| Reason | EU | US | Total |
|---|---|---|---|
| HTTP 403 (WAF / bot challenge) | 6 | 12 | 18 |
| HTTP 429 (rate limit / checkpoint) | 1 | 0 | 1 |
| HTTP 202 with no content | 1 | 1 | 2 |
| Excluded total | 8 | 13 | 21 |
The blocked pages carried titles such as "Just a moment...", "Access Denied", "Browser check", "Azure WAF", "Not allowed", and "Vercel Security Checkpoint". None were scored as content. No HTTP 200 page was removed for an empty title or a language selector.
That left 79 auditable homepages: 42 EU and 37 US (79% of the original sample).
Big federal domains — state.gov, defense.gov, hhs.gov, transportation.gov — were among the excluded. A pipeline that ignores status codes would score challenge pages and report nonsense. The US sample therefore skews toward agencies and states that allow automated fetching.
Results
| Metric | EU (n=42) | US (n=37) |
|---|---|---|
| Average score | 85.5 | 87.7 |
| Median score | 88.0 | 90.0 |
| Score range | 61–97 | 73–97 |
| Pages scoring ≥90 | 18 (42.9%) | 19 (51.4%) |
A 2.2-point gap on 42 and 37 pages is not a ranking: the ranges overlap, and the EU sample contains both the lowest score (61) and nine pages at 95 or above.
Issue prevalence (share of auditable pages with at least one occurrence)
| Issue | EU (n=42) | US (n=37) |
|---|---|---|
| Missing canonical | 42 (100%) | 37 (100%) |
| Missing JSON-LD structured data | 26 (61.9%) | 27 (73.0%) |
| Missing meta description | 14 (33.3%) | 8 (21.6%) |
| Links without accessible text | 20 (47.6%) | 11 (29.7%) |
Multiple <h1> | 8 (19.0%) | 10 (27.0%) |
| Form fields without a label | 9 (21.4%) | 3 (8.1%) |
Images without alt | 4 (9.5%) | 6 (16.2%) |
Missing <h1> | 4 (9.5%) | 4 (10.8%) |
| Heading level skip | 5 (11.9%) | 10 (27.0%) |
| Title outside 10–65 characters | 3 (7.1%) | 5 (13.5%) |
| Short meta description | 2 (4.8%) | 2 (5.4%) |
| Thin content (<200 words) | 3 (7.1%) | 2 (5.4%) |
Missing lang | 1 (2.4%) | 0 (0%) |
Aggregate element counts
| Metric | EU | US |
|---|---|---|
| Images | 852 | 660 |
Images without alt | 30 (3.5%) | 24 (3.6%) |
| Links | 7,038 | 4,912 |
| Links without accessible text | 136 (1.9%) | 29 (0.6%) |
| Form fields | 391 | 292 |
| Form fields without a label | 17 (4.4%) | 4 (1.4%) |
What the numbers say
Canonical is not a regional problem. It is a template problem. All 79 auditable pages — 100% in both regions — had no canonical link. On sites with aliases, translated paths, and legacy URLs, that is one template omission repeated across thousands of pages.
Structured data is missing on most pages, and the US is slightly worse. 61.9% of EU pages and 73.0% of US pages had no JSON-LD block. For public services, structured data tells search engines about opening hours, locations, services, and FAQs. It is the cheapest visible improvement here.
Meta descriptions are missing on a third of EU pages and a fifth of US pages. The gap (33.3% vs 21.6%) is larger than the score gap, but the absolute numbers matter: 22 homepages left search engines to generate the snippet.
Empty links are widespread per page, rare per link. 47.6% of EU pages and 29.7% of US pages contained at least one link with no accessible text. Those links are only 1.9% of all EU links and 0.6% of all US links. In practice this is a few icon links, logo wrappers, or cards repeated in a template. The bug is localised.
Form labels are the clearest EU weakness. 21.4% of EU pages had at least one unlabeled field, versus 8.1% in the US. Aggregated, 17 of 391 EU fields (4.4%) lacked a label, against 4 of 292 US fields (1.4%).
Image alt is close to parity in aggregate. 3.5% of EU images and 3.6% of US images had no alt attribute. Page-level rates differ more (9.5% vs 16.2%) because a few pages concentrate many decorative images.
Heading structure is worse in the US sample. 27.0% of US pages had multiple <h1> tags and 27.0% skipped a heading level, against 19.0% and 11.9% in the EU. Missing <h1> is almost identical (9.5% vs 10.8%).
Caveats
This is a static audit of one homepage per domain, on one day, on a non-random sample. It cannot detect contrast, keyboard traps, focus order, runtime ARIA state, screen-reader behaviour, or JavaScript-injected issues. Several large sites returned a shell or a challenge page and were excluded.
Scores are heuristic; that gap is sampling variation. The robust signal is binary: 79 of 79 pages missing canonical is not a sampling artifact.
Conclusion
The sample produced no regional winner, only the same five failures on both sides:
- Canonical — missing on every page in both regions.
- Structured data — absent on 62–73% of pages.
- Meta descriptions — absent on 22–33% of pages.
- Empty links — on 30–48% of pages, concentrated in templates.
- Form labels — missing on 8–21% of pages.
None require a redesign, just template ownership and release checks. The regional ranking is noise; the shared backlog is the finding.
Audit run with the Bulk Website Audit Actor on Apify. Sample: 50 EU + 50 US public-sector homepages; 79 auditable after excluding 21 non-200 or rate-limited URLs. Data collected 2 November 2026.