Skip to content

Integrations

Baan includes a built-in Integrations system that lets you connect external services to your site. All integrations are configured through the Admin UI — no code changes required.

Each integration can inject content into Slots — fixed injection points in the page layout. Think of Slots as named hooks in the HTML structure where an integration can insert scripts, ads, tracking pixels, or any other content.

SlotLocation
headInside <head>
body-startRight after <body> opens
header-beforeBefore the site header
header-afterAfter the site header
content-beforeBefore post content
content-afterAfter post content
sidebarIn the sidebar
footer-beforeBefore the site footer
footer-afterAfter the site footer
body-endRight before </body> closes

Each slot receives context about the current page:

locale — active language
page — 'home' | 'post' | 'category' | 'tag'
post — slug, title, excerpt, category, tags, date (on post pages)
category — current category name (on category pages)
tag — current tag name (on tag pages)

Integrations use this context to render conditionally — for example, showing ads only on post pages, or passing the current post’s category to an analytics event.

Each integration runs inside an error boundary. If an integration throws during rendering, the rest of the page is designed to continue normally. In development, a red error box appears; in production, the slot renders nothing.


Go to Admin → Integrations to manage all integrations.

  1. Browse by category tab (Analytics, Monetization, Engagement, SEO, Content, Distribution, Social)
  2. Toggle an integration on with the enable switch
  3. Fill in the configuration fields that appear
  4. Changes are saved automatically

Tracks page views and user behavior using Google Analytics 4.

Setup:

  1. Enable the integration
  2. Paste your Tracking ID (format: G-XXXXXXXXXX)

The GA script loads with afterInteractive strategy — it never blocks page rendering.

Displays ads in the content-after and sidebar slots.

Setup:

  1. Enable the integration
  2. Enter your Publisher ID (format: ca-pub-XXXXXXXXXXXXXXXXX)
  3. Enter the Ad Slot IDs for each position you want to use

Leave a slot ID blank to skip that slot.


CategoryPurpose
AnalyticsPage view tracking, heatmaps, behavior analysis
MonetizationDisplay ads, affiliate tools
EngagementComments, social sharing, newsletters
SEOStructured data, sitemaps, search tools
ContentRelated posts, recommendations
DistributionRSS, content syndication
SocialSocial embeds, follow buttons

New integrations from Baan core are added to these categories as they become available.


Many CMS platforms offer a plugin marketplace where third-party developers publish extensions. Baan takes a different approach: integrations are maintained by the core team only.

This is intentional:

  • No compatibility breakage. Third-party plugins break on framework upgrades. Core-maintained integrations are always tested against the current version.
  • No security surprises. Every integration that runs on your site has been reviewed by the core team.
  • AI fills the gap. For custom logic — custom analytics events, content transformations, layout changes — use Claude Code. Claude Code can read your codebase and implement exactly what you need without going through a plugin layer.

If you need to connect Baan to a service that isn’t in the integrations list, the cleanest approach is to implement it directly with Claude Code or open a discussion to suggest adding it as an official integration.