# Astro + Markdown + CDN
URL: https://wwadd.dev/stacks/astro-markdown-cdn
Last verified: 2026-09-28

Content sites that stay fast because there is almost no JavaScript to ship.

## When to use it
- Blogs, docs, changelogs, marketing sites — content changes, layout rarely does
- Authors are comfortable writing Markdown in a repo
- Lighthouse scores and Core Web Vitals are a business requirement

## How the pieces fit
Astro renders components to HTML at build time and strips their JavaScript unless you explicitly opt in with an island. Markdown files become typed content collections, so a missing frontmatter field fails the build instead of the page. The output is static files, which a CDN serves from the edge with no origin server, no cold starts, and no database to keep alive.

## The tech and its role
- [Astro](https://wwadd.dev/tools/astro): Static site generator, islands architecture
- Markdown / MDX: Content authoring
- [Content Collections](https://wwadd.dev/tools/astro): Typed frontmatter and schema validation
- [Tailwind CSS](https://wwadd.dev/tools/tailwind-css): Styling
- [Cloudflare Workers / Netlify](https://wwadd.dev/tools/cloudflare-workers): CDN hosting and build pipeline (Cloudflare now steers new projects to Workers over Pages)

## Real-world examples
- Astro's own docs: Built with Astro and content collections; the repo is public and is the canonical example of the pattern. (source: https://github.com/withastro/docs)
- Cloudflare developer docs: Moved developers.cloudflare.com from Hugo to Astro with the Starlight docs theme and open-sourced the content. (source: https://blog.cloudflare.com/open-source-all-the-way-down-upgrading-our-developer-documentation/, 2025)
- Firebase blog: Rebuilt the Firebase blog on Astro, reporting a 71% performance improvement and publishing time cut from hours to minutes. (source: https://astro.build/case-studies/firebase/)

## Skip if
Skip if the page content depends on who is logged in — personalization fights a fully static build.

## Testing and shipping
- [Verify the production build before release](https://wwadd.dev/moves/testing-shipping/verify-built-release)

