My Next.js personal blog (Cloudflare Workers / OpenNext) had a mobile LCP as bad as 17.4 seconds. The culprit wasn't images — it was render-blocking CSS and every article's body leaking into the client bundle. A record of hunting each cause down with real traces and getting production LCP to 3.7–4.3s. A Core Web Vitals improvement story.
A record of migrating my Next.js + Cloudflare Workers blog from microCMS to in-repo MDX with Velite. I moved 60 articles with zero conversion loss while keeping every URL intact — and fixed 7 bugs in the old implementation along the way!
Complete solution guide for CloudFront + Next.js image optimization error. Solve "url parameter is not allowed" error with AllViewerExceptHostHeader policy, detailed debugging steps, and implementation examples for AWS App Runner integration.
Explains the causes and solutions for CORS errors. Introduces specific methods to solve the problem of external domain requests being blocked by CORS policy in Next.js Route Handler API endpoints, through response header configuration and OPTIONS method permission.