Deploy a Cursor app to Cloudflare Pages

Free with commercial use; best for static sites.

Specific to Cursor + Cloudflare Pages
  • Next.js on Cloudflare uses the OpenNext adapter on Workers rather than Pages.
Need an always-on server?

Cloudflare Pages doesn't run always-on servers. If your project has a long-running backend (websockets, bots, background jobs), use Railway or Render for that part.

Step by step

  1. Check your project type

    • Static / SPA (Vite, Astro, plain HTML): Build produces a folder of HTML/JS/CSS (dist/, build/, out/).
    • Next.js / SSR framework: next.config.* or a server adapter.
    • Long-running server (Express, FastAPI, bots, websockets): A start command like node server.js or uvicorn that must keep running.
  2. Get the code onto GitHub

    • Create a GitHub repo and push (Cursor's Source Control panel or git in the terminal).
  3. Create the project on Cloudflare Pages

    Dashboard → Workers & Pages → Create → Pages → Connect to Git, choose the repository, pick the framework preset.

  4. Check the build settings

    React (Vite) preset: build command npm run build, build directory dist.

    For Cursor: build command Whatever package.json says (usually npm run build), output Depends on framework.

  5. Add environment variables before the first build

    In Cloudflare Pages: Workers & Pages → your project → Settings → Environment variables. Copy these from Cursor:

    • Everything in your local .env — never commit it; add each value in the host dashboard.

    Changed a value later? Rebuild. Vite bakes variables in at build time. Troubleshoot missing env vars

  6. Make page refreshes work (Usually nothing to do)

    (none)
    # No config needed: if there is no top-level 404.html,
    # Cloudflare Pages serves index.html for unknown routes.
    # If you DO ship a 404.html, add public/_redirects with:
    /*  /index.html  200

    Server-rendered projects (TanStack Start, Next.js) don't need this. Cloudflare Pages docs (opens in a new tab)

  7. Update login redirect URLs

    Add your new Cloudflare Pages URL (and later your custom domain) to your auth provider's allowed URLs. Redirect troubleshooting

  8. Add your domain

    Your project → Custom domains → Set up a custom domain. Easiest if the domain's DNS is on Cloudflare (Cloudflare Registrar sells domains at cost).

What it will cost

Free tier Free: unlimited sites, seats, requests and bandwidth for static assets. Paid from $5/mo: Workers Paid: $5/month minimum per account — 10M requests/month included, then $0.30 per extra million. Static asset requests stay free.. Checked 17 Oct 2026 on Cloudflare Pages's pricing page (opens in a new tab).

  • If your project has no top-level 404.html, Pages treats it as a single-page app and serves / for unknown paths automatically.

Other options for Cursor