Built-in dark and light mode toggle
astro-starter-pro — Astro Blog Template
By devgelo-labs
Astro Starter Pro is a free, open-source Astro starter template with built-in pages for blogs and corporate websites plus SEO configuration, released under the MIT license.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Automatically generates meta tags, JSON-LD structured data, RSS, Open Graph, Twitter Cards, and sitemap
Scroll reveal animations implemented with Intersection Observer
Manages Markdown/MDX blog posts through Astro content collections
Provides reusable components such as Navbar, Footer, and base layouts
Includes scripts for ESLint, Prettier, astro check, and TypeScript type checking
Template Details
Astro Starter Pro is maintained by devgelo-labs and is an Astro starter template aimed at content-driven websites. The repository uses the MIT license, so this version of the code can be used, modified, used commercially, and distributed for free. The template is designed with SEO and best practices in mind, featuring dark/light mode, automatic meta tags, JSON-LD structured data, RSS feeds, Open Graph, Twitter Cards, and a native sitemap, along with scroll reveal animations based on Intersection Observer.
The project uses Astro content collections to manage blog posts. Adding a .md or .mdx file under src/content/blog/ publishes a post, and frontmatter supports fields such as title, description, pubDate, author, image, tags, and category. Global site information is centralized in src/config/site.ts, where you can configure the site name, description, URL, language, author, social links, and navigation items. The directory structure separates public static assets, src/assets assets to be processed, components, config, content, layouts, pages, styles, and types, and provides scripts for ESLint, Prettier, astro check, and TypeScript type checking.
The template provides pages such as home, about, services, blog, contact, and component examples, with the demo site at astrostarterpro.com. Before use, note that the MIT license covers only this version of the code; third-party assets such as demo images, fonts, and icons must be checked against their respective licenses; and external services such as domains, hosting, databases, payments, or AI may incur separate charges. Performance data such as PageSpeed scores mentioned in the README are the project's own claims and were not independently verified in this material.
Is it right for your project?
Use Cases
- Building a personal or team site centered on blog content
- Constructing a corporate website that needs baseline SEO configuration
- Using as a starting template for an Astro project and extending it with pages and components
- Content-driven websites that need dark/light mode and scroll animations
Suitable For
- Developers familiar with Astro or willing to learn Astro content collections
- Blog or corporate website projects that need out-of-the-box SEO configuration
- Teams that want to use and modify the code for free under the MIT license
- Content maintainers who prefer a Markdown/MDX writing workflow
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
After cloning the repository, run npm install, then start the local development server with npm run dev (default localhost:4321)
- 2
Replace the site name, description, URL, author, social links, and navigation items in src/config/site.ts
- 3
Place blog posts in the src/content/blog/ directory and fill in frontmatter fields such as title, description, and pubDate
- 4
npm run build generates a static site into the dist/ directory, and npm run preview lets you preview the production build locally
- 5
Before use, check the licenses of third-party assets such as demo images, fonts, and icons; external services may incur separate charges
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope is this version of the code and does not mean external services or third-party assets are free.
Must comply with when using
- You may use, modify, use commercially, and distribute this version of the code for free.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
- External services such as domains, hosting, databases, payments, or AI may incur separate charges.
View Original Text Basis
https://github.com/devgelo-labs/astro-starter-pro/blob/main/LICENSEhttps://github.com/devgelo-labs/astro-starter-pro/blob/main/README.mdPermission is hereby granted, free of charge
Original License Text
Compiled by DeepSeek based on repository license and README ·2026-10-03. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- Astro Themes
- Documentation and maintenance reference score
- More documented · 92 / 100
- Technologies
- Astro
- Website type
- Blog · Corporate Website · Starter
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2026-07-05
- Screenshot last checked
- 2026-10-03
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Astro as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Review declaration: [email protected] · 2026-10-04
Inspect the recorded source material
SHA-256: d984c5012f7e1322afa744e6b7ad654a1461d158ad6d3a9838d23951a49181a1
2026-10-03T22:43:44.613Z
Source file / repository# 🚀 Astro Starter Pro
**Astro Starter Pro** is a professional, open-source template for building fast websites using **[Astro 5](https://astro.build/) + [Tailwind CSS 4](https://tailwindcss.com/)**. Designed with industry best practices, optimized SEO, and a modern development experience.
<br>
[](https://github.com/devgelo-labs/astro-starter-pro)
[](https://github.com/devgelo-labs/astro-starter-pro)
[](./LICENSE)
[](https://astro.build/)
[](https://tailwindcss.com/)
[](https://github.com/devgelo-labs)
<br>
<details open>
<summary>Table of Contents</summary>
- [Demo](#demo)
- [Features](#features)
- [Tech Stack](#tech-stack)
- [Project Structure](#project-structure)
- [Quick Start](#quick-start)
- [Configuration](#configuration)
- [Content Management](#content-management)
- [Commands](#commands)
- [Support the Project](#support-the-project)
- [License](#license)
</details>
<br>
## Demo
📌 [https://astrostarterpro.com/](https://astrostarterpro.com/)
## Features
- ✅ **Dark & Light Mode**: Clean implementation.
- ✅ **Optimized SEO**: Automatic meta tags, Structured Data (JSON-LD), RSS Feed, Open Graph, Twitter Cards, and native Sitemap.
- ✅ **Native Scroll Animations**: High-performance, JS-light scroll reveal animations using `Intersection Observer`.
- ✅ **Clean Architecture**: Organized and scalable code.
- ✅ **Reusable Components**: Navbar, Footer, and modern Layouts with Tailwind v4.
<br>
<img alt="Image" src="./.github/astro-starter-pro.webp" />
<br>
<img alt="PageSpeed Insights Score 100/100" src="https://github.com/user-attachments/assets/541d4bfc-bcb9-4287-bd91-08564108d706" />
<br>
## Tech Stack
This template is built with modern, high-performance technologies:
- **[Astro 5](https://astro.build/)**: The web framework for building content-driven websites.
- **[Tailwind CSS 4](https://tailwindcss.com/)**: A utility-first CSS framework for rapid UI development.
- **[TypeScript](https://www.typescriptlang.org/)**: Strongly typed programming language that builds on JavaScript.
- **[MDX](https://mdxjs.com/)**: Markdown for the component era, allowing you to use JSX in your markdown content.
<br>
## Project Structure
A quick overview of the folder structure to help you understand where everything is located:
```text
/
├── public/ # Static assets (fonts, favicon, images outside of processing)
├── src/
│ ├── assets/ # Images and assets to be processed by Astro
│ ├── components/ # Reusable UI components (Navbar, Footer, SEO, etc.)
│ ├── config/ # Centralized site configuration (site.ts)
│ ├── content/ # Blog posts and content collections (Markdown/MDX)
│ ├── layouts/ # Base page layouts
│ ├── pages/ # File-based routing (pages and endpoints)
│ ├── styles/ # Global CSS and Tailwind directives
│ ├── types/ # TypeScript type definitions
│ └── content.config.ts # Astro Content Collections configuration
├── astro.config.mjs # Astro configuration file
└── tailwind.config.mjs # Tailwind CSS configuration
```
<br>
## Quick Start
To start with this project locally, clone the repository and install dependencies:
```bash
# Clone the repository
git clone https://github.com/devgelo-labs/astro-starter-pro.git
# If you like it, don't forget to leave a star! ⭐
cd astro-starter-pro
npm install
npm run dev
```
<br>
## Configuration
All global site information is managed in `src/config/site.ts`. Update this file with your data:
```typescript
// src/config/site.ts
import ogImage from "../assets/og-image.png";
export const siteConfig = {
name: "Astro Starter Pro",
description:
"Starter template optimized for SEO and performance. A solid foundation to start your projects with best practices.",
url: "https://astrostarterpro.com",
lang: "en",
locale: "en_US",
author: "Devgelo",
twitter: "@Devgelo",
ogImage: ogImage,
socialLinks: {
twitter: "https://twitter.com",
github: "https://github.com/devgelo-labs/astro-starter-pro",
discord: "https://discord.com",
},
navLinks: [
{ text: "Home", href: "/" },
{ text: "About", href: "/about" },
{ text: "Services", href: "/services" },
{ text: "Blog", href: "/blog" },
{ text: "Contact", href: "/contact" },
{ text: "Widgets", href: "/widgets" },
],
};
```
## Content Management
This template uses **Astro Content Collections** to manage blog posts.
To add a new blog post, simply create a new `.md` or `.mdx` file inside the `src/content/blog/` directory.
### Frontmatter Schema
Each blog post must include the following frontmatter at the top of the file:
```yaml
---
title: "Your Post Title"
description: "A brief summary of your post for SEO."
pubDate: 2024-03-20
author: "Author Name"
image: "/images/your-cover-image.webp" # Optional
tags: ["Astro", "Tailwind"] # Optional
category: "Web Development" # Optional
---
Your markdown or MDX content goes here...
```
<br>
## Commands
| Command | Action |
| :------------------ | :------------------------------------------------- |
| `npm run dev` | Starts the development server at `localhost:4321`. |
| `npm run build` | Generates the static site in the `dist/` folder. |
| `npm run preview` | Previews the production build locally. |
| `npm run lint` | Runs ESLint to ensure code quality. |
| `npm run format` | Formats code with Prettier. |
| `npm run fix` | Runs format and lint auto-fix. |
| `npm run check` | Runs astro check for diagnostics. |
| `npm run typecheck` | Verifies TypeScript types. |
<br>
## Support the Project
If you find this starter useful, please consider giving it a ⭐ on GitHub! It helps more people discover the project.
<br>
## License
This project is under the **MIT** license. See the [LICENSE](./LICENSE) file for more details.
## 🤝 Contributing
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.
1. **Fork** the Project
2. Create your **Feature Branch** (`git checkout -b feature/AmazingFeature`)
3. **Commit** your Changes (`git commit -m 'Add some AmazingFeature'`)
4. **Push** to the Branch (`git push origin feature/AmazingFeature`)
5. Open a **Pull Request**
For more details, please check our [Contributing Guide](./CONTRIBUTING.md).
---
Designed by [Devgelo Labs](https://github.com/devgelo-labs)
Explore similar templates
Compare previews and descriptions within the same stack and category.

astrowind
AstroWind is a free, open-source Astro starter theme using Astro and Tailwind CSS, released under the MIT license.
Astro · Blog

astro-paper
AstroPaper is a minimal, responsive, accessible, and SEO-friendly Astro blog theme. Articles are stored as Markdown/MDX in src/content/posts/, with subdirectories affecting URLs.
Astro · Blog

fuwari
Fuwari is a static blog template built with Astro and Tailwind CSS for personal blogs. It manages posts as Markdown files in src/content/posts/, with frontmatter for title, date, description, cover, tags, categories, draft status, and language.
Astro · Blog

Firefly
Firefly is a clean personal blog theme forked from Astro and Fuwari, offering four background modes, single/double sidebar and list/grid layouts, Pagefind client-side full-text search, and a six-language UI.
Astro · Blog

astro-theme-cactus
Astro Cactus is an Astro-based blog and portfolio theme that uses Markdown/MDX content collections to manage posts, notes, and tags, with frontmatter type-checked by a schema.
Astro · Portfolio

astrofy
Astrofy is a free and open-source personal portfolio website template built with Astro and TailwindCSS, with built-in blog, CV timeline, project showcase, store, and RSS feed modules.
Astro · Portfolio
