← Back to the archive Field Notes
Getting started with Astro in 2026
Astro 6 is fast, has solid content collections, and ships almost no JS. Here's how to start a blog with it.
⁂
Astro has quietly become one of the best ways to build a content site. It defaults to zero JavaScript, supports Markdown, MDX and content collections out of the box, and renders well on every device.
Install
bun create astro@latest -- --template blog
cd my-blog
bun dev
That’s it — you have a working blog at localhost:4321.
The two files you actually edit
src/content.config.ts— the schema for your posts.src/pages/— your routes.
Almost everything else is wiring you only touch when you want to.
A minimal schema
import { defineCollection, z } from 'astro:content';
export const collections = {
blog: defineCollection({
schema: z.object({
title: z.string(),
pubDate: z.coerce.date(),
description: z.string(),
}),
}),
};
Add a post to src/content/blog/ and Astro picks it up.
Why this stack is good in 2026
- Static output — your blog survives traffic spikes for free.
- View transitions and image optimization are first-party.
- MDX is there when you need a component inside a post, not pushed on you when you don’t.
- Sitemaps, RSS, hreflang — all one integration away.
If you mostly publish words and screenshots, you don’t need React. You need fast HTML.
⁂