My WordPress blog had 92 posts and every page loaded at 110KB+ of HTML. Not terrible by modern standards, but for a site about tiny watch screens, it felt ironic.
What I Changed
1. Moved inline CSS to an external file.
A 4KB style block repeated in every post. Moving it to ww-article.css saved 4KB per page. 92 posts x 4KB = 368KB of duplicate CSS eliminated.
2. Compressed images from PNG to WebP.
Cover images averaged 2MB each. Converting to WebP at quality 80 brought them to 50-150KB. Total savings: 64MB across 35 covers.
3. Wrapped tables for mobile.
HTML tables without overflow-x break mobile layouts. Applied to 66 posts in one batch via WordPress REST API.
4. Removed 151 dead translation pages.
Machine-translated pages with 0 users/month. Sitemap went from 400+ URLs to 88.
Results
| Metric | Before | After |
|---|---|---|
| Page HTML | 110KB | 62KB |
| Cover image | 2MB | 80KB |
| Sitemap URLs | 400+ | 88 |
| Mobile first paint | 3.2s | 1.4s |
Bing started indexing faster. DuckDuckGo went from 4 sessions/week to 26.
Top comments (0)