I ran the same static accessibility and SEO audit on 20 European and 20 US public-sector websites. 25 were auditable. The ranking is noise; the shared failures are the story.
The setup
I wanted a clean comparison, so I used the same checks on both sides:
- 20 EU URLs: EU institutions, national governments, a few central portals.
- 20 US URLs: federal departments and agencies.
- Same static audit: title, meta description,
lang, headings, imagealt, form labels, viewport, canonical,noindex, thin content, JSON-LD.
The audit is a triage, not a WCAG compliance test. It runs on static HTML and does not execute JavaScript.
What happened before the scores
15 of the 40 URLs could not be audited:
- 5 EU sites returned HTTP 403 or a "Just a moment..." challenge.
- 8 US sites returned 403, 202 or an "Access Denied" page from a WAF.
That is a finding in itself: a large share of public-sector sites now sit behind bot protection. Any audit pipeline that scores a 403 page as if it were content will produce garbage. The first rule of automated auditing is: check the status code and the title before you trust the score.
After removing challenge pages and language selectors:
- EU: 13 auditable pages, average score 80.8 / 100.
- US: 12 auditable pages, average score 84.5 / 100.
A 3.7-point difference on a sample of 25 is not a ranking. It is noise.
The shared failures
| Issue | EU (n=13) | US (n=12) |
|---|---|---|
| Missing canonical | 100% | 100% |
| Missing JSON-LD structured data | 69% | 83% |
| Missing meta description | 46% | 42% |
Multiple <h1> | 15% | 25% |
Missing <h1> | 31% | 25% |
| Links without accessible text | 23% | 33% |
| Form fields without a label | 23% | 17% |
Images without alt | 15% | 0% |
Missing lang | 8% | 8% |
Aggregate counts:
- EU: 338 images, 9 without
alt(2.7%); 100 form fields, 5 unlabeled (5%). - US: 182 images, 0 without
alt; 87 form fields, 3 unlabeled (3.4%).
What stands out
Canonical is missing everywhere. Not "most sites". Every single auditable page in both regions. For public-sector sites with multiple domains, aliases and old URLs, this is a template-level bug that multiplies across thousands of pages.
Structured data is rare. 69% of EU pages and 83% of US pages have no JSON-LD at all. For public services, structured data is how search engines understand opening hours, locations, events and FAQs. It is also the cheapest fix on this list.
Meta descriptions are missing on roughly half the pages. Search engines will write their own snippet, often from the first paragraph.
Accessibility basics are better than expected, but inconsistent. The US sample had zero images without alt; the EU sample had 15% of sites with at least one. Form labels are unlabeled on 17-23% of sites in both regions. These are template fixes, not redesigns.
The caveat
This is a static audit on a small, non-random sample. It cannot detect:
- contrast ratios,
- keyboard traps,
- ARIA state that lies at runtime,
- screen-reader behaviour,
- issues introduced by JavaScript.
A 100% missing-canonical rate is a real signal because it is a binary check on a template. A 3.7-point average difference between regions is not.
The takeaway
"Europe vs the US" makes a good headline and a bad conclusion. The interesting finding is that both regions fail the same basics: canonical, structured data, meta descriptions, empty links and form labels. These are not exotic accessibility problems. They are template hygiene.
If you run public-sector sites, fix these five things before you buy another overlay:
- Add a canonical URL to every template.
- Add JSON-LD for the organisation and the main services.
- Add a meta description to the templates that lack one.
- Give every form field a real
<label>. - Audit the media library for
alt, not just the homepage.
None of these require a redesign. They require someone to own the template.
The audit was run with the Bulk Website Audit Actor on Apify. Data collected on 2 November. Sample: 20 EU + 20 US public-sector URLs; 25 auditable after excluding 403/202 challenge pages and language selectors.
