Developer docs

Search

Ghost is a flexible platform which allows you to work with a search tool that suits your specific requirements.

There are three popular options for implementing site search into a Ghost publication, depending on the size of your site, and technical experience.

  1. Google’s programmable search engine [Easiest]
  2. A local search index [Intermediate]
  3. Full-featured search using Algolia [Advanced]

Google’s Programmable Search Engine

A simple solution is to use an off-site search tool such as Google’s programmable search engine. This option is free and relatively simple to implement, but it does have some limitations in terms of search functionality and custom styles.

Follow this search tutorial for a step-by-step guide.

Create a local search index

This option is useful for small sites who need basic site search functionality and are able to build this directly into their Ghost theme.

GhostHunter

GhostHunter is a front-end JavaScript library that uses the Ghost Content API and lunr.js to perform search queries without using a 3rd party service. It intelligently builds a cache using localStorage to improve search speed.

Installing GhostHunter is a technical process, providing methods and events to customise how the search is called and how results are displayed.

Create a full search index using Algolia

Algolia is a powerful search platform, ideally suited for sites with a lot of data, complex data structure, or advanced search functionality.

Ghost has open-source tools to pre-populate the Algolia search index, and keep the index updated using web hooks using Netlify Functions.

Populating the index

To make full use of Algolia from the start, you can pre-populate the search index. Algolia Ghost CLI is a tool that connects creates fragments of content from your Ghost site and adds them to your Algolia search index.

Follow the documentation for Algolia Ghost CLI to pre-populate your Algolia search index.

Setting up Algolia Netlify

The simplest way to keep your Algolia search index updated with new and edited content is to use Netlify Functions, which listens to and processes webhook events, and instructs Algolia to index, reindex, or unindex a URL. Once setup, it will automatically keep the search index up to date.

You can easily deploy and configure the Algolia Netlify package to Netlify in browser.

Other site search software

Since Ghost is so flexible, it’s possible to integrate with any search tool. So if you’re already familiar with site search software that is not listed here, check out our extensive docs, or visit the forum to connect with other Ghost developers.