Illustration of getting started with Astro framework
Development

Getting Started with Astro: A Complete Guide

Daylongs · · 3 min read

Astro is a modern web framework designed for building fast, content-focused websites like blogs and documentation sites. It ships zero JavaScript by default, supports React, Vue, and Svelte components, and includes built-in Markdown content management. A basic Astro blog can be set up in under an hour using the official blog template and deployed to Cloudflare Pages or Netlify for free.

What is Astro?

Solo grocery shopping tips →

Solo living safety checklist →

Astro is a modern web framework built for content-driven websites. It minimizes client-side JavaScript by default, resulting in exceptional loading speeds.

Why Choose Astro?

For content-heavy sites like blogs, Astro is an excellent choice:

10 Practical Tailwind CSS Tips for Faster Web Development →

  • Fast Performance: Ships zero JavaScript by default
  • Flexible Integration: Use React, Vue, Svelte, or any UI framework
  • Markdown Support: Type-safe content management with Content Collections
  • SEO Optimized: Static site generation for search engine optimization

How Do You Get Started?

Setting up a new project is straightforward:

How to Build a Blog with Astro: A Complete Step-by-Step Guide →

npm create astro@latest my-blog -- --template blog
cd my-blog
npm run dev

Run npm run dev and your local dev server starts at http://localhost:4321. Changes to files are reflected instantly in the browser without a manual refresh.

Understanding the Project Structure

The blog template gives you a clean starting point:

my-blog/
├── src/
│   ├── content/
│   │   ├── config.ts        # Content schema definitions
│   │   └── blog/            # Your Markdown posts live here
│   ├── layouts/
│   │   └── BlogPost.astro   # Post layout template
│   └── pages/
│       ├── index.astro      # Home page
│       └── blog/
│           └── [...slug].astro  # Dynamic post routes
├── public/                  # Static files (images, favicon, etc.)
└── astro.config.mjs         # Astro configuration

Any .md file you add to src/content/blog/ automatically becomes a blog post. No routing configuration needed.

Writing Your First Post

Create src/content/blog/my-first-post.md:

---
title: "My First Post"
description: "Hello from my new Astro blog."
pubDate: 2026-04-09
heroImage: "/images/first-post.webp"
tags: ["Astro", "Blog"]
---

Write your content here using standard **Markdown** syntax.

## A Subheading

More content...

The frontmatter block (between ---) must match the schema defined in config.ts. If a required field is missing or the type is wrong, the build fails with a helpful error — which is exactly what you want.

Adding Tailwind CSS

For styling, Tailwind CSS pairs perfectly with Astro:

npx astro add tailwind

This single command installs the package, updates astro.config.mjs, and creates tailwind.config.mjs automatically. No manual wiring needed.

Deploying to Cloudflare Pages for Free

Cloudflare Pages is the fastest way to get your Astro blog live at no cost:

  1. Push your code to a GitHub repository
  2. Go to Cloudflare Pages and connect your repository
  3. Set the build command to npm run build and the output directory to dist
  4. Save — your first deployment starts automatically

Every subsequent push to the main branch triggers a new build and deploy. Custom domains are free to connect too.

Astro Blog Launch Checklist

  • Project created with npm create astro@latest
  • Dev server running at localhost:4321
  • Content schema defined in src/content/config.ts
  • First post written in src/content/blog/
  • Tailwind CSS added (npx astro add tailwind)
  • @astrojs/sitemap installed for automatic sitemap generation
  • Code pushed to GitHub
  • Cloudflare Pages deployment live
  • public/robots.txt created
  • Sitemap submitted to Google Search Console

Wrapping Up

Astro is one of the best tools for building a blog. It offers fast performance, great developer experience, and a rich ecosystem. From a single npm create astro@latest command to a live, SEO-optimized blog on Cloudflare Pages — you can be publishing your first post today.


What is Astro?

Astro is a modern web framework designed for building fast, content-focused websites. It ships zero JavaScript by default for excellent performance.

How long does it take to build a blog with Astro?

The basic structure can be set up in a few hours. Using Astro's blog template makes it even faster to get started.

공유하기

관련 글