Contributors: rtcamp, shreya0204, danish17, vishalkakadiya, rishavjeet, vishal4669, up1512001, justlevine, aviral-mittal
Tags: OnePress, OneSearch, Cross-site search, Multi-brand network, WordPress multisite, Federated search, WordPress REST API, Gutenberg, WordPress plugin
License: GPL v2 or later
OneSearch is a OnePress ecosystem plugin that enables cross-site, brand-aware search across a multi-brand WordPress network. It powers unified discovery across sites, powered by Algolia.
OneSearch is part of the OnePress ecosystem, designed to enable cross-site search across multi-brand WordPress networks.
It centralizes the discovery process, allowing users to search and retrieve relevant content from multiple connected sites — from any site(s) in your brand network.
This plugin acts as the backend engine that powers the indexing, querying, brand network management, and filtering logic needed for federated search.
Managing content across multiple brands, regions, or business units often results in disconnected search experiences. This can lead to broken user journeys and lost discovery opportunities.
OneSearch solves this by enabling a federated search layer that bridges multiple sites, powered by Algolia delivering a consistent and brand-respecting experience across the network.
- Unified Search Layer: Execute a single search query across multiple connected sites.
- Brand Awareness: Show source brand site and redirect user to the respective site.
- Governance & Control: Control visibility and indexing scope at the site or post-type level.
- Developer Extensibility: Easily register post types, taxonomies, and metadata for indexing.
- Performance Optimized: Lightweight REST architecture with cache-friendly responses.
- Modular Design: Extend and customize indexing and search behavior without core overrides.
- Cross-Site (Federated) Search: Aggregate search results across multisite or standalone installations.
- Configurable Indexing: Register which post types, taxonomies, or meta fields are searchable.
- Custom Blocks: Gutenberg-ready blocks for search interfaces.
- Brand-Specific Filtering: Enable brand-based search scopes for multi-brand networks.
- Bring Your Own Key: Connect it with your Algolia instance for improved data sovereignty and reduced vendor lock-in.
Requirement | Version |
---|---|
WordPress | >= 6.5 |
PHP | >= 7.4 |
Tested Up To | >= 6.8.2 |
Stable Tag | 1.0 |
Prerequisites | Node.js (as per .nvmrc ), npm, WordPress instance |
- Download the latest OneSearch plugin from the GitHub releases.
- Install using the WordPress plugin installer or upload the OneSearch directory to the
/wp-content/plugins/
directory. - For multisite installations, network activate the plugin through the ‘Plugins’ menu in WordPress.
- For single site installations, activate the plugin through the ‘Plugins’ menu in WordPress.
- Install and activate the OneSearch plugin on the governing site and brand sites.
- On the brand sites, navigate to OneSearch.
- Generate an API key and copy it.
- On the governing site, navigate to OneSearch > Settings.
- Click on 'Add Brand Site' and enter Site Name, Site URL, and API Key.
To connect your site with Algolia, follow these simple steps:
- Visit Algolia and create an account (if you don’t already have one).
- After logging in, go to your API Keys dashboard.
- Copy the Application ID and Write API Key.
- Paste both keys into the OneSearch Settings page under the 'Algolia Credentials' section.
Indices: The data (post types) stored to make site content searchable. Search Scope: Defines which sites can search or access other sites’ indexed data.
- Head to OneSearch > Indices and Search.
- Against each connected site, choose the post types you wish to index.
- Click on 'Save' which will also index the data.
- Go to OneSearch > Indices and Search and scroll to 'Site Search Configuration' section.
- Turn on the toggle for the sites on which you want to enable OneSearch.
- In the 'Search from' section, configure which sites can be searched from.
OneSearch is under active development and maintained by rtCamp.
Contributions are Welcome and encouraged! To learn more about contributing to OneSearch, please read the Contributing Guide.
For development guidelines, please refer to our Development Guide.
Yes, using OneSearch, you can index the default as well as custom post types.
As long as the post type is included in the configured entities, new posts are automatically indexed.
Yes. Any updates made to a post are automatically synced with the Algolia index.
Search results are ranked by Algolia's relevance algorithm. However, OneSearch boosts results from the current site you're searching on, ensuring more relevant local content appears first.
You can join the development and discussions on GitHub. Feel free to report issues, suggest features, or contribute code.