What is ActiveSite?
ActiveSite is your AI content team. It plans your site’s SEO, writes the articles, and publishes them to your site on a schedule. You add a site, review the plan, and ActiveSite handles the ongoing work — research, writing, formatting, and committing to GitHub.
It’s built for builders and small teams running one or more blogs who want the traffic that good SEO content brings — without hiring writers or doing it all by hand. You can manage as many sites as you like from one dashboard.
The core idea
Every website you manage in ActiveSite is a Project. Each project connects to:
- hub A GitHub repository — where your site’s files live
- schedule A publishing schedule — how often new articles go live (daily, a few times a week, weekly, or manually)
Behind the scenes, each project also gets its own content plan and a team of AI agents that keep it running. You add keywords or article titles to a project’s queue (or let the agents suggest them), and ActiveSite writes the articles on your schedule, formats them for your site, and commits them to GitHub — where your site rebuilds and publishes them live.
What sites does it work with?
ActiveSite works with any static site that stores content as markdown files in a GitHub repository. This includes sites built with:
Any other SSG that uses markdown files with YAML front matter is also supported. When you create a project, you select your SSG and ActiveSite pre-fills sensible defaults for that platform — folder structure, front matter format, and image paths — which you can customize to match your site.
Your AI content team
ActiveSite isn’t just a writing tool. It works like a small content team, where each agent has one job. You set things up once, and the team handles the ongoing work. Here’s who does what:
The Strategist
Reads your existing site and writes a content strategy and a site profile, so the rest of the team knows what your site is about and who it’s for.
The Planner
Builds your topic map — all the topics your site should cover, what you’ve already got, and what’s missing.
The Researcher
Finds keywords worth targeting and suggests article ideas, so your queue is never empty.
The Writer
Writes each article in your voice, using your content type settings.
The Publisher
Formats each post and commits it to GitHub, so your site updates on its own.
The first three agents set up and maintain your plan. The last two produce and ship the content. The next few sections cover the planning agents; the production steps are covered further down.
Setting up your content plan
When you connect a new site, the Strategist gets to work. It reads the content already in your GitHub repo and builds three things for you:
A short plan for what your site should publish and why — the angle, the audience, and the kinds of articles that fit.
A summary of your site: what it’s about, who it’s for, your main topics, language, and country. This is the context every other agent uses to keep content on-brand.
A tree of topics your site should cover, with what you’ve already published and what’s still a gap. (More on this in the next section.)
You can review and edit all three. The site profile in particular is worth a look — it shapes how every article reads, so a few quick edits go a long way.
This research runs on Claude and usually takes a minute or two. You can re-run it any time — for example, after you’ve published a batch of new articles.
Your topic map
Your topic map is a tree of all the topics your site should cover. It’s not just a list of what you’ve written — it’s a plan for what’s worth writing next. This is what keeps ActiveSite from publishing random posts: every article fills a real spot in the map.
Topic statuses
Each topic in the map has a status, so you can see at a glance what’s done and what’s left:
The coverage bar
At the top of the topic map, a stats bar shows how many topics you have, how many are published, how many already existed, and how many gaps are left. A progress bar shows your coverage at a glance:
ActiveSite checks the map against the files actually in your GitHub repo, so “existing” topics reflect real content on your site — not guesses. If two topics point to the same page, only one is marked as existing.
Keyword research & article ideas
You don’t have to come up with every article idea yourself. The Researcher does keyword research and suggests titles worth writing — right inside your keyword queue.
How it finds ideas
It pulls real keyword data from Ahrefs to find topics people actually search for, and checks them against your topic map and site profile. If you connect Google Search Console, it also uses your own search data to spot topics and pages worth targeting.
Ahrefs works out of the box. Google Search Console is optional and connects per project. To keep things fast and avoid repeat lookups, keyword research is cached for 90 days.
Suggestions in your queue
The Researcher keeps an eye on your queue. When you’re running low, it generates a fresh batch of ideas automatically — or you can ask for more any time. Suggestions appear at the top of your keyword queue, marked with a sparkle icon and a SUGGESTED label.
Approve
Adds the suggestion to your queue as a real keyword.
Dismiss
Removes the suggestion from the list.
See why
Expand a suggestion to read why it was picked — the keyword data and the gap it fills.
Above the list you’ll find Get more, Approve all, and Dismiss all — so you can clear a batch of ideas in seconds.
Projects and Content Types
Each project can have multiple Content Types. A content type defines what kind of article gets written and how it’s formatted. For example, a single website might have:
Standard informational articles, 1,500 words, friendly tone.
Amazon product review format, condensed structure.
Ranked list format (best X, top 10 Y) with specific instructions per list item.
Each content type has its own article format, writing defaults (length, tone, point of view, language), front matter template, and prompt settings. When you add a keyword to the queue, you select which content type to use.
How articles get generated
The queue
When you add keywords or article titles to a project, they sit in a queue — nothing is generated immediately. Generation is tied to your publishing schedule, so you never accidentally create a burst of articles you didn’t plan for.
You can add keywords one at a time, paste in a list (one per line), import a CSV file, or approve ideas from the Researcher:
best survey tools, Listicle how to improve response rates, Blog Post Typeform review, Product Review
The second column is the content type name. If left blank, the project’s default content type is used.
The schedule
Each project has a publishing schedule — for example, one article per day at 9:00am Toronto time. When the scheduled time arrives, ActiveSite picks the next keyword from the queue, sends it to the content provider, and waits for the article.
Once generated, the article is either published immediately (Automated mode) or held for your review (Draft mode). You can also trigger generation manually from the queue page.
The two publishing modes
Publish immediately
The article is generated and committed to GitHub without any manual step. The moment generation completes, your site goes live with the new post.
Best for high-volume projects where you trust the output quality.
Review before publishing
Generated articles sit in a review queue. You read the draft, then approve or reject it with a note. Rejected articles can be re-queued or discarded.
Best for sites where voice and quality need a human check.
AI prompt enhancement
By default, articles are generated using your project’s voice and tone settings. For more control over how each article is structured, you can enable AI prompt enhancement.
When enabled, ActiveSite makes a quick call to Claude (Haiku model) just before generating each article. Claude reads the keyword and your site context and writes article-specific instructions that get passed to the content provider alongside the keyword — tailoring each article’s prompt to that specific keyword.
You can enable or disable individual fields:
Extra section prompt
Shapes what gets covered in each H2 section.
Extra introduction prompt
Shapes how the article opens.
Extra outline prompt
Suggests the H2 structure for the article.
List item prompt
For listicles, shapes how each individual list item is written.
This feature is off by default and can be toggled per project and per content type.
How articles are formatted and committed
Front matter
Every static site uses a metadata block at the top of each markdown file called front matter. In ActiveSite, you define a front matter template using placeholder variables:
---
layout: post
title: "{{title}}"
date: {{date}}
author: "{{author}}"
description: "{{description}}"
image: "{{featured_image}}"
---
ActiveSite fills in the placeholders automatically at publish time. Static values like author and layout are configured once in project settings. Dynamic values like title, date, and featured_image come from the article itself.
Filenames
All supported SSGs use the same filename convention for blog posts:
YYYY-MM-DD-slugified-title.md
ActiveSite generates this filename automatically from the article’s title and scheduled publish date. No manual renaming needed.
Images
When the content provider generates images, ActiveSite downloads them and commits them to your repository in the images folder you configured (e.g. assets/images/posts/). Image references in the article are automatically rewritten to use the correct relative path for your site.
The GitHub commit
Everything lands in your repository as a single clean commit — the markdown post file and all its images together. This keeps your Git history clean and matches what a developer would commit manually.
What you configure, and where
Project settings
Content type settings
Per-keyword settings (when adding to queue)
The review queue
If draft mode is enabled, all generated articles appear in the review queue before publishing. The queue shows all pending articles across all your projects in one place.
For each article you can:
Preview
Read the full article as it will appear on the site.
Approve
Schedules the article for the next available publish slot.
Reject
Adds a note and sends the article back for re-queuing or discard.
Edit the title
Override the AI-generated title before approving.
Multiple GitHub accounts
ActiveSite supports connecting multiple GitHub accounts. Each project can use a different account and repository — so if you manage sites across different GitHub organizations or personal accounts, each project connects to wherever that site’s repository lives.
For security, each project stores its own GitHub token separately. A fine-grained token scoped to the specific repository with Contents read/write access is recommended over a classic personal access token.