Title: SearchWright
Author: Muhammad Adnan Bashir
Published: <strong>July 29, 2026</strong>
Last modified: July 29, 2026

---

Search plugins

![](https://ps.w.org/searchwright/assets/banner-772x250.jpg?rev=3626985)

![](https://ps.w.org/searchwright/assets/icon-256x256.png?rev=3626985)

# SearchWright

 By [Muhammad Adnan Bashir](https://profiles.wordpress.org/muhammadnan/)

[Download](https://downloads.wordpress.org/plugin/searchwright.0.1.1.zip)

 * [Details](https://wordpress.org/plugins/searchwright/#description)
 * [Reviews](https://wordpress.org/plugins/searchwright/#reviews)
 *  [Installation](https://wordpress.org/plugins/searchwright/#installation)
 * [Development](https://wordpress.org/plugins/searchwright/#developers)

 [Support](https://wordpress.org/support/plugin/searchwright/)

## Description

WordPress search runs a `LIKE` query against your posts table. It is slow on large
sites, it ranks results by date rather than relevance, and it finds nothing at all
if a visitor misspells a word.

SearchWright hands that job to [Typesense](https://typesense.org/), an open source
search engine you either self-host or rent. Your content is indexed there; searches
are answered from memory in a few milliseconds and tolerate typos.

**What it does**

 * Answers the built-in search results page from Typesense, keeping your theme’s
   template and pagination intact.
 * Adds an optional instant-results dropdown to any search input on the site.
 * Indexes posts, pages and any public custom post type, along with taxonomy terms.
 * Rebuilds without downtime: each rebuild writes to a fresh collection and only
   switches search over once it finishes.
 * Keeps the live index current as posts are published, edited, trashed and deleted.
 * Falls back to the normal WordPress query if the search server cannot be reached,
   so an outage slows search down rather than breaking the page.

**Built to stay out of the way**

 * Your API key is never sent to the browser. Searches are proxied through your 
   own site.
 * The public endpoint can be restricted to same-origin requests and rate limited
   per visitor.
 * No front-end assets load unless instant search is switched on.
 * Two option rows, both with autoloading disabled. No third-party JavaScript libraries.

**WooCommerce**

Products are indexed like any other post type, so they turn up in results. Understanding
them — price, stock, variations, attributes, faceted filtering — is handled by a
separate add-on plugin, which is not included here. Nothing in this plugin is disabled
pending a purchase. The extension filters the add-on uses are public and documented
under Settings  SearchWright  WooCommerce, so you are equally free to write your
own.

### External services

This plugin connects to a Typesense server that **you** specify in its settings.
There is no default server and no connection is made until you enter a hostname 
and an API key.

What is sent, and when:

 * **On indexing:** the title, excerpt, body text, permalink, featured image URL,
   author display name, publish date and assigned taxonomy terms of each post you
   have chosen to index. This happens when you run a rebuild, and when a post is
   created, edited, trashed or deleted.
 * **On searching:** the visitor’s search term, along with paging and filtering 
   parameters.

Where that data goes is entirely determined by the host you configure. If you use
Typesense Cloud, that is Typesense’s hosted service, governed by their [terms of service](https://cloud.typesense.org/legal/terms)
and [privacy policy](https://cloud.typesense.org/legal/privacy). If you run Typesense
on your own hardware, the data does not leave your infrastructure.

This plugin makes no other outbound requests. It does not phone home and it collects
no analytics.

## Installation

 1. You need a running Typesense server first, either on [Typesense Cloud](https://cloud.typesense.org/)
    or self-hosted. Note its hostname, port and admin API key.
 2. Install and activate SearchWright.
 3. Go to **Settings  SearchWright**, enter the host details and save, then press **
    Test connection**.
 4. On the **Indexing** tab, choose which post types and taxonomies to include, save,
    and press **Rebuild index**.
 5. On the **Search** tab, switch on the search override and, if you want it, the instant
    dropdown.

## FAQ

### Do I need a paid service?

No. Typesense is open source and runs on a small server perfectly well. Typesense
Cloud is a convenience, not a requirement.

### What happens if the search server goes down?

The search results page falls back to the ordinary WordPress query, so visitors 
still get results, just slower and less relevant ones. The instant dropdown reports
that search is unavailable and does nothing else.

### Does my API key end up in the page source?

No. The browser talks to a REST endpoint on your own site, which talks to Typesense
server-side. The key stays on the server.

### Will this work with my theme’s search box?

The dropdown attaches to any input matching the CSS selector on the Search tab, 
which defaults to standard search fields. If your theme uses something unusual, 
put its selector in that box.

### Does it search WooCommerce products?

Products appear in results because they are a public post type. Sorting and filtering
by price, stock, attributes or variations needs the separate WooCommerce add-on 
described on the WooCommerce tab.

### How large a site can it handle?

Indexing runs in batches from the browser, so site size is limited by your Typesense
server rather than by PHP timeouts. Sites with hundreds of thousands of posts are
well within Typesense’s range.

### Is it multisite compatible?

Each site in a network keeps its own settings and its own collection. Point them
at different collection names on the Connection tab.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“SearchWright” is open source software. The following people have contributed to
this plugin.

Contributors

 *   [ Muhammad Adnan Bashir ](https://profiles.wordpress.org/muhammadnan/)

[Translate “SearchWright” into your language.](https://translate.wordpress.org/projects/wp-plugins/searchwright)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/searchwright/), check
out the [SVN repository](https://plugins.svn.wordpress.org/searchwright/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/searchwright/) by
[RSS](https://plugins.trac.wordpress.org/log/searchwright/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.1.1

 * Corrected the Typesense Cloud terms and privacy policy links in the external-
   services disclosure.

#### 0.1.0

 * First release.

## Meta

 *  Version **0.1.1**
 *  Last updated **9 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.0.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [instant search](https://wordpress.org/plugins/tags/instant-search/)[live search](https://wordpress.org/plugins/tags/live-search/)
   [relevance](https://wordpress.org/plugins/tags/relevance/)[search](https://wordpress.org/plugins/tags/search/)
   [typesense](https://wordpress.org/plugins/tags/typesense/)
 *  [Advanced View](https://wordpress.org/plugins/searchwright/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/searchwright/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/searchwright/reviews/)

## Contributors

 *   [ Muhammad Adnan Bashir ](https://profiles.wordpress.org/muhammadnan/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/searchwright/)