Guides

Multi-Site Management

Blogree is purpose-built for managing content across multiple websites from a single dashboard. Whether you run a portfolio of niche blogs or an agency managing dozens of client sites, this guide covers everything.

Site limits by plan
Starter
Free
2 sites
Pro
$29/mo
10 sites
Agency
$99/mo
Unlimited

Adding and Organizing Sites

Adding a new site

  1. Go to Sites in the left sidebar
  2. Click Add Site
  3. Enter the website URL and a display name (e.g. 'Client — Tech Blog')
  4. Copy the generated API Key and Webhook Secret
  5. Install the Blogree adapter on the site
  6. Enter the webhook URL back in Blogree and click Test Delivery

Organizing sites with labels

On Pro and Agency plans, you can add color labels to sites for organization. Useful for grouping sites by client, niche, or status:

// Example site organization: 🔵 Client: Acme Corp (blue — active client) 🟢 Owned: My Tech Blog (green — personal site) 🟡 Client: Beta Corp (amber — onboarding) 🔴 Client: Old Client (red — offboarding)

Site health at a glance

The Sites list shows a health indicator for each site — green (delivering), amber (retries detected), red (failures detected in last 7 days). Click any site to see its detailed delivery history.

Publishing to Multiple Sites

Select sites per post

When writing or publishing a post, the right sidebar shows all your connected sites with checkboxes. Select the sites you want to publish to, then click Publish Now. Blogree delivers to all selected sites in parallel — typically within seconds.

Syndication strategy

A common use case is syndicating the same post to multiple sites with slight modifications:

// Approach 1: Same post to all sites (exact content) // - Use the site selector to check all sites // - Works great for evergreen content // Approach 2: Same topic, site-specific AI generation // For each site: create a new post with the same topic // but regenerate the AI content so each site gets unique content // (avoids duplicate content penalties) // Approach 3: Per-site scheduling // Write one post, then schedule it to publish: // Site A: Monday 9am // Site B: Tuesday 9am // Site C: Wednesday 9am // Staggers delivery to look organic
⚠️
For SEO purposes, if you're publishing identical content to multiple sites, use canonical tags to designate the primary source. The Blogree post schema includes a canonical_url field for this.

Per-Site Analytics

Go to Analytics → select a specific site from the site filter dropdown. You'll see delivery metrics specific to that site: success rate, average delivery time, failure history, and a timeline chart.

The Sites API lets you fetch per-site analytics programmatically:

GET /api/analytics/overview?site_id=site_abc123&from=2026-03-01&to=2026-04-01 Authorization: Bearer <token> // Returns metrics only for site_abc123: { "site": { "id": "site_abc123", "name": "Client Tech Blog" }, "totals": { "deliveries": 47, "success_rate": 97.9, "failed": 1 } }

Agency Client Management

Structuring client sites

For agencies, we recommend one Blogree account per agency (not per client). This lets you see all clients in one dashboard. Use site naming conventions and labels to organize:

Naming convention examples: "Acme Corp — Blog" "Acme Corp — News" "Beta Inc — Main Site" "[CLIENT] — [PROPERTY]"

Client-specific API keys

Each connected site has its own unique API Key and Webhook Secret. You can give clients their site's API Key if they want to pull posts directly from their own systems, without exposing the master JWT token.

Team access (Agency plan)

On the Agency plan, invite team members under Settings → Team. Each member gets their own login and can be assigned roles:

RoleCan create postsCan publishCan add sitesCan access billing
Owner
Admin
Editor
Writer

Sites API Reference

// List all sites GET /api/sites Authorization: Bearer <token> // Add a site POST /api/sites { "name": "Client Blog", "url": "https://clientblog.com" } // Get site details (includes API key + webhook secret) GET /api/sites/:id // Update site PATCH /api/sites/:id { "name": "Updated Name" } // Rotate credentials POST /api/sites/:id/rotate-keys // Delete site DELETE /api/sites/:id