Astro Adapter Mismatch Between SSR and SSG Modes
Astro deploy fails or pages render blank because the adapter expects SSR but config says static, or vice versa — diagnose by aligning output, adapter, and route prerender flags.
Vercel build, Firebase Hosting, Astro deploys, route 404s, sitemap, robots.txt.
Most deploy-stage errors aren`t code bugs — they`re tool config issues. Hub covers Vercel, Firebase Hosting, Astro / Next static sites: build failures, hangs, 500s, 404s, missing sitemap / robots.
Astro deploy fails or pages render blank because the adapter expects SSR but config says static, or vice versa — diagnose by aligning output, adapter, and route prerender flags.
Preview URLs from Vercel or Netlify appear in Google's index, often outranking your canonical domain — usually a missing noindex header or robots block on preview hosts.
Your GitHub Actions deploy step hangs and gets cancelled at the 6-hour job limit — usually a wait-for-deployment poll, network egress block, or a deploy CLI waiting on missing input.
Your monorepo has three deployable apps but Vercel only deploys one — usually a root directory misconfig, ignored build command, or Turbo filter that swallows the others.
A Netlify Function works locally but the first request after idle returns a 502 with 'Task timed out after 10.00 seconds' — almost always cold-start init weight or upstream DNS.
An ISR page keeps serving cached HTML for hours past its revalidate window — almost always a CDN cache shadowing, build-output drift, or on-demand path mismatch.
Users see the old site after you deploy because a service worker is caching the previous bundle and never picks up the new one — fix with skipWaiting, clean cache scope, and a kill switch.
Your Vercel build runs for 45 minutes and gets killed with 'Build exceeded maximum duration' — usually a cold cache, unbounded page generation, or a hung post-build step.
Switched domains but old canonical still appears — config + cache.
SSL pending for hours after domain hookup — usually DNS or CAA.
Vercel / Firebase says deploy ok, but visitors see yesterday's version.
You changed DNS and some users see new, some see old. Here's why and how to test.
Works locally, fails prod — env var not set, or prefix issue (PUBLIC_ / VITE_ / NEXT_PUBLIC_).
After deploying to Firebase Hosting, the homepage works but /about and other subpages return 404? Your firebase.json rewrites are misconfigured. Fixes for SPA, SSG, static multipage, Astro, and Next.js.
Share to LinkedIn / X / Slack and no image shows — meta tag, image size, or cache.
You configured redirects but they don't fire — order, format, host quirks.
/rss.xml or /feed.xml 404 — endpoint missing, wrong filename, or host caching.
Images and CSS 404 after deploy but work locally. Five typical causes — missing dist/ copy, base path, content hash, public folder, host upload step.
Browser shows nothing, no error — almost always hydration or JS import failure.
/foo redirects to /foo/ then to /foo (or 308 → 301 chain). Pick one and stick to it.