Goal: get below 0.185g CO2 per page view (per digitalbeacon.co).
- Currently loading Inter + Source Serif 4 from Google Fonts CDN via
head.htmllines 113β115 - Two external DNS connections (fonts.googleapis.com + fonts.gstatic.com)
- Render-blocking CSS request
- Full variable font ranges loaded (opsz, wght 100β900, italic + non-italic) β very large payload
- Fix: self-host via
@fontsource/interand@fontsource/source-serif-4npm packages, importing only the weights actually used (likely 400, 500, 700 for Inter; 400, 700 for Source Serif 4) and referencing them inmain.cssvia@import
webmention.min.jsloaded in<head>with nodeferorasyncβ blocks rendering- Fix: add
asyncordeferto the script tag inhead.htmlline 104
- Two
<meta name="viewport">tags (lines 19 and 35) β remove one - Two identical sets of OpenGraph tags (lines 65β69 and 77β82) β remove the duplicate block
<meta property="dc:title" content="">and<meta name="citation_title" content="">are empty<link rel="dns-prefetch" href="https://jasonheppler.org">β prefetching own origin, remove it
- Check all images in use across content and static dirs
- Convert to WebP where not already done
- Ensure lazy loading (
loading="lazy") on all non-hero images - Check for any oversized images being scaled down in CSS
- Test at: https://digitalbeacon.co/report/jasonheppler-org
- Target: < 0.185g CO2 / page view