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
-
Cloudflare Dashboard → Pages → project → Settings → Functions
Confirmfunctions/api/*.tsis listed. -
Latest deployment logs
Look for “Detected Pages Functions” or errors about the functions directory. -
Local test
npx wrangler pages dev . --port 8788Then 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.shthat 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).