=== FloInfo38 Search Tool === Contributors: FloInfo38 Tags: search, ajax, pages, posts, internal search Requires at least: 5.0 Tested up to: 7.0 Requires PHP: 8.3 Stable tag: 1.5.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html A search form that searches your pages and posts – no code needed. == Description == FloInfo38 Search Tool is a powerful yet simple plugin that adds an Ajax-powered search form to your WordPress site. It allows visitors to search through your pages and posts with real-time results. **Features:** * Real-time Ajax search (no page reload) * Search in pages, posts, or both * Three shortcodes for different search types * Customizable search options * Exclude specific pages from search results * Smart keyword filtering * SEO-friendly search (includes meta titles, descriptions, and keywords) * Relevance scoring system * Cache system for better performance * Responsive design * Lightweight and fast **Available Shortcodes:** * `[floinfo38_search]` - Search in pages and posts (based on your settings) * `[floinfo38_search_posts]` - Search only in posts * `[floinfo38_search_pages]` - Search only in pages == Installation == 1. Upload the plugin files to the `/wp-content/plugins/floinfo38-search-tool` directory, or install the plugin through the WordPress plugins screen directly. 2. Activate the plugin through the 'Plugins' screen in WordPress. 3. Use the Settings -> FloInfo38 ST screen to configure the plugin. 4. Add one of the shortcodes to any page or post where you want the search form to appear. == Frequently Asked Questions == = How do I add the search form to my site? = Simply add one of these shortcodes to any page or post: * `[floinfo38_search]` for general search * `[floinfo38_search_posts]` for posts only * `[floinfo38_search_pages]` for pages only = What is the minimum search length? = The search requires at least 3 characters to avoid performance issues and provide relevant results. = Can I exclude certain pages from search results? = Yes! Go to Settings -> FloInfo38 ST and check the pages you want to exclude from search results. = Does it work with custom post types? = Currently, the plugin supports standard WordPress pages and posts. Custom post type support may be added in future versions. = How does the relevance scoring work? = The search assigns points based on where keywords are found: * Title match: 30 points * Content match: 10 points * SEO meta match: 5 points Results are then sorted by total score, with pages optionally prioritized. == Screenshots == 1. Search form with real-time results 2. Admin settings page 3. Page exclusion interface == Changelog == = 1.5.0 = * Fixed search not working for visitors on sites using a page cache (search relies on a nonce that could expire while a cached page was served to visitors) * The plugin now automatically refreshes the security token via a request that is never cached, so search works reliably regardless of caching plugin or hosting configuration * Search errors are now distinguished from "no results" in the browser console for easier troubleshooting * Settings page logo is now bundled with the plugin instead of loaded from an external server = 1.4.1 = * Removed wp-element-button class which could break button styling on some themes = 1.4.0 = * Properly enqueued style CSS * Added button classes = 1.3.6 = * search-results items on left = 1.3.5 = * Change the appearance of the admin page * Performance optimizations = 1.3.4 = * Added plugin icon on admin page = 1.3.3 = * Introduced FI38ST_VERSION constant to centralize version management = 1.3.2 = * Added plugin icon = 1.3.1 = * Fixed plugin version on pages = 1.3.0 = * Tested for WordPress 7.0 = 1.2.0 = * Fixed WordPress Coding Standards compliance * Added proper nonce verification * Improved security with wp_unslash() for POST data * Added GPL v3 license header * Improved cache management * Fixed direct database queries * Enhanced input sanitization * Better error handling * Properly enqueued all JavaScript and CSS * Added unique prefixes to all functions and options * Updated plugin name to "FloInfo38 Search Tool" * Updated shortcodes to use new naming convention = 1.1.0 = * Added support for SEO meta fields * Improved relevance scoring * Added cache system * Performance optimizations = 1.0.0 = * Initial release == Upgrade Notice == = 1.5.0 = Important fix: search could silently fail for visitors on sites using a page cache (any hosting or caching plugin). Update strongly recommended. = 1.4.1 = Fixes a button styling issue on some themes. Update recommended. = 1.3.0 = Includes compatibility with WP 7.0. Update recommended. = 1.2.0 = Includes important security improvements, WordPress Coding Standards compliance, and plugin name update. Update recommended. Note: Shortcode names have changed - please update your pages with the new shortcodes: [floinfo38_search], [floinfo38_search_posts], [floinfo38_search_pages]. == Support == For support, please contact: * Website: https://www.floinfo38.fr * Email: contact@floinfo38.fr == Privacy Policy == FloInfo38 Search Tool does not collect, store, or transmit any personal data. All search operations are performed locally on your WordPress installation. == Credits == Developed by Florian MARREL - Flo Info 38