=== Beplus Search Visibility ===
Contributors: rimbeplus
Tags: search, exclude from search, hide from search, seo, search results
Requires at least: 6.0
Tested up to: 7.0
Stable tag: 1.0.0
Requires PHP: 8.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Exclude specific posts, pages, or entire post types from your site's front-end search results.

== Description ==

Beplus Search Visibility lets you keep individual posts, pages, or whole post types out of your site's search results — without unpublishing them or blocking search engines. Excluded content still displays normally everywhere else: the homepage, archives, RSS feeds, and direct links.

= Key Features =

* Per-post exclude — a simple checkbox on the post/page edit screen, in a "Search Visibility" box.
* Quick toggle column — a "Search" column on the post list screen lets you flip a post's visibility with one click, no need to open it.
* Bulk actions — exclude or re-include many posts at once from the list screen.
* Whole post type exclude — remove an entire post type (e.g. a "Testimonials" custom post type) from search results with one setting, no per-post work needed.
* Choose which post types get the feature — enable the per-post checkbox and column only where you need them.
* wp-admin search is never affected — editors can always find excluded content to manage it; only the public front-end search is filtered.

= How It Works =

1. Enable the feature for one or more post types in **Settings > Search Visibility**.
2. On any enabled post type, check "Exclude this from search results" in the Search Visibility box, or use the Search column's toggle / the bulk action on the list screen.
3. The plugin hooks into `pre_get_posts` and removes excluded posts (and, optionally, entire excluded post types) from the public search query only.

= Known Limitations =

* The REST API search endpoint (`/wp-json/wp/v2/search`) is not filtered in this version — only the front-end `s=` search query is affected.
* wp-admin's own post list search is intentionally left unfiltered, so editors can always find excluded content to manage it.

= About BePlus =

This plugin is developed and maintained by [BePlus](https://beplusthemes.com), a WordPress and Shopify development studio with 10+ years of experience building themes and plugins for nonprofits and eCommerce brands.

Learn more at [beplusthemes.com](https://beplusthemes.com).

== Installation ==

1. Upload the `beplus-search-visibility` folder to `/wp-content/plugins/`.
2. Activate the plugin through the **Plugins** menu in WordPress.
3. Go to **Settings > Search Visibility** to choose which post types get the feature.

== Frequently Asked Questions ==

= Does excluding a post remove it from my site? =

No. The post stays published and visible everywhere — homepage, archives, RSS, direct link. It's only left out of the results when someone uses your site's search.

= Does this affect the search box inside wp-admin (the post list screen)? =

No. Excluding a post only affects the public front-end search. Editors can still find and manage excluded posts normally from the wp-admin post list.

= Can I exclude a whole custom post type instead of marking each post? =

Yes. Go to **Settings > Search Visibility** and add the post type to the "Exclude entire post type from search" list.

= Does this work with the Block Editor and Classic Editor? =

Yes, the Search Visibility metabox works in both.

== Screenshots ==

1. Search Visibility metabox on the post edit screen.
2. Search column with a one-click toggle on the post list screen.
3. Settings page for choosing which post types get the feature.

== Changelog ==

= 1.0.0 =
* Initial release.
* Per-post exclude via a metabox on the post edit screen.
* Quick toggle column and bulk actions on the post list screen.
* Settings page: enable per-post exclude per post type, or exclude an entire post type from search.

== Upgrade Notice ==

= 1.0.0 =
Initial release — no upgrade steps required.
