Operational notes for Cloudflare Pages + Pages Functions deployment issues.

Functions returning 404

Symptoms

  • /api/canva-image (or other /api/*) returns 404
  • Cloudflare Pages deploy logs do not mention “Detected Pages Functions”

Common cause

Custom deploy commands can prevent Pages from auto-detecting the functions/ directory.

Checks

  1. Cloudflare Dashboard Pages project Settings Functions
    Confirm functions/api/*.ts is listed.

  2. Latest deployment logs
    Look for “Detected Pages Functions” or errors about the functions directory.

  3. Local test

npx wrangler pages dev . --port 8788

Then hit http://localhost:8788/api/canva-image?url=<canva-url>.

Fix options

Option A (recommended): remove custom deploy command and let Pages handle functions.

  • Deploy command: empty or a simple deploy.sh that exits 0
  • Version command: empty

Option B: explicit Pages deploy command (requires permissions)

npx wrangler pages deploy .

Option C: legacy assets deploy (may require additional permissions)

npx wrangler deploy --assets=.

If functions still 404, revert to Option A.

Canva preview issues

If Canva previews fail, confirm /api/canva-image is deployed and check:

  • The Canva URL is publicly accessible.
  • A screenshot service is configured (see canva if used).