Search Service
Search that actually reads your articles.
Ghost's built-in search matches titles and excerpts in the reader's browser. Search Service indexes every word of every post and page on the server — so the thing someone half-remembers from a 2019 story actually comes back.
See it live
Go on — search my blog.
The box below is the real embed, pointed at the real index behind spectralwebservices.com — the same script your Ghost site would load.
Try webhook, members, or Algolia. Results open on my blog in a new tab, so you won't lose your place here.
The search embed didn't load, so this button can't open anything. An ad blocker or a network hiccup is the usual cause — try reloading, or disabling blockers for this page.
The problem
Ghost's search stops at the headline.
It's fine for a young site. It gets thin fast once you have an archive worth searching.
What Ghost ships with
- Matches titles and excerpts — never the body of your articles
- Doesn't search your pages at all
- Stops at 10,000 posts — a deeper archive loses its tail
- Ships the whole post list to every visitor's browser
What you get instead
- Every word of every post and page, indexed on the server
- No post cap — bring the whole archive
- Results in milliseconds, however deep it goes
- Tags, authors, and staff profiles too, if you want them
How it works
Connected, indexed, and live — fast!
Connect your Algolia account
Free tier, and it's yours — paste two keys and you're connected. Your index, your account, no per-search markup from me.
Index your site
One click backfills every post and page. A webhook keeps it current as you publish, edit, and delete.
Paste one snippet
It takes over the search button your theme already has, so your readers don't have to learn anything new.
Watch it happen
Zero to working search in 13 minutes.
Start to finish on a real Ghost site — creating the Algolia account, building the index, pasting the snippet. That's the whole job, and I didn't skip the boring parts.
What it can do
Search that earns its place in the header.
Every word, not just the title
Post and page bodies, headings, custom excerpts, image alt text and captions — all indexed, all searchable.
Paywalled posts stay findable
Members-only posts are indexed and surface as a short snippet; the click lands on your paywall. Search quietly becomes a signup prompt.
Uses the button you already have
The snippet takes over your theme's existing Ghost search button. No theme edits, no second magnifying glass in your header.
Tags and authors too
Optional, per site. Tag a page #staff-profile and it folds into that author's record.
Looks like your site
Shadow DOM isolation means your theme can't break the modal and the modal can't break your theme. Light, dark, or follow the reader's OS — in your accent colour.
Stays fresh by itself
Publishing, editing, and deleting keep the index in step. Tag a post #no-index to skip it; drafts are never indexed.
Plus the small stuff: search-as-you-type, an optional date-range filter, and results in tabs or one stacked list.
One more thing
You'll probably be your own biggest user.
Ghost's admin search and your theme's search both make you dig. Search Service doesn't. When you're mid-draft and you need the post where you already explained the thing, it's the fastest way back into your own archive — and you're the one searching it every day.
Pricing
Free, with your own Algolia account.
Search Service is on the free tier. You bring the Algolia account — their free tier is generous — and there's no per-search markup from me. The rest of the toolbox is on simple, fair pricing.
Set it up