A post type can be selected for indexing and still be excluded from public search results. Relevanssi’s indexing selection and WordPress’s exclude_from_search flag answer different questions: what goes into the index, and what is allowed into a search result.
What the current indexing table shows
Open Relevanssi > Settings > Indexing. Under Core Content, the post type table has Type and Index columns. Older versions also showed an “Excluded from search” column; instructions referring to that column describe the previous interface.
The current table may display “Notice: This post type is registered as non-public.” beneath a type. In this table, that notice is based on the type’s exclude_from_search registration flag. It is not a separate Relevanssi switch and does not, by itself, describe every WordPress visibility or permission setting.
Checking Index selects the type for indexing. It does not change how the theme or plugin registered that post type, so the notice can remain after you select it.
Why WordPress excludes some types
A plugin or theme can register a post type with exclude_from_search set to true. This is useful for internal objects that are not intended to be independent results. WooCommerce product variations, for example, normally belong to their main product rather than being shown as ordinary standalone search results.
The flag is separate from the public property. A publicly accessible post type can still be configured to stay out of search. Relevanssi also keeps certain internal WordPress types, such as revisions, out of its indexing selection entirely.
Respect exclude_from_search
On the Searching tab, find Respect exclude_from_search.
- Enabled: Relevanssi respects the registration flag and filters those types out of public frontend searches, even if their posts have been indexed.
- Disabled: that particular registration flag no longer excludes indexed posts from frontend results. Other restrictions still apply.
Disabling this setting does not make an unindexed type searchable, override all search form restrictions, or grant visitors permission to view otherwise inaccessible content.
Make an intended public result type searchable
- Confirm that the type is intended to have usable public search results and links.
- On Indexing, select the type and save the options.
- Rebuild the index so its existing posts are included.
- On Searching, disable Respect exclude_from_search if the registration flag is the reason the type is being filtered out, then save.
- Search as a logged-out visitor for a distinctive word in one of those posts. Check both the result and its destination link.
The Respect exclude_from_search switch affects result filtering and does not require a rebuild by itself. Selecting a new type for indexing does require indexing its existing posts.
If the type is still missing
Check whether the search form, theme, or another plugin restricts the query to particular post types. For example, a form with a hidden post_type=post input requests ordinary posts, not all the types you have indexed.
The Searching tab also has Ignore theme post type settings, which removes the query’s post_type restriction. Use it only when you want that restriction removed: it can broaden other searches on your site. Developers can use Relevanssi’s post_types query variable for an explicit list of allowed types.
If you have changed settings but are unsure whether the post is indexed, use Debugging > Analyze Content with its ID. Indexing exclusions, post status, access rules, and additional query filters can still affect the result. An administrator’s search is not a substitute for testing the public frontend search.
Prefer the intended public content
For internal types, including them directly is often not the right solution. If visitors need to find a main product by a variation’s SKU, for example, index that information for the main product rather than exposing variation objects as separate results. Decide which item should appear before changing a global search setting.