Astro Adapter Mismatch Between SSR and SSG Modes
Astro deploy fails or pages render blank because the adapter and output mode don't match, or a route's prerender flag silently overrides the global mode. Diagnose and fix it (Astro 5/6, June 2026).
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 and output mode don't match, or a route's prerender flag silently overrides the global mode. Diagnose and fix it (Astro 5/6, June 2026).
Vercel/Netlify preview URLs showing in Google's index — usually a custom-domain preview, an indexable latest branch deploy, or a sitemap/canonical that overrides the auto noindex. Here's the fast fix.
Your GitHub Actions deploy step hangs and gets cancelled at the 360-minute job limit. The fastest fix is a shell timeout wrapper plus non-interactive deploy flags. Full diagnosis and fixes inside.
Your monorepo has three deployable apps but Vercel only deploys one. Fix the per-project Root Directory, the Skip-deployment toggle, and the Turborepo filter scope — with exact menu paths as of June 2026.
A Netlify Function works locally but the first request after idle returns 502 with 'Task timed out after 10.00 seconds'. Fastest fix: lazy-import heavy SDKs and remove aws-sdk v2 so cold-start init fits the 10s sync limit.
An ISR page keeps serving old HTML past its revalidate window. Read the x-vercel-cache header, force an on-demand revalidate, and fix the real cause: edge shadowing, a failing background render, or a path mismatch.
Users still see the old site after you deploy because a service worker keeps serving the cached bundle. Fix it with NetworkFirst HTML, skipWaiting + clientsClaim, a no-cache sw.js, and a same-URL self-destruct kill switch for trapped users.
Your Vercel build runs to 45 minutes and dies with 'Build step did not complete within the maximum of 45 minutes' — usually a cold cache, unbounded page generation, or a hung post-build step. Here's how to find which one.
Moved to a new domain but pages still emit the old canonical — fix hard-coded URLs, CDN cache, sitemap, 301s, and Search Console.
SSL pending for hours after adding a domain on Vercel/Cloudflare/Netlify? It's almost always DNS, a CAA record, or a blocked HTTP-01 challenge. Here's the order to check.
Vercel / Firebase / Cloudflare say the deploy shipped, but visitors still see yesterday's HTML. The 5 ranked causes and a 10-minute client-to-origin diagnostic.
You changed DNS and some users see the new IP, some the old. Here's why regional inconsistency is normal, plus a measurable fix and verification path.
Works locally, fails in prod. Env var not set on the host, or wrong client prefix (PUBLIC_ / VITE_ / NEXT_PUBLIC_). Diagnose and fix in ~10 minutes.
Homepage works but /about or a refreshed /blog/post returns 404 on Firebase Hosting? It's almost always firebase.json rewrites. Verified fixes for SPA, SSG, Astro, and Next.js as of June 2026.
Share to LinkedIn / X / Slack and no image shows. Fix the meta tag, image size, or cache in minutes.
Your vercel.json / _redirects 301 deployed but fires a 404 or the old page. Diagnose with curl -I across Vercel, Netlify, and Cloudflare Pages — file location, rule order, file shadowing, CDN cache, trailing slash, rewrites vs redirects.
Your /rss.xml or /feed.xml 404s: the endpoint isn't in the build, the filename mismatches the link tag, or a host rewrite is hiding it. Per-stack fixes for Astro, Next.js, Netlify, Vercel.
Images, CSS, and fonts 404 in production but work locally. Five web-verified causes and fixes: missing dist/ copy, base path, case mismatch, content hash, CDN cache.
Production URL loads to an empty page with no UI error. Open DevTools before navigating, read the first red console line, and map it to the fix — base path, hydration, CSP, build target, or a stale Service Worker.
/foo 308s to /foo/ then 308s back to /foo. One rule across framework, host, and links kills the redirect chain. Astro/Vercel/Next.js config included.