Forge Blog

Headless CMS, the Forge way

A TypeScript loader pulls your published content into Astro at build time. No API key on the edge, no runtime calls.

Published: 6/16/2026

Connecting a static site to a headless CMS usually means shipping an API key to the edge or making a network call on every request. Neither is great. Forge does it differently.

Build-time, not request-time

The @forge/astro loader fetches your published entries during the build and hands them to Astro’s content collections. Your deployed site is static HTML; the CMS is a build dependency, never a runtime one.

Public by opt-in

A collection is only publicly readable when its access.read admits an anonymous caller. Private collections return a 404 — their existence is never disclosed. You decide what the world sees.

SEO that is already done

Every entry comes with a merged SEO object: title, description, Open Graph, Twitter, canonical, hreflang, robots. Render it into your <head> and move on.