Measured last night at 09:02 · Lighthouse mobile
The 14 fixes
between the broken site and the fixed one
I built the same WordPress site twice. The first version is set up the way many sites really are, with heavy images and no cache, and the second one is fixed. Both are online, and anyone can run Lighthouse on them.
Score comparison
33
Heavy theme · 7 original 4–9MB photos · no cache · 3 useless plugins · 3 h1 headings · no alt text · 2.8:1 contrast
100
GeneratePress with a child theme · WebP/AVIF · FastCGI cache · one h1 · alt on every image · 4.5:1+ contrast · llms.txt · structured data
All the fixes
The list is grouped by what each fix improves on the site.
Performance · 01–06
- 7 photos → WebP/AVIF, real dimensions
- Nginx FastCGI cache + automatic purge
- Self-hosted fonts, font-display: swap
- 3 useless plugins removed
- Lazy loading below the fold
- Critical CSS in the page head
Accessibility · 07–11
- Alt text on 5 photos, decorative ones marked
- Contrast 2.8:1 → 4.5:1 and above
- Skip link, visible focus, logical tab order
- Labelled forms, errors announced
- Accessibility statement to standard 5568
SEO + GEO · 12–14
- One h1, a meta description per page, hreflang
- Structured data: Service, FAQ, Breadcrumb
- llms.txt, sitemap, IndexNow