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
- 01
Connect the repo
Sign in with GitHub or GitLab (OAuth) and choose the repository and branch your site builds from.
- 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.
- 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).
- 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
- Astro Blog SEO Checklist for Content Collections
A practical Astro blog SEO checklist: the site setting, absolute canonicals, trailing slashes, @astrojs/sitemap, content collection schemas, BlogPosting JSON-LD, RSS, drafts and a post-deploy curl check, with code for current Astro.
Oct 22, 2026 · 10 min read
- llms.txt for Developer Blogs: What It Does and How to Ship One
An honest guide to llms.txt for developer-run blogs: what the spec says, what the 2026 adoption data shows, and how to generate one from your Markdown posts in Next.js or Astro.
Oct 20, 2026 · 9 min read
- Live URL Verification for GitHub Blog Publishing
Use live URL verification to confirm GitHub-backed blog posts are public, visible, and rendered correctly before marking them done.
Aug 29, 2026 · 10 min read
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