A successful server start is only one check
A standalone Next.js build can start and return HTML while the browser fails to load its CSS, JavaScript or public images. The server package and the assets referenced by that HTML must belong to a coherent release. Copying only the minimum server output may omit files that another delivery component was expected to serve.
The official output documentation states that the standalone server does not copy public and .next/static folders by default. They may be delivered separately or included in the documented locations. Choose the deployment model intentionally rather than assuming that every hosting provider packages them the same way.
Setup: define the release artifact
Record the installed Next.js version, build identifier, output configuration and destination layout. Identify who serves public files and framework static files: the standalone process, Nginx or a CDN. Include monorepo tracing boundaries if the application imports files outside its package directory.
Build from the lockfile in a clean environment and inspect the packaged output before uploading it. Document which persistent uploads are shared data rather than build artifacts. A deployment must not replace user media merely to make the packaged public directory resemble a developer's workstation.
Illustrative incident: HTML works, the design disappears
An illustrative corporate site passes a homepage HTTP health check after deployment. A real browser then receives missing CSS responses because the artifact contains the server but not the static files expected at runtime. This is a teaching example, not a report about a Clouvenix production release.
Capture the failed asset URL, response status, requested build identifier and serving component. Compare the URL with the contents of the exact uploaded artifact. A directory listing from an older release cannot establish that the current release contains the file.
Troubleshooting: trace an asset end to end
| Symptom | Evidence | Investigation |
|---|---|---|
| All framework assets fail | Artifact contents and serving path | Were static files packaged or routed correctly? |
| Only old browser tabs fail | Old build references and retention policy | Were prior immutable assets removed too early? |
| HTML and assets show different revisions | Origin and CDN release identifiers | Did the delivery layers switch independently? |
| One imported runtime file is absent | Tracing root and inclusion rules | Was the file outside the traced package boundary? |
Check response content types as well as status codes. A proxy that returns an HTML fallback for a missing JavaScript file can produce a successful status while the browser still rejects the resource.
Corrective action and controlled promotion
Package the server and required assets according to the selected output model. When a CDN serves assets, publish and verify the versioned files before promoting HTML that references them. Keep release directories immutable and retain a known-good version for rollback. Do not mix a server from one build with a static directory rebuilt later from a different dependency state.
Configure a candidate process or isolated preview to use the same artifact intended for release. Verify representative dynamic and static routes, not only the root page. Review any custom base path, asset prefix or proxy rewrite because these change how the browser reaches the files even when packaging is correct.
Verification, SLO and SOP
Load a real browser page, inspect its asset requests, navigate to a second route and open an existing tab across a release transition. Confirm that images, styles and client navigation work and that persistent media remains present. Repeat the test against the final public delivery path when a CDN or reverse proxy is involved.
An internal release SLO can measure successful complete-page delivery after promotion. A server process being online is an incomplete indicator. Keep contractual availability commitments separate. The SOP should record artifact identity, asset retention, candidate checks, promotion order and rollback ownership. Preserve the failed artifact for diagnosis instead of rebuilding it in place and losing the evidence.
Explore Next.js development and DevOps automation.
Technical reference
Next.js output configuration, reviewed 19 October 2026. Follow documentation matching the installed product version.