Automated SEO Blog Posts for Astro

Astro sites usually keep posts in a content folder and render them with a glob or a content collection. Blogger Dog writes posts into that folder as Markdown or MDX with frontmatter, so your existing layout renders them like any post you wrote by hand.

What Blogger Dog writes

A .md or .mdx file with YAML frontmatter (title, date, description, tags, slug).

Detected from
  • astro.config.mjs / astro.config.js / astro.config.ts
  • "astro" in package.json dependencies
Typical destination
  • src/content/blog
  • src/content/posts
  • src/content/articles

src/content/blog/cut-build-time-in-half.md

---
title: "How We Cut Our Build Time in Half"
date: "2026-10-15"
description: "A step-by-step look at caching, parallel jobs and what didn't work."
tags: ["performance", "ci"]
slug: "cut-build-time-in-half"
---

## Why builds got slow
...

How publishing works

  1. 01

    Connect the repo

    Sign in with GitHub or GitLab (OAuth) and choose the repository and branch your site builds from.

  2. 02

    Confirm the content folder

    Onboarding detects Astro and proposes the content folder your pages read from. If the site has no blog yet, it can add pages/blog/index.astro and pages/blog/[slug].astro that read that folder.

  3. 03

    Check your collection schema

    If you use a content collection with a strict schema, make sure it accepts the frontmatter fields Blogger Dog writes (date is a quoted YYYY-MM-DD string, so use z.coerce.date() if you need a Date).

  4. 04

    Prove it is live

    Before the first scheduled post, Blogger Dog commits a temporary test post, waits for your host to rebuild, and checks that the public URL actually serves it. It then deletes the test post. Scheduled posts are checked the same way after every commit, so a post that was committed but never appeared is reported instead of silently counted as published.

Good to know

  • Netlify, Vercel, Cloudflare Pages and GitHub Pages builds all pick up the commit the same way they pick up yours.

Astro questions

Where do posts go in an Astro project?
Into the content folder your pages already read, usually src/content/blog, src/content/posts or src/content/articles. Onboarding proposes the folder and you confirm it.
Will my content collection schema accept the frontmatter?
Each post has title, date, description, tags and slug. The date is a quoted YYYY-MM-DD string and tags is a list of strings, so a schema that expects a Date should use z.coerce.date(). Fields your schema requires beyond these, such as a hero image, need to be optional.
Do I need an existing blog route?
No. If the site has no blog yet, onboarding can add pages/blog/index.astro and pages/blog/[slug].astro that read the content folder. If you already have routes, they are left alone.

Further reading

Try it on your Astro blog

Your first 3 posts are free. After that, plans start at $19/month for 10 posts.

Launch offer: 50% off any plan for 3 months with code EARLY3. First 3 customers, ends Sunday.

Claim 50% off