# Astro in the AI Age: What Changed, Who Owns It, and When It Fits

> How Astro grew from 2024 to 2026, what Cloudflare’s ownership changes for buyers, and what AI crawlers and coding agents actually reward on a content site.

- Source: https://choatecatalysts.com/canon/astro-in-the-ai-age/
- Author: Douglas Choate, Choate Catalysts (https://choatecatalysts.com/craft/douglas-choate/)
- Published: 2026-10-19
- Updated: 2026-10-22
- Collection: The Canon (https://choatecatalysts.com/canon/)

---

In January 2024, Astro was downloaded about [858,000 times](https://api.npmjs.org/downloads/point/2024-01-01:2024-01-31/astro) in a month. In September 2026, it was about [24 million](https://api.npmjs.org/downloads/point/2026-09-01:2026-09-30/astro). In between, Cloudflare bought the company behind it, and Astro started shipping features built for AI coding agents. Yet Astro still runs on about half of one percent of the websites HTTP Archive tracks. If you’re deciding whether Astro belongs in your stack, you need both numbers. This guide covers what changed between 2024 and now, what Cloudflare’s ownership does and doesn’t change for you, and what the AI age actually rewards on a content site.

I’m not neutral here: this site runs on Astro, and building and migrating websites is part of the work I sell. I’ll show you what we actually use, and where I think Astro is the wrong call.

## What Astro Is For

Astro is a web framework: the layer of code that turns your content and templates into pages. Its own documentation says it [“was designed for building content-rich websites”](https://docs.astro.build/en/concepts/why-astro/), renders on the server rather than in the browser, and ships “Zero JS, by default.”

That last part is the whole idea. Many modern frameworks send the browser a bundle of JavaScript that then builds the page. Astro sends finished HTML. If one part of a page needs to be interactive, like a search box or a pricing calculator, you opt that part in. Astro calls these islands: small interactive pieces in an otherwise static page.

The same page is honest about the trade-off. Frameworks built for applications, it says, [“excel at building more complex, application-like experiences in the browser.”](https://docs.astro.build/en/concepts/why-astro/)

Astro’s bet is that most marketing sites aren’t applications. For most of the sites I see, I think that bet is right.

## Three Major Versions in 19 Months

Astro moved quickly between 2024 and now. These are the releases a marketing team should know about.

| Release | Date | What it added |
| --- | --- | --- |
| [4.15](https://astro.build/blog/astro-4150/) | August 29, 2024 | Actions (typed server functions for forms and the like) out of experimental |
| [5.0](https://astro.build/blog/astro-5/) | December 3, 2024 | Content Layer, one typed way to load content from files, APIs or a CMS; server islands |
| [5.7](https://astro.build/blog/astro-570/) | April 15, 2025 | Sessions stable; an experimental Fonts API |
| [6.0](https://astro.build/blog/astro-6/) | March 10, 2026 | Live content collections and a Content Security Policy API, both stable; a built-in Fonts API; Cloudflare’s runtime in local development |
| [7.0](https://astro.build/blog/astro-7/) | June 22, 2026 | A compiler rewritten in Rust; Vite 8; route caching; a dev server built for AI agents |
| [7.2](https://astro.build/blog/astro-720/) | August 6, 2026 | Incremental static builds, which skip unchanged pages (experimental) |
| [7.4](https://astro.build/blog/astro-740/) | October 15, 2026 | Build timing reports; parallel page rendering (experimental) |

Three of these matter most for content sites.

The Content Layer in 5.0 gave Astro one way to pull content from Markdown files, an API or a headless CMS, with types checked at build time. Astro reported Markdown-heavy sites building [“up to 5x faster”](https://astro.build/blog/astro-5/). That’s Astro’s own benchmark.

Live content collections, stable in [6.0](https://astro.build/blog/astro-6/), fetch content when a page is requested instead of at build time. An editor’s change can go live without a rebuild.

Astro 7 rewrote the compiler in Rust and moved to Vite 8. Astro reports builds [“15-61%”](https://astro.build/blog/astro-7/) faster on its own benchmark sites.

The cost is churn. Astro 6 [dropped Node 18 and 20](https://astro.build/blog/astro-6-beta/) and removed older APIs. Astro 7 [removed Astro DB](https://docs.astro.build/en/guides/upgrade-to/v7/), made the compiler stricter, and changed its whitespace default, so the space between a link and the word after it can disappear.

Two major versions shipped in 2026 alone. Budget for at least one upgrade a year, and apply patches promptly. That’s true of any framework, but a fast-moving one punishes neglect sooner.

## What a Marketing Site Actually Uses

We rebuilt this site on Astro on August 15, 2026. It replaced a single-page JavaScript app and the old WordPress site that hosted our articles. It’s a static build served from Cloudflare, and our [site walkthrough](/work/choate-catalysts/) shows the architecture.

From the table above, we use almost nothing.

- **One content collection** for the Canon, with a strict schema, so an article with a missing date or description fails the build instead of going live.
- **Static HTML** for every page, with key links prefetched when a visitor hovers over them.
- **A few text files** generated from the same collection. More on those below.

We don’t use Actions, sessions, server islands, live collections, the Fonts API (we self-host fonts by hand) or a single UI framework island. The homepage loads three small scripts up front, about 15 KB together before compression, plus our assistant’s chat widget. The three.js engine behind the particle field, about 300 KB compressed, loads afterward, once the visitor first interacts with the page. As the walkthrough puts it, “Nothing depends on JavaScript to be read.”

That’s the point worth taking away. Most of Astro’s feature list is optional. A marketing site can use Astro as a fast, strict static site generator and ignore the rest until it needs something.

## Cloudflare Owns the Team Now

On January 16, 2026, [Cloudflare announced](https://www.cloudflare.com/press/press-releases/2026/cloudflare-acquires-astro-to-accelerate-the-future-of-high-performance-web-development/) that it had acquired The Astro Technology Company. Terms weren’t disclosed. Both sides promised that Astro [“will remain open source, MIT-licensed, and open to contributions,”](https://blog.cloudflare.com/astro-joins-cloudflare/) with “a public roadmap and open governance,” and that it would keep deploying to other hosts. All of Astro’s full-time employees became Cloudflare employees.

Fred Schott’s post on Astro’s blog is unusually candid about why. The company raised money in 2021 to sell hosted services around the framework, and [“Attempts to introduce paid, hosted primitives into our ecosystem fell flat.”](https://astro.build/blog/joining-cloudflare/)

Here’s what has changed since.

- **Cloudflare’s runtime is first-class in development.** With the Cloudflare adapter, Astro 6’s dev server runs workerd, [“the same runtime that powers Cloudflare Workers in production.”](https://astro.build/blog/astro-6-beta/)
- **Astro DB is gone.** The Astro 7 [upgrade guide](https://docs.astro.build/en/guides/upgrade-to/v7/) points users to Node’s built-in SQLite or Drizzle instead.
- **Cloudflare builds on Astro itself.** On October 19, 2026, the page source of [Cloudflare’s developer docs](https://developers.cloudflare.com/) identified them as built with Astro. On April 1, 2026, Cloudflare launched [EmDash](https://blog.cloudflare.com/emdash-wordpress/), a CMS “powered by Astro” that it calls “the spiritual successor to WordPress,” and announced [version 1.0](https://blog.cloudflare.com/emdash-cms-plugin-registry/) on September 28. Critics note that many EmDash features [depend on Cloudflare](https://www.searchenginejournal.com/emdash-1-0-challenges-wordpress-freedom-with-cloudflare-lock-in/591378/), and that existing WordPress plugins and themes [don’t run on it](https://www.theregister.com/2026/04/02/cloudflare_previews_emdash_an_aidriven/).

And what hasn’t: when Astro 7 made its caching layer stable, it shipped experimental providers for [Netlify and Vercel](https://astro.build/blog/astro-7/) alongside Cloudflare.

My read: the old risk with Astro was a venture-funded company searching for a business model. That risk is gone. The new one is quieter: a framework owned by a host. Nothing in the releases so far locks you in.

Keep your host-specific code in one place. Before you commit, check that every Astro feature you rely on works on your host.

## How Big Astro Really Is

Astro’s size depends on what you count. Here are three kinds of numbers side by side.

| Measure | Astro | Next.js | Source |
| --- | --- | --- | --- |
| npm downloads, week of October 12 to 18, 2026 | 4,784,961 | 41,069,423 | [npm](https://api.npmjs.org/downloads/point/2026-10-12:2026-10-18/astro), [npm](https://api.npmjs.org/downloads/point/2026-10-12:2026-10-18/next) |
| Share of sites detected, September 2026 (mobile) | 0.57% | 4.63% | [HTTP Archive](https://httparchive.org/reports/techreport/tech?tech=Astro), [HTTP Archive](https://httparchive.org/reports/techreport/tech?tech=Next.js) |
| Sites using it among the top 1,000 | 8 | 83 | [HTTP Archive](https://httparchive.org/reports/techreport/tech?tech=Astro), [HTTP Archive](https://httparchive.org/reports/techreport/tech?tech=Next.js) |
| Developers who use it, Stack Overflow 2025 | 4.5% | 20.8% | [Stack Overflow](https://survey.stackoverflow.co/2025/technology) |
| “Admired” score, Stack Overflow 2025 | 62.2% | 45.5% | [Stack Overflow](https://survey.stackoverflow.co/2025/technology) |

**Downloads overstate adoption.** When the deal was announced, Astro said it was [“downloaded almost 1,000,000 times per week.”](https://astro.build/blog/joining-cloudflare/) It’s nearly five times that now. But a download is an install, not a website, and installs come from build servers, automated pipelines and AI agents as well as people. Monthly downloads grew about 7.4 times from [September 2025](https://api.npmjs.org/downloads/point/2025-09-01:2025-09-30/astro) to [September 2026](https://api.npmjs.org/downloads/point/2026-09-01:2026-09-30/astro). Over the same year, the number of sites where [HTTP Archive](https://httparchive.org/reports/techreport/tech?tech=Astro) detected Astro grew about 2.8 times, from 17,783 to 49,450. Next.js shows a similar gap, so it isn’t just Astro.

**Sites show real growth from a small base.** HTTP Archive found Astro on 0.05% of the mobile sites it crawled in January 2024 and 0.57% in September 2026. That’s more than ten times the share. It’s also about one-eighth of Next.js, and Astro is rare among the biggest sites.

**Developers like it.** In Stack Overflow’s 2025 survey, Astro’s 62.2% “admired” score ranked fourth among web frameworks and technologies. [State of JS 2025](https://2025.stateofjs.com/en-US/libraries/meta-frameworks/) gave Astro “the top satisfaction ranking” among meta-frameworks, and noted that Next.js keeps gaining ground while “losing satisfaction.”

So Astro is small, growing fast, and loved by the people who use it. It isn’t the default. Its talent pool is smaller, too: about one in 22 Stack Overflow respondents use it, against one in five for Next.js.

## Plain HTML Is What AI Crawlers Read

In a [December 17, 2024 study](https://vercel.com/blog/the-rise-of-the-ai-crawler) of traffic on its network, Vercel found that “none of the major AI crawlers currently render JavaScript,” naming OpenAI, Anthropic, Meta, ByteDance and Perplexity. Gemini, through Googlebot, and AppleBot do render it.

That’s one company’s data from late 2024, and crawlers change. The safe conclusion still holds: if your words only appear after JavaScript runs, some AI systems may never see them.

Astro’s default output is the safe case. Every page leaves the server as finished HTML.

Speed tells a similar story, with a caveat. In HTTP Archive’s Technology Report for September 2026, which uses Chrome real-user data, [71.1% of Astro sites](https://httparchive.org/reports/techreport/tech?tech=Astro) passed all three Core Web Vitals, Google’s page-experience measures, on mobile. Across all sites, 52.8% passed. But Astro sites skew toward simpler content sites built by performance-minded teams. That’s a correlation, not proof Astro makes a site fast.

A cleaner comparison is a single migration. In August 2026, Evil Martians moved a site of more than 1,000 pages from Gatsby to Astro. According to the [case study on Astro’s site](https://astro.build/case-studies/evil-martians/), they kept their React components, cut homepage JavaScript by 61%, and raised their mobile Lighthouse score from 66 to 90.

## llms.txt, Markdown and MCP: What the Evidence Says

In September 2024, Jeremy Howard [proposed llms.txt](https://llmstxt.org/): a markdown file at the root of a site that points AI tools to its content, plus a clean markdown version of each page.

Astro’s documentation team ran the experiment in public. They added llms.txt files in April 2025. On January 2, 2026, a maintainer [proposed removing them](https://github.com/withastro/docs/discussions/13006): requests made up “<0.1% of our traffic,” and generating the files took about 23 seconds in a recent build, roughly 10% of its total.

They came out on [April 20, 2026](https://github.com/withastro/docs/pull/13538). In the last week before removal, the three files drew about 5,000 requests: 35% from Googlebot, 30% from browsers, 15% from ChatGPT’s user-triggered fetcher. Over the same week, Astro’s docs MCP server handled “more than 3 million requests,” mostly from coding tools like Cursor and Claude Code. MCP, the Model Context Protocol, is a standard way for an AI tool to query a service directly.

As the pull request put it: “AI trends move quickly.”

Few sites publish llms.txt at all. The [2025 Web Almanac](https://almanac.httparchive.org/en/2025/generative-ai), working from a July 2025 crawl, found valid llms.txt files on just 2.1% of mobile pages. And not everyone has dropped theirs: [Next.js](https://nextjs.org/llms.txt), [Nuxt](https://nuxt.com/llms.txt), [Svelte](https://svelte.dev/llms.txt) and [Cloudflare’s docs](https://developers.cloudflare.com/llms.txt) still served one on October 19, 2026.

Markdown for individual pages has a better argument: it’s smaller. On February 12, 2026, Cloudflare launched [Markdown for Agents](https://blog.cloudflare.com/markdown-for-agents/), which converts a page to markdown at the edge when an AI tool asks for it by sending an `Accept: text/markdown` header. Cloudflare’s example post was 16,180 tokens as HTML and 3,150 as markdown. It’s a beta on Pro plans and up. When we sent that request to Cloudflare’s own docs, an Astro site, they answered in markdown.

Here’s what this site does. It publishes an [llms.txt](/llms.txt) index, a [single file with every article](/llms-full.txt), and a markdown version of each article, like [this one](/canon/the-agent-value-stack.md). Each article page links to its markdown version, and our [robots.txt](/robots.txt) welcomes 21 AI crawlers by name. Astro generates all of it at build time from the same collection as the HTML, so it can’t drift out of date. We don’t yet answer that markdown request header, though. Our pages return HTML.

I can’t show you that these files have earned us a single citation. We keep them because they cost us almost nothing. If they took real ongoing work, I’d drop them, the way Astro did.

My advice:

- **HTML first.** Every important sentence should be in the page with JavaScript turned off.
- **Markdown and llms.txt only if they’re cheap.** Generate them from the same source as your pages. Don’t pay for them as a way to get cited.
- **MCP when people query you.** If developers or agents use your product or documentation, an MCP server is where the traffic went. A brochure site doesn’t need one.

## Building Astro Sites With AI Agents

Astro 7 added features for coding agents. When it detects an AI agent, [`astro dev` runs in the background](https://astro.build/blog/astro-7/) as a managed process. A lockfile stops the agent from starting duplicate servers, a status endpoint reports whether the server is ready, and logs come out as structured JSON.

There’s a catch for teams like ours. Background mode works on macOS and Linux. On Windows, [Astro’s docs say](https://docs.astro.build/en/guides/build-with-ai/), it runs in the foreground. We build this site on Windows with Claude Code and Codex, so we don’t get it.

The more useful piece is the docs MCP server. [Astro’s AI guide](https://docs.astro.build/en/guides/build-with-ai/) has setup steps for Claude Code, Codex CLI, Cursor, VS Code, Gemini CLI, Zed and others. It matters because an agent’s training data lags a framework that shipped two major versions in 2026. The same guide tells you to have agents check current APIs, especially for sessions and actions.

Astro 7’s stricter compiler helps too. Unclosed tags are now errors, and invalid nesting is [no longer silently corrected](https://docs.astro.build/en/guides/upgrade-to/v7/). When an agent writes the markup, I’d rather a mistake fail the build than ship.

AI runs through Astro’s own story, too. The Rust compiler, first shipped as an experiment in Astro 6, [“started as an AI experiment,”](https://astro.build/blog/astro-6/) that release post says. In the Evil Martians migration, a senior engineer said “an LLM could handle most of the repetitive translation.” The case study doesn’t say how much.

## When Astro Is the Wrong Fit

Astro’s own docs tell you where it isn’t the best tool.

- **App-like products.** Logged-in dashboards, heavy in-browser state and complex interfaces are where application frameworks [“excel,”](https://docs.astro.build/en/concepts/why-astro/) in Astro’s words.
- **Sites built around records and workflows.** Memberships, customer accounts and editorial workflows need a system that holds data. That’s the half of the web I argued [WordPress is positioned to keep](/canon/why-wordpress-is-uniquely-positioned-to-thrive-in-the-ai-era/).
- **Teams without an owner.** Astro is a framework, not a CMS. Someone has to run upgrades, keep it patched, and give editors a way to publish.
- **Hiring-constrained teams.** If you need the widest pool of developers who already know the stack, the survey numbers above favor Next.js.

## Before You Choose Astro

- Is the site mostly content: pages, articles, landing pages?
- Does anything need logins, carts or customer records? Put those somewhere built for them.
- Is every important sentence in the HTML with JavaScript turned off? Test it.
- Who owns upgrades? Plan for at least one major version a year, and patch promptly.
- Do the Astro features you need work on your host?
- Are your AI-facing files generated from the same source as your pages, at no extra cost?
- Do your developers, and their agents, work from current docs, for example through Astro’s MCP server?

If you’re weighing a move from WordPress to a static Astro site, our [WordPress migration guide](/wordpress-migration/) covers the URL mapping and launch checks that decide whether it goes well.
