---
title: Publish to Ghost
description: Connect your Ghost publication with a custom integration and publish AI-generated articles — with tags, cover image, and SEO meta — straight into Ghost in one click.
---

# Publish to Ghost

Connect your Ghost publication to QuickSEO and publish AI-generated articles straight into your blog — with tags, a cover image, and SEO meta filled in — in one click. No copy-pasting HTML, no export/import.

## How it works

QuickSEO publishes through a **custom integration** you create inside Ghost. Each custom integration gives you an **Admin API key**; you paste that key into QuickSEO along with your site's API URL, and from then on QuickSEO talks to Ghost over its **Admin API**, authenticating each request with a short-lived signed token (a JWT) minted from your key. Nothing is stored on your Ghost site beyond the integration itself.

The Ghost Admin API is available on Ghost's paid (non-Starter) plans and on any self-hosted Ghost install. If you don't see **Integrations** under Settings → Advanced, your plan doesn't include Admin API access yet.

Ghost publishing is available on paid QuickSEO plans, alongside article generation.

## Step 1 — Create a custom integration

1. In **Ghost Admin**, open **Settings → Advanced → Integrations**.
2. Click **Add custom integration** and give it a name (e.g. "QuickSEO").

## Step 2 — Copy your Admin API key and API URL

Your new integration shows three values. You need two of them:

- The **Admin API key** — a string in the form `id:secret` (keep this private; anyone with it can publish to your site).
- The **API URL** — your Ghost site URL.

Copy the **Admin API key**, not the Content API key. The Content API is read-only and can't publish posts.

## Step 3 — Connect in QuickSEO

In QuickSEO, open your site and go to **Articles → Integrations → Ghost**. Paste your **API URL** and **Admin API key**, then click **Connect**.

QuickSEO verifies the connection right away and shows your publication title, Ghost version, and site URL. Use **Test connection** any time to re-check the link, the **Enabled** toggle to pause publishing without disconnecting, or **Disconnect** to remove it entirely.

## Publishing an article

Open any generated article in QuickSEO and click **Publish → Ghost** (the publish button becomes a picker when you have more than one destination connected). QuickSEO sends the article to your publication in the background; the picker updates to **Published** with a link to view it live.

### What gets published

| Article field | Lands in Ghost as |
|---|---|
| Title | Post title |
| Body | Post content (HTML) |
| Slug | Post slug (URL) |
| Description | Meta description and post excerpt |
| Tags | Post tags (created automatically if they don't exist) |
| Cover image | Feature image (must stay publicly reachable — Ghost references the URL, it does not re-host it) |
| Status | Published |

### Updating a published article

Publishing the same QuickSEO article again **updates the existing Ghost post** instead of creating a duplicate — edit in QuickSEO, hit Publish, and your live post is updated in place. QuickSEO matches posts by the Ghost post id it stores after the first publish, so the slug and URL stay stable.

## Troubleshooting

- **"Ghost rejected the Admin API key"** — the key is wrong or was regenerated. Open **Settings → Advanced → Integrations** in Ghost, copy the current **Admin API key** (the `id:secret` one, **not** the Content API key), and reconnect in QuickSEO.
- **"Could not reach the Ghost Admin API"** — the API URL is wrong. It should be your Ghost site URL (including `https://`).
- **The cover image didn't appear** — the cover image URL must stay publicly reachable; Ghost references the URL rather than downloading the file, so if the image becomes unavailable it won't show.

---

Need a hand? Email [support@quickseo.ai](mailto:support@quickseo.ai?subject=Ghost%20integration%20help).
