USER GUIDE

ActiveSite Documentation

What it is, how the AI agents plan your SEO, and how to set up your projects and content.

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:

Jekyll — GitHub Pages standard
Hugo — fast, large content sites
Eleventy — lightweight, customizable
Astro — modern content-heavy sites
Hexo — popular for dev blogs
Bridgetown — modern Jekyll successor
VitePress — documentation sites
Docusaurus — docs and blog sites

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:

psychology

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.

account_tree

The Planner

Builds your topic map — all the topics your site should cover, what you’ve already got, and what’s missing.

travel_explore

The Researcher

Finds keywords worth targeting and suggests article ideas, so your queue is never empty.

edit_note

The Writer

Writes each article in your voice, using your content type settings.

rocket_launch

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:

description Content strategy

A short plan for what your site should publish and why — the angle, the audience, and the kinds of articles that fit.

badge Site profile

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.

account_tree Topic map

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.

bolt

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:

Published — ActiveSite wrote it
Existing — already on your site
Gap — worth writing, not done yet
Ignored — you chose to skip it
Archived — removed from the plan

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:

24 topics 15 covered · 9 gaps
Written by ActiveSite Already on your site

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.

check_circle

Approve

Adds the suggestion to your queue as a real keyword.

cancel

Dismiss

Removes the suggestion from the list.

expand_more

See why

Expand a suggestion to read why it was picked — the keyword data and the gap it fills.

auto_awesome

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:

Blog Post

Standard informational articles, 1,500 words, friendly tone.

Product Review

Amazon product review format, condensed structure.

Listicle

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

bolt AUTOMATED

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.

visibility DRAFT MODE

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:

tune

Extra section prompt

Shapes what gets covered in each H2 section.

tune

Extra introduction prompt

Shapes how the article opens.

tune

Extra outline prompt

Suggests the H2 structure for the article.

tune

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

check_circle Site name and domain
check_circle Which SSG you're using — sets sensible defaults for paths and front matter
check_circle GitHub connection (repository, branch, posts folder, images folder)
check_circle Site profile — what your site is about, audience, language, and country (drafted for you, fully editable)
check_circle Google Search Console connection (optional — for keyword ideas from your own data)
check_circle Publishing schedule (frequency and time)
check_circle Content provider connection
check_circle Voice and tone — description of your site's writing style and audience
check_circle Draft mode on/off and notification email
check_circle AI prompt enhancement on/off

Content type settings

check_circle Name (your label, e.g.

Per-keyword settings (when adding to queue)

check_circle The keyword or article title
check_circle Which content type to use
check_circle Optional custom title (overrides the AI-generated title)
check_circle Optional outline prompt (specific H2 structure)
check_circle Optional reference URLs (sources to draw from)
check_circle Optional specific publish date (overrides the project schedule)

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:

article

Preview

Read the full article as it will appear on the site.

check_circle

Approve

Schedules the article for the next available publish slot.

cancel

Reject

Adds a note and sends the article back for re-queuing or discard.

edit

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.

security

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.