Eleventy Starter Ghost is a JAMstack boilerplate from the Ghost Foundation that pairs the Ghost publishing platform as a headless CMS with the Eleventy static site generator to produce a completely static website. The repository is marked deprecated and no longer maintained, but the code remains available for anyone who wants to build a fast, secure blog front-end backed by Ghost's admin interface.
What is Eleventy Starter Ghost?
Eleventy Starter Ghost is an open-source starter template that combines Ghost as a headless content backend with Eleventy (also known as 11ty) as the static site builder. It takes a Ghost Content API key and a .env configuration as its main inputs; the build process fetches posts, pages, and settings from Ghost and outputs a plain HTML/CSS/JS site suitable for any static host. The project includes a live demo at https://eleventy.ghost.org, and it was created by the Ghost Foundation under the MIT license.
Key Features
- Headless Ghost integration — Uses the Ghost Content API at build time; requires Ghost version 2.10.0 or higher and a Content API key from the Integrations screen in Ghost Admin.
- Netlify one-click deploy — Ships with netlify.toml, headers.njk (compiled to /_headers with security headers), and redirects.njk (compiled to /_redirects), plus a Deploy to Netlify button that wires the repository directly.
- Local development with defaults — run
yarnthenyarn startto launch a dev server that pulls from the default Ghost install at https://eleventy.ghost.io or from your own site via .env. - Production build command —
yarn buildgenerates the final static site locally for custom deployments. - Private mode optimization — Lets you set Ghost to "Make this site private" so Ghost adds a noindex meta tag and the Eleventy front-end becomes the only indexed public site.
- MIT licensed — Copyright (c) 2013-2025 Ghost Foundation, so you can freely reuse and modify the code.
Who is it for?
- Ghost users who want a custom, static front-end: Keep using Ghost's admin to write and edit, but replace the default Handlebars theme with an Eleventy-generated site that you fully control.
- Developers building JAMstack sites with a CMS: Use the starter as a reference architecture for combining a headless CMS with a static site generator and deploying to Netlify.
- Content teams needing automated rebuilds: Connect the Ghost + Netlify Integration so publishing in Ghost triggers a Netlify rebuild and the static site stays current without manual steps.
What can you do with it?
- Launch a static blog on Netlify: Deploy with the included button, set Environment Variables for your Content API key if you don't want to commit .env, and get a working site in minutes.
- Strengthen site security and SEO: Take advantage of the default security headers written to /_headers and the noindex private-mode trick to keep Ghost's backend out of search results.
- Customize the build pipeline: Edit the Nunjucks templates and build config to change pages, add redirect rules, or adjust metadata, then rebuild with
yarn buildor on Netlify.
How does it work?
You start by cloning the repository and running yarn to install dependencies. Next, edit .env with your Ghost site URL and Content API key; the minimum Ghost version is 2.10.0. When you run yarn start, Eleventy fetches your content from Ghost and serves a static site locally. For production, either run yarn build and host the output anywhere, or deploy to Netlify and set up deploy hooks so Ghost rebuilds trigger automatically.
FAQ
Is Eleventy Starter Ghost still maintained?
The repository header reads "Deprecated" and states "This project is no longer maintained," so there are no active updates. You can still use it as a starting point or fork it for your own projects.
Where do I get the Content API key?
Log in to Ghost Admin, go to the Integrations screen, and copy the Content API Key shown there. This key is not considered sensitive, so it's often committed in .env, though you can also store it as a Netlify environment variable for production builds.
Can I use my own Ghost site instead of the default?
Yes. Replace the default URL (https://eleventy.ghost.io) in the .env file with your own Ghost instance's URL and provide your Content API key. The starter will then pull content from your site during builds.
What does the private mode setting do?
Enabling "Make this site private" in Ghost adds a password page to the Ghost front-end and sets a noindex meta tag. This keeps your Eleventy static site as the only public version, improving SEO because Ghost's default theme isn't indexed.








