--- id: next-font-cls-self-hosting title: Next.js font CLS guardrail status: active candidateKinds: ["cwv_poor"] frameworks: ["next@>=13.2.0"] metrics: ["CLS"] priority: 86 citations: ["https://nextjs.org/docs/app/api-reference/components/font", "https://web.dev/articles/optimize-cls"] maxBriefChars: 800 --- ## Investigation Brief For poor CLS, check fonts only when the route actually loads external font CSS or swaps text after render. ## Evidence To Check Inspect layouts and global styles for external font links, CSS imports, custom font-face rules, late-loading font classes, and whether `next/font` is already used. ## Do Not Recommend When Do not migrate fonts when CLS is caused by images, ads, embeds, or injected UI. Do not suggest `next/font` for unsupported Next.js versions. ## Verification Name the CLS value, font-loading mechanism, and the exact layout or stylesheet line to change.