$ headless-seo-check http://127.0.0.1:4311 --urls /static,/force-dynamic,/isr --no-color --- stdout+stderr --- headless-seo-check: checking http://127.0.0.1:4311 … headless-seo-check: 3 of 3 URLs selected, from --urls headless-seo-check http://127.0.0.1:4311 3 of 3 URLs checked, from --urls ! /static static, 325 words warn no canonical link in the served HTML x /force-dynamic rendered per request, 323 words error rendered on every request, never cached at the edge cache-control: private, no-cache, no-store, max-age=0, must-revalidate warn no canonical link in the served HTML ! /isr static, 324 words warn no canonical link in the served HTML FAILED 1 blocking issue, 3 warnings 1 × dynamic-render What to do dynamic-render This page is rebuilt for every request and never cached at the edge. In Next.js one `await headers()`, `cookies()` or `searchParams` read in a file the whole app shares — the root layout, not-found.tsx, or an error boundary — flips every route to dynamic with no build warning and no visible change in a browser. Look there before you look at the route itself. If per-request rendering is intended here, pass --allow-dynamic. --- exit code: 1 ---