Deploy FAIL: Request body is incorrect — an old plugin build. v1.0.0+ sends multipart/form-data; update the plugin. Skipping "<file>" (NN MB): exceeds Cloudflare's 25 MiB per-file limit — Cloudflare Pages rejects any single file above 25 MiB. The plugin now catches these before the upload, names the file in the log, leaves it out, and deploys the rest. Host the file externally (Cloudflare R2, an object store, a CDN) and link to it, or shrink it under 25 MiB (re-encode the video, compress the PDF, downscale the image). Asset upload failed: HTTP 4xx/5xx ... — Cloudflare rejected the upload. The log now quotes the HTTP status when Cloudflare doesn't return a structured error (older builds showed a bare unknown here). HTTP 413 means a file too large slipped through; a 5xx or a timeout is usually transient, so re-run the deploy. Deployment failed — a Cloudflare-side rejection (the reason is quoted in the log); the common cause is more than 20,000 files in one deployment (CF Pages free-tier limit). Trim Export Scope. check-missing failed — a transient API / token hiccup; re-run the deploy, and re-test the connection if it persists. My exported page is huge (tens of MB) and the deploy hits the 25 MiB limit. On Elementor especially. Almost always a missing stylesheet that "soft-404s". When a CSS file no longer exists, a well-behaved server returns a 404 — but many WordPress setups instead return the homepage with a 200 "OK" status. With Inline CSS on, the plugin asks for that file expecting CSS and gets a whole HTML page back, then embeds the entire page into a <style> block. A few of those and the page balloons into the tens of megabytes. The usual culprit is Elementor's cached Google Fonts. Elementor stores them as CSS files named after your host (wp-content/uploads/elementor/google-fonts/css/roboto-<host>.css). If that cache was generated under a different hostname — common after a migration or when your dashboard lives on a subdomain — the old file is gone and the site serves the homepage in its place. As of 1.8.4 the plugin detects this and refuses to inline anything that comes back as HTML, so the bloat is fixed on the plugin side. To also restore the missing fonts, regenerate the cache: in WordPress go to Elementor → Tools → Regenerate CSS & Data. Then Rebuild + Deploy Now. Some pages didn't render ("Render fail ... HTTP" / "Nothing rendered"). The plugin fetches your own URLs via wp_remote_get. A few failures are harmless; many of them (or Nothing rendered, deploy skipped.) mean the site is blocking itself — HTTP basic auth, an IP allow-list, an aggressive WAF, Cloudflare "Under Attack" mode, or a coming-soon / maintenance plugin. Let the origin fetch itself, or pause the blocker during deploys. For an invalid / self-signed origin certificate during migration, add add_filter( 'sforge_sslverify', '__return_false' );. My .pages.dev URL doesn't redirect to my domain. The redirect is a client-side JavaScript snippet (the Direct Upload API can't run _worker.js / Functions), so curl -I won't reveal it — test in a real browser. It only fires when Public Site URL is a real domain (not a .pages.dev URL) and the "Redirect *.pages.dev to live host" toggle is on. "Sitemap fallback skipped" or "returned no files" in the log. Your origin exposes no sitemap, so the plugin tried to generate one. Sitemap fallback skipped: no post types / archives selected means everything is unticked under Sitemap Generator — tick at least one post type / Homepage / Taxonomies / Authors. Sitemap fallback returned no files means nothing published matched the selection — confirm you have published content in those types. "Bundle uploads enabled, but no /wp-content/uploads/ references found". An image optimiser is swapping image URLs with JavaScript (e.g. EWWW Lazy Load or Easy IO), so the real URLs aren't in the rendered HTML for the bundler to find. Turn off the JS lazy-load / Easy-IO feature (keep the compression) and rebuild.