2.6 KiB
2.6 KiB
1. Baseline And Repro
- 1.1 Run Lighthouse from a clean Chrome profile (no extensions) for both Mobile and Desktop and save reports (JSON)
- 1.2 Record current failing audits and their affected selectors/URLs (from the Lighthouse "details" tables)
2. Accessibility Contrast
- 2.1 Adjust global CSS tokens/styles so
.mutedcard metadata meets 4.5:1 contrast on cards - 2.2 Adjust pill/chip background + text colors to meet 4.5:1 contrast (e.g.,
.pilland source variants) - 2.3 Re-run Lighthouse accessibility category and confirm
color-contrastpasses
3. SEO Hygiene (robots + crawlable links)
- 3.1 Update
site/public/robots.txtto use an absolute sitemap URL (e.g.,Sitemap: https://santhoshj.com/sitemap-index.xml) - 3.2 Fix non-crawlable anchors in the media modal by ensuring anchors always have
hrefin initial HTML or switching to buttons until navigable - 3.3 Re-run Lighthouse SEO category and confirm
robots-txtandcrawlable-anchorspass
4. CSP / Best Practices
- 4.1 Identify the exact CSP-related DevTools Issue message (Chrome DevTools → Issues) and capture the text
- 4.2 Implement a CSP baseline at the reverse proxy/origin that allows required resources (self + Umami + image/frame origins) and avoids permissive wildcards
- 4.3 Reduce inline scripts that force
unsafe-inline(move registration / modal scripts to external files or use nonce/hash approach) - 4.4 Re-run Lighthouse Best Practices and confirm
inspector-issuespasses
5. Performance: Fonts, CSS/JS, And Images
- 5.1 Remove render-blocking third-party font stylesheet by self-hosting Manrope and loading via
@font-face - 5.2 Ensure production CSS is minified (move global CSS into the build pipeline or add a build minification step)
- 5.3 Reduce unused CSS on the homepage (prune unused selectors or split critical vs non-critical styles)
- 5.4 Reduce unused JS on the homepage (remove unnecessary scripts; ensure analytics is async/defer; avoid extra inline code)
- 5.5 Improve thumbnail image delivery (use responsive
srcset/ resized sources where feasible; avoid oversized podcast covers) - 5.6 Improve cache lifetimes for first-party static assets (fingerprint + immutable cache for build assets; revalidate non-fingerprinted)
- 5.7 Re-run Lighthouse Performance (mobile + desktop) and confirm 100 score
6. Verification
- 6.1 Run
npm run buildand ensure build succeeds - 6.2 Smoke test site locally (
npm run preview) including modal, analytics script load, and service worker registration - 6.3 Deploy and confirm production Lighthouse scores are 100/100/100/100