=== FacetRoute ===
Contributors: jennygseo
Tags: woocommerce, product filter, woocommerce filter, faceted search, seo
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 8.0
WC requires at least: 8.0
WC tested up to: 11.0.1
Stable tag: 1.0.19
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Simple WooCommerce product filters with shareable URLs, theme-friendly UI, and conservative SEO handling.

== Description ==

FacetRoute adds configurable product filters to WooCommerce product archives and supported product loops.

Filter by:
* product categories;
* product tags;
* global WooCommerce attributes;
* minimum and maximum price;
* stock status.

FacetRoute also includes:
* Include and Exclude filtering modes;
* automatic or manual filter application;
* removable active-filter chips and Reset controls;
* a responsive filter interface;
* a Theme / Native visual mode designed to inherit the store theme;
* automatic placement, shortcode, dynamic block, and widget integrations;
* shareable filtered URLs;
* admin diagnostics for common setup checks.

For genuine configured filtered states, FacetRoute outputs `noindex, follow` and a canonical URL pointing to the clean base catalogue or archive. Invalid, unavailable, or inactive filter parameters do not trigger this filtered-state SEO handling.

FacetRoute 1.0.19 does not use AJAX. Applying filters loads the resulting shareable URL.

FacetRoute does not include telemetry or remote tracking.

== Installation ==

1. Install and activate WooCommerce.
2. Install and activate FacetRoute.
3. Open FacetRoute > Filters and review the filters enabled for your store.
4. Keep automatic placement, or add `[facetroute]`, the `facetroute/filters` block, or the FacetRoute widget to a supported product listing.
5. Open your shop or product archive and test the filters. If something is not displayed as expected, check FacetRoute > Diagnostics.

== Frequently Asked Questions ==

= What can I filter? =

FacetRoute supports product categories, product tags, global WooCommerce attributes, minimum/maximum price, and stock status.

= How can I display FacetRoute? =

Use automatic placement, the `[facetroute]` shortcode, the `facetroute/filters` dynamic block, or the FacetRoute widget on supported WooCommerce product listings.

= What is the difference between Include and Exclude? =

Include keeps products matching the selected values. Exclude removes products matching the selected values from the results.

= Can filters be applied automatically or manually? =

Yes. Auto mode applies a filter change immediately. Manual mode lets shoppers make pending selections and apply them together.

= Does FacetRoute use AJAX? =

No in version 1.0.19. Filter changes load the resulting shareable URL.

= How are filtered URLs handled for SEO? =

When FacetRoute recognizes a genuine configured filtered state, it outputs `noindex, follow` and a canonical URL pointing to the clean base page. Invalid, unavailable, or inactive filter parameters remain inert and do not activate this filtered-state SEO handling.

= Does FacetRoute collect or send usage data? =

FacetRoute 1.0.19 does not include telemetry or remote tracking.

= Where can I get support? =

Use the FacetRoute support forum on WordPress.org. When reporting an issue, include your WordPress and WooCommerce versions, theme, FacetRoute placement mode, Apply mode, and the relevant result from FacetRoute > Diagnostics.

== Screenshots ==

1. Theme / Native storefront view with compact FacetRoute controls integrated above a WooCommerce catalogue.
2. Active filters with removable chips and a direct Reset action.
3. All Filters view with category, attribute, price, stock, and size controls in one panel.
4. Responsive mobile filter drawer with explicit Apply controls in Manual mode.
5. FacetRoute admin configuration for filters, placement, Apply behavior, and visual settings.

== Changelog ==

= 1.0.19 =
* Initial public release of FacetRoute.
* Added filters for product categories, tags, global attributes, price, and stock.
* Added Include/Exclude filtering, Auto/Manual Apply, active-filter chips, Reset, and zero-results recovery.
* Added automatic placement, shortcode, dynamic block, and widget integrations.
* Added shareable filtered URLs with conservative `noindex` and canonical handling for genuine configured filter states.
* Added Theme / Native styling, responsive filter UI, and admin diagnostics.
