plugin-icon

Coywolf Search

作者:Coywolf·
Replaces WordPress search with a custom full-text index: BM25 ranking, fuzzy matching, and instant as-you-type suggestions.
版本
1.4.2
最后更新
Jul 31, 2026

WordPress searches posts with a LIKE '%term%' scan of the posts table. It cannot rank, it cannot tolerate a typo, and it gets slower as a site grows.

Coywolf Search replaces that with a proper search engine, built out of two small database tables of its own:

  • A custom full-text index. Post content is cleaned — block markup, shortcodes, and HTML stripped — and stored as terms your visitors can actually search. The posts table is never touched.
  • BM25 ranking. The standard relevance model used by Elasticsearch and Lucene, with k1 and b exposed so you can tune term saturation and how much long posts are penalised.
  • Per-field weights. A match in the title counts for more than a match halfway down the content. Titles, content, excerpts, and taxonomy terms each get their own multiplier.
  • Fuzzy matching. “Reciept” still finds “receipt”. Off, one character, or automatic — where longer words tolerate two.
  • Prefix matching. The last word matches as a prefix, so “photog” finds “photography”.
  • AND matching with a graceful fallback. Results must contain every word; if nothing does, you can choose to show posts containing some of them, ranked by how many they cover.
  • Per-post-type and per-taxonomy control. Choose exactly which post types are searchable and which taxonomies contribute their term names.
  • Optional English stemming and stopwords, with your own stopword list if the built-in one isn’t right for your content.
  • Suggestions as you type. Matches appear on the keystroke — instantly from a small index of titles held in the browser, then merged with full-text results from the server a moment later. The first suggestion is highlighted so it is obvious what Enter will open; the arrow keys move between them, Escape clears the box, and a clear button does the same with the mouse. It attaches itself to whatever search box your theme already has, whether that came from the search block or get_search_form().
  • It looks after its own index. The first build starts the moment you activate the plugin, edits are picked up in the background, and changing a setting that affects what gets stored queues a rebuild automatically.
  • A read-only search API. GET /wp-json/coywolf-search/v1/search?q=… returns the same ranked results as a search page, with a highlighted snippet for each, so you can build a custom search experience against the same engine.

It replaces search without replacing your theme. /?s= and get_search_form() keep working, your search template renders the results, and pagination behaves normally — the plugin changes which posts come back, not how they look. If the index is empty, or anything at all goes wrong, WordPress runs its own search instead. Search never breaks the page.

Privacy and safety

  • Password-protected posts are never indexed. Drafts, private, and scheduled posts enter the index only once they are published, and a post that stops being public is filtered out of results even before the index catches up.
  • The plugin makes no outbound network connections of any kind. No telemetry, no phone-home, no remotely-loaded assets.
  • Deactivating removes the index and hands search back to WordPress, keeping your settings. Uninstalling removes everything: both tables, every option and transient, and every scheduled event.
免费基于付费套餐
通过安装,您同意 WordPress.com 服务条款第三方插件条款
目前已测试版本
WordPress 7.0.2
这个插件是可用的下载,适用于您的站点。