> aieditorrsp@0.1.0 deploy > npm run build && npm run seo:audit && opennextjs-cloudflare deploy > aieditorrsp@0.1.0 build > opennextjs-cloudflare build ┌─────────────────────────────┐ │ OpenNext — Cloudflare build │ └─────────────────────────────┘ App directory: /mnt/HC_Volume_105300089/projects/aieditorrsp Next.js version : 16.2.6 @opennextjs/cloudflare version: 1.19.11 @opennextjs/aws version: 4.0.2 workerd compatibility_date: 2026-05-28 ┌─────────────────────────────────┐ │ OpenNext — Building Next.js app │ └─────────────────────────────────┘ > aieditorrsp@0.1.0 next:build > next build --webpack ▲ Next.js 16.2.6 (webpack) Creating an optimized production build ... ✓ Compiled successfully in 1657ms Running TypeScript ... Finished TypeScript in 3.1s ... Collecting page data using 15 workers ... Generating static pages using 15 workers (0/26) ... Generating static pages using 15 workers (6/26) Generating static pages using 15 workers (12/26) Generating static pages using 15 workers (19/26) ✓ Generating static pages using 15 workers (26/26) in 325ms Finalizing page optimization ... Collecting build traces ... Route (app) ┌ ○ / ├ ○ /_not-found ├ ○ /ai-photo-editing-prompts ├ ○ /ai-photo-prompt-editor ├ ƒ /api/auth/callback/google ├ ƒ /api/auth/login ├ ƒ /api/auth/logout ├ ƒ /api/auth/me ├ ƒ /api/checkout/stripe ├ ƒ /api/credits ├ ƒ /api/generate-image ├ ƒ /api/health ├ ƒ /api/prompt-templates ├ ƒ /api/webhooks/stripe ├ ○ /chatgpt-photo-editing-prompts ├ ○ /contact ├ ○ /cookie-policy ├ ○ /pricing ├ ○ /privacy ├ ○ /prompt-library ├ ○ /refund ├ ○ /robots.txt ├ ○ /sitemap.xml └ ○ /terms ○ (Static) prerendered as static content ƒ (Dynamic) server-rendered on demand ┌──────────────────────────────┐ │ OpenNext — Generating bundle │ └──────────────────────────────┘ Bundling middleware function... Bundling static assets... Bundling cache assets... Building server function: default... Applying code patches: 3.370s # copyPackageTemplateFiles ⚙️ Bundling the OpenNext server...  Worker saved in `.open-next/worker.js` 🚀  OpenNext build complete. > aieditorrsp@0.1.0 seo:audit > node scripts/seo-audit.mjs { "ok": true, "generated_at": "2026-06-02T10:19:21.657Z", "checks": [ "JSON-LD component presence", "word count floor", "semantic coverage floor", "rendered/prod-like image alt attributes", "canonical/og:url metadata", "sitemap inclusion", "thin /prompts/[slug] sitemap ban" ], "pages": [ { "route": "/", "word_count": 1285, "exact_keyword_count": 8, "exact_keyword_density_pct": 0.62, "semantic_keyword_count": 156, "semantic_density_pct": 12.14, "expected_schema": [ "WebApplication", "FAQPage", "BreadcrumbList" ], "source_schema_component": [ "WebApplication", "FAQPage", "BreadcrumbList", "Article", "CollectionPage" ], "missing_expected_schema": [], "image_alt": { "img_count": 0, "img_missing_alt": 0, "missing_alt_imgs": [], "rendered_html_source": ".next/server/app/index.html", "rendered_build_output": true }, "failures": [] }, { "route": "/ai-photo-prompt-editor", "word_count": 1162, "exact_keyword_count": 10, "exact_keyword_density_pct": 0.86, "semantic_keyword_count": 140, "semantic_density_pct": 12.05, "expected_schema": [ "WebApplication", "FAQPage" ], "source_schema_component": [ "WebApplication", "FAQPage", "BreadcrumbList", "Article", "CollectionPage" ], "missing_expected_schema": [], "image_alt": { "img_count": 0, "img_missing_alt": 0, "missing_alt_imgs": [], "rendered_html_source": ".next/server/app/ai-photo-prompt-editor.html", "rendered_build_output": true }, "failures": [] }, { "route": "/chatgpt-photo-editing-prompts", "word_count": 1181, "exact_keyword_count": 12, "exact_keyword_density_pct": 1.02, "semantic_keyword_count": 143, "semantic_density_pct": 12.11, "expected_schema": [ "Article", "FAQPage", "BreadcrumbList" ], "source_schema_component": [ "WebApplication", "FAQPage", "BreadcrumbList", "Article", "CollectionPage" ], "missing_expected_schema": [], "image_alt": { "img_count": 3, "img_missing_alt": 0, "missing_alt_imgs": [], "rendered_html_source": ".next/server/app/chatgpt-photo-editing-prompts.html", "rendered_build_output": true }, "failures": [] }, { "route": "/ai-photo-editing-prompts", "word_count": 977, "exact_keyword_count": 6, "exact_keyword_density_pct": 0.61, "semantic_keyword_count": 114, "semantic_density_pct": 11.67, "expected_schema": [ "CollectionPage", "FAQPage" ], "source_schema_component": [ "WebApplication", "FAQPage", "BreadcrumbList", "Article", "CollectionPage" ], "missing_expected_schema": [], "image_alt": { "img_count": 5, "img_missing_alt": 0, "missing_alt_imgs": [], "rendered_html_source": ".next/server/app/ai-photo-editing-prompts.html", "rendered_build_output": true }, "failures": [] }, { "route": "/prompt-library", "word_count": 1344, "exact_keyword_count": 5, "exact_keyword_density_pct": 0.37, "semantic_keyword_count": 133, "semantic_density_pct": 9.9, "expected_schema": [ "CollectionPage", "FAQPage" ], "source_schema_component": [ "WebApplication", "FAQPage", "BreadcrumbList", "Article", "CollectionPage" ], "missing_expected_schema": [], "image_alt": { "img_count": 0, "img_missing_alt": 0, "missing_alt_imgs": [], "rendered_html_source": ".next/server/app/prompt-library.html", "rendered_build_output": true }, "failures": [] }, { "route": "/pricing", "title_len": 43, "description_len": 137, "image_alt": { "img_count": 0, "img_missing_alt": 0, "missing_alt_imgs": [], "rendered_html_source": ".next/server/app/pricing.html", "rendered_build_output": true }, "failures": [] }, { "route": "/privacy", "title_len": 43, "description_len": 150, "image_alt": { "img_count": 0, "img_missing_alt": 0, "missing_alt_imgs": [], "rendered_html_source": ".next/server/app/privacy.html", "rendered_build_output": true }, "failures": [] }, { "route": "/terms", "title_len": 40, "description_len": 159, "image_alt": { "img_count": 1, "img_missing_alt": 0, "missing_alt_imgs": [], "rendered_html_source": ".next/server/app/terms.html", "rendered_build_output": true }, "failures": [] }, { "route": "/cookie-policy", "title_len": 41, "description_len": 137, "image_alt": { "img_count": 0, "img_missing_alt": 0, "missing_alt_imgs": [], "rendered_html_source": ".next/server/app/cookie-policy.html", "rendered_build_output": true }, "failures": [] }, { "route": "/refund", "title_len": 40, "description_len": 148, "image_alt": { "img_count": 0, "img_missing_alt": 0, "missing_alt_imgs": [], "rendered_html_source": ".next/server/app/refund.html", "rendered_build_output": true }, "failures": [] }, { "route": "/contact", "title_len": 40, "description_len": 137, "image_alt": { "img_count": 2, "img_missing_alt": 0, "missing_alt_imgs": [], "rendered_html_source": ".next/server/app/contact.html", "rendered_build_output": true }, "failures": [] } ], "failures": [], "waiver_notes": [ "Exact primary-keyword density is not forced to 2.5%-3.6% when it would create keyword stuffing; semantic coverage must be >=2.5% and exact terms must remain visibly present.", "Raw Stitch images without alt are remediated by getRawDesignBody using data-alt or route fallback text, and seo:audit checks built/rendered HTML when available." ] } ┌──────────────────────────────┐ │ OpenNext — Cloudflare deploy │ └──────────────────────────────┘ Incremental cache does not need populating Tag cache does not need populating ⛅️ wrangler 4.95.0 (update available 4.96.0) ───────────────────────────────────────────── Cloudflare collects anonymous telemetry about your usage of Wrangler. Learn more at https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler/telemetry.md 🌀 Building list of assets... ✨ Read 104 files from the assets directory /mnt/HC_Volume_105300089/projects/aieditorrsp/.open-next/assets 🌀 Starting asset upload... 🌀 Found 1 new or modified static asset to upload. Proceeding with upload... + /BUILD_ID Uploaded 1 of 1 asset ✨ Success! Uploaded 1 file (62 already uploaded) (1.43 sec) Total Upload: 5594.74 KiB / gzip: 1120.31 KiB Worker Startup Time: 26 ms Your Worker has access to the following bindings: Binding Resource env.DB (aieditorrsp-db) D1 Database env.WORKER_SELF_REFERENCE (aieditorrsp) Worker env.ASSETS Assets env.APP_ORIGIN ("https://aieditorrsp.net") Environment Variable env.SITE_NAME ("AI Editor RSP") Environment Variable env.FREE_DAILY_GENERATIONS ("2") Environment Variable env.PRO_MONTHLY_CREDITS ("200") Environment Variable env.CREDIT_PACK_CREDITS ("100") Environment Variable env.ANON_RESULT_TTL_HOURS ("24") Environment Variable env.AI_PROVIDER_NAME ("fal") Environment Variable env.FAL_MODEL ("fal-ai/flux-pro/kontext") Environment Variable env.NEXT_PUBLIC_SITE_URL ("https://aieditorrsp.net") Environment Variable env.NEXT_PUBLIC_PLAUSIBLE_DOMAIN ("aieditorrsp.net") Environment Variable Uploaded aieditorrsp (12.02 sec) Deployed aieditorrsp triggers (3.06 sec) aieditorrsp.net (custom domain) Current Version ID: ce1e37b5-4494-44a2-8c8f-896dbc653e20