What is a Headless CMS and How to Source Content from One

A headless CMS is content management software that enables writers to produce and organize content, while providing developers with structured data that can be displayed using a separate system on the frontend of a website or app.

A traditional, monolithic CMS is responsible for both the backend management of content, and serving that content to end users. In contrast, a headless CMS is decoupled from frontend concerns, which frees developers to build rich experiences for end users, using the best technology available.

Many traditional content management systems (CMS), like WordPress and Drupal, now support a “headless” or “decoupled” mode, which is perfect for Gatsby sites. Through use of source plugins, Gatsby has support for dozens of headless CMS options, allowing your content team the comfort and familiarity of its preferred admin interface.

We’ve included setup guides, and links to the integration documentation as well as official starters (when these exist).

For integrating your site with a headless CMS:

Try it on Gatsby Cloud!

The following CMSs have high popularity among Gatsby users and support key functionality like content previews and incremental builds. If you’re choosing between CMSs, we recommend reading the Choosing Your CMS(s) documentation.

CMSGuidesPlugin DocsOfficial Starter
Contentfulguidedocsstarter
WordPressguidedocs
Shopifydocs
Sanityguidedocsstarter
Strapiguidedocsstarter
Contentstackguidedocsstarter
DatoCMSguidedocsstarter
Drupalguidedocs
Prismicguidedocsstarter
NetlifyCMSguidedocsstarter

Other CMSs

CMSGuidesPlugin DocsOfficial Starter
Cosmicguidedocsstarters
ButterCMSguidedocsstarter
Ghostguidedocsstarter
Kontent by Kenticoguidedocsstarter
Directusdocs
GraphCMSguidedocsstarter
Storyblokguidedocsstarter
Cockpitdocs
CraftCMSdocs
Agility CMSguidedocsstarter
Prepr CMSguide
Forestryguide
Gentics Meshguide
Seams-CMSguide
Builder.ioguidedocsstarter
Flotiqguidedocsstarter
Tinaguidedocs

Integrating with other CMSs

Other CMSs not on the list above can be found on the plugins directory. If your preferred CMS is integrated with Gatsby but not on this list, you can open a pull request to add it. If your preferred CMS is not yet integrated with Gatsby, you can write your own source plugin.