Configuration
Webflow Cloud is designed to handle most of your deployment configuration, so you can focus on building your app. This page explains what’s configured automatically and what you need to know if you want to understand or troubleshoot the process.
For step-by-step setup use the following guides:
Get started with Webflow Cloud by following our step-by-step guide.
Migrate an existing app to Webflow Cloud.
Deployment details
Webflow Cloud hosts your app on Cloudflare Workers, running it at a base path within your Webflow Cloud environment (for example, /app). This base path serves as the mount point for your application.
Platform-provided configuration
The Webflow Cloud builder detects your framework from your project files and generates the necessary platform configuration on your behalf. These settings are fixed — you can’t override them, and you don’t need to commit them. The generated configuration covers:
- The framework adapter that compiles your app for the Workers runtime
- Your app’s base path and asset prefix, taken from your environment’s mount path
- Asset handling and image optimization
- Node.js API compatibility
- Observability (for example, logging and metrics)
Anything you commit for these settings is replaced at build time, so leave them out of your own config.
Storage resources
If you’re using Webflow Cloud storage, you need to create and commit a wrangler.json that defines your storage bindings. Declare a kv_namespaces, d1_databases, or r2_buckets entry, and Webflow Cloud reads it during deployment and provisions the resource for you, assigning the resulting ID at deploy time.
Why the IDs are placeholders
id on a KV namespace and database_id on a D1 database are required fields, so they have to be present for local commands like wrangler types and wrangler d1 migrations apply --local to work.
The values are never used in production. Webflow Cloud provisions a separate resource per environment and substitutes the real IDs at deploy time, so any placeholder is fine. The binding name is the part that matters — that’s what your code reads, and it’s preserved exactly as you wrote it.
Required fields
Webflow Cloud validates your wrangler.json before reading your bindings from it. Your file needs name and compatibility_date at the top level, plus these fields on each binding:
Validation failures are silent
If validation fails, the build doesn’t stop. Webflow Cloud logs the error to your build logs and deploys your app without any of your bindings — so the failure shows up at runtime as missing storage, not as a failed build.
If your bindings appear to be missing in a deployed environment, check the build log for a validation error before looking anywhere else.
Any other fields you include are passed through and ignored — the framework-level settings come from the platform-provided configuration above.
Learn more about storage in Webflow Cloud.
Framework configuration
Your framework config file is yours. Webflow Cloud merges its own platform settings over it at build time, so you only need to declare the options your app actually cares about — feature flags, plugins, integrations, and so on.
You don’t need to add an adapter, a base path, or an output mode. If you leave your framework config out entirely, Webflow Cloud still builds your app.
Next.js
Astro
open-next.config.ts is optional
If you don’t commit one, Webflow Cloud generates a basic default configuration and uses it during deployment. Commit your own only if you need to customize OpenNext behavior.
Mount path configuration
When you create an environment, you set a mount path, which is the subpath where your app will be accessible.
For example, with a mount path of /app, your app lives at:
Webflow Cloud applies this mount path as your app’s base path and asset prefix when it builds. You don’t set it yourself — read it at runtime and construct paths from it instead of hard-coding them.
When you need to prefix a path yourself
Your framework handles most of this automatically. You only need the prefix in the cases below.
BASE_URL
The BASE_URL variable represents the mount path of your environment. Combine this with your Webflow Cloud domain to create the URL where your application is accessible to users.
Use for:
- Navigation links and client-side routing
- Form actions and redirects
Next.js
Astro
ASSETS_PREFIX
ASSETS_PREFIX is the URL for static assets and some direct API calls. The ASSETS_PREFIX URL points directly to the Worker handling your app.
Use for:
- Referencing static assets (images, CSS, JavaScript files)
- Uploading large files to your app
Next.js
Astro
Troubleshooting and common questions
How do I migrate an existing app?
If you’re migrating an existing app, follow the steps in the Bring your own app guide.