Deployment
Build and verify a Ginko site for static, Node SSR, serverless, or edge hosting.
Build the application and preview the same output you intend to deploy:
pnpm build
pnpm previewBefore choosing a target, direct-load the home page, a nested content page, a missing URL, and a search-result destination. A successful build does not replace these route checks.
Static generation
pnpm generateGinko contributes eligible page-collection routes to prerender discovery. Drafts and partials do not become generated routes. Sitemap policy is separate: sitemap: false removes a route from sitemap output without disabling prerender.
Serve the generated directory over HTTP. Opening its HTML with file:// bypasses the host's routing, content negotiation, and asset handling, so it is not a valid deployment test.
Node SSR
The active provider runs during requests. Request-time reads, provider cache hints, cache adapters, and same-URL Markdown negotiation can all use Nitro middleware. Keep provider clients and credentials in server code.
Serverless
Filesystem content reads the snapshot prepared during the build; it does not warm a runtime content database. Confirm that generated content and search assets are present in the function bundle. External providers must complete within the platform's request timeout.
Edge
Use an edge target only when the provider, Markdown pipeline, cache integration, and their dependencies support that runtime. Node-only SDKs and request-time filesystem access are not edge-compatible.
Search support
| Target | MiniSearch | Pagefind | Provider search |
|---|---|---|---|
| Static | Yes | Yes | Only through a reachable runtime API |
| Node SSR | Yes | Depends on generated site output | Yes |
| Serverless | Yes | Depends on generated site output | Yes |
| Edge | Yes, when its assets are served | Depends on generated site output | Only with an edge-compatible provider |
Agent-readable output
Static hosts can serve generated /raw/**.md, /llms.txt, and
/llms-full.txt routes wherever they serve the HTML output. Use
content.agent.delivery: 'static' for this profile. A provider routing layer
can negotiate the same public URL while it continues to serve prerendered HTML.
Use content.agent.delivery: 'runtime' when Nitro must own negotiation without
provider routing. Nitro still crawls pages to retain their generated data
dependencies, then removes prerendered HTML before building the request-time
server. A pure static generation still produces complete HTML and agent files
because it cannot run request-time middleware.
Deployment checks
- Content links and direct-loaded nested routes resolve.
- Drafts and partials stay hidden outside development.
- Locale fallback and alternates work when i18n is enabled.
- The deployed sitemap contains representative public routes.
- MiniSearch or Pagefind assets are present and searchable.
- Redirects work from both old and new paths when a release changes URLs.