use case · ghost cms

Add content-level scoring to custom Ghost workflows.

Updated July 29, 2026

Start with Ghost's native signup and comment protections. A separate classifier is useful when your own membership application, contact form, or publishing integration collects free text that Ghost's built-in controls do not evaluate.

What signals to classify

Classify only meaningful natural-language fields collected by your custom workflow, such as an application answer, profile bio, or message. Do not treat Ghost's administrative fields or an email address as content signals. If the native signup captures no useful free text, wait for the member's first comment or message instead.

Why traditional CAPTCHAs are failing modern blogs

A CAPTCHA asks whether the visitor looks like an automated session. Content scoring asks a different question: does a custom application, message, or profile field contain low-quality promotional content? Modern bots can use real browsers, while real readers still hit accessibility, mobile, and privacy friction. For a Ghost publication, that tradeoff is rarely worth making the signup path harder.

Invisible, server-side classification keeps the reader experience clean. Your server-side handler scores untrusted text after submission, and your thresholds decide whether to allow, review, or block the workflow. If you are comparing approaches, the broader spam detection API comparison and CAPTCHA alternatives guide show where API-based filtering fits.

The direct impact of spam on your blog's SEO and revenue

Spam members inflate your list, distort paid-member reporting, and can hurt deliverability if they interact badly with email workflows. If you add comments through Ghost's native feature set or a third-party comments product, spam adds a public-quality problem: unrelated links, generic AI-written replies, and thin user-generated content on pages you want search engines and readers to trust.

That is why custom application checks should sit before member creation when possible, while post-create webhooks should queue review rather than pretend to block signup. Keep obvious spam out, route borderline cases to review, and preserve the public page quality that supports subscriptions. For the search-specific mechanics, see how comment spam affects SEO and how to detect AI-generated comment spam.

How to choose the right spam protection for your tech stack

Ghost installations split into two common shapes. Hosted publications can place a custom workflow on Vercel, Netlify, Cloudflare Workers, or a small backend service. Self-hosted Ghost sites can use the same pattern, but may also place the classifier beside existing moderation or member-management jobs.

Choose a service that can run outside the browser, returns a calibrated score instead of only a binary verdict, and gives you a way to fail open if the network call times out. If privacy or regional compliance matters, keep the classified text limited to user-submitted fields and avoid sending unnecessary account data. The decision framework in the spam detection API buying guide covers API-vs-plugin tradeoffs in more detail.

Choose pre-submit or post-create handling

A custom application form can classify meaningful text before it creates a member through the Ghost Admin API. A member.added webhook runs after creation, so use it only to queue a review or perform cleanup. Do not delete a member automatically based on a name or email address alone.

Wiring it up in Ghost

  1. Ghost Admin → Settings → Integrations → Add custom integration.
  2. For a custom pre-submit workflow, copy the Admin API key into the handler's environment as GHOST_ADMIN_KEY; copy the API URL into GHOST_API_URL.
  3. For post-create review, add a webhook for the Member created event pointing at your function's public URL.
  4. Add SIFTFY_KEY to the same environment. Test both a clean free-text submission and a review case.

Beyond signups

Use Siftfy only where your integration can access meaningful user-supplied text before a downstream action. Ghost's native comments already include moderation controls. If a third-party comment or form tool exposes a supported server-side hook, classify the body there before publication or delivery.

Don't bother classifying server-generated content (your own posts, your own newsletter blasts) — Siftfy is calibrated against user-submitted text and will sometimes flag promotional copy you wrote yourself as borderline. Use it where the input is untrusted.

Try it free

10,000 webhook events / month free. Read the /v1/predict reference, compare spam detection APIs, or peek at related use cases: comments, signups, headless CMS, Ghost example.