Miniload
MySQL Turbo Mode for WooCommerce - Optimize your store with pure MySQL performance, intelligent caching, and blazing-fast search without removing core functionality.
Install / Use
/learn @mohsengham/MiniloadREADME
MiniLoad - WooCommerce Performance Optimizer
MySQL Turbo Mode for WooCommerce - Optimize your store with pure MySQL performance, intelligent caching, and blazing-fast search without removing core functionality.
🚀 Features
MySQL Turbo Mode
- Smart SQL_CALC_FOUND_ROWS optimization - Caches results instead of removing
- Native MySQL FULLTEXT search - 67% faster than default search
- Denormalized sort indexes - 90% faster product sorting
- Query result caching - Eliminates repeated expensive queries
Lightning-Fast AJAX Search
- FULLTEXT indexed search - 5-10x faster than default WordPress search
- Real-time results with intelligent debouncing
- SKU instant lookup - Dedicated index for product codes
- Multi-language support - Persian, Arabic, RTL fully supported
- Admin quick search (Alt+K) for products, orders, and customers
- Mobile-optimized search interface
Advanced Optimizations
- HPOS Compatible - Full compatibility with WooCommerce High-Performance Order Storage
- Sort Index Module - Eliminates postmeta JOINs
- Filter Cache Module - Instant layered navigation
- Related Products Cache - Pre-calculated relationships
- Review Stats Cache - Cached rating calculations
- Order Search Optimizer - 96% faster admin searches
Performance Enhancements
- No breaking changes - Works with existing themes
- Smart cache invalidation - Auto-updates on changes
- Batch processing for large stores
- Memory-efficient design
Modern Admin Interface
- Single-page tabbed interface - Clean and organized
- Real-time statistics dashboard
- One-click index rebuilding
- Mobile-responsive admin pages
📦 Installation
From WordPress Admin
- Download the plugin ZIP file
- Navigate to Plugins → Add New → Upload Plugin
- Choose the ZIP file and click Install Now
- Activate the plugin
Manual Installation
- Upload the
miniloadfolder to/wp-content/plugins/ - Navigate to Plugins in WordPress admin
- Activate MiniLoad
Via Composer
composer require minimallteam/miniload
🔧 Configuration
Initial Setup
- After activation, go to MiniLoad → Dashboard
- Click Rebuild Search Index to create the initial index
- Configure search settings in MiniLoad → Search Settings
- Enable desired modules in MiniLoad → Modules
Search Shortcode
Add the AJAX search box anywhere using:
[miniload_search]
With parameters:
[miniload_search show_categories="true" placeholder="Search products..." min_chars="2" max_results="10"]
Available Parameters
show_categories- Display category filter (true/false)placeholder- Custom placeholder textmin_chars- Minimum characters to trigger search (1-10)max_results- Maximum results to display (4-20)
🎯 Performance Benchmarks
| Feature | Before MiniLoad | After MiniLoad | Improvement | |---------|----------------|----------------|-------------| | Product Search | 852ms | 280ms | 67% faster | | Order Search | 2000ms | 70ms | 96% faster | | Product Sorting | 500ms | 50ms | 90% faster | | Filter Counts | 300ms | 10ms | 97% faster | | Pagination | Full table scan | Cached counts | No more scans |
Results based on zabanmehrpub.com with 2800+ products
🛠️ Developer Information
Hooks and Filters
Filters
miniload_search_results- Modify search resultsminiload_index_content- Control what gets indexedminiload_search_query_args- Modify search query parametersminiload_enabled_modules- Control which modules load
Actions
miniload_after_index_rebuild- Run after index rebuildminiload_before_search- Run before search executionminiload_modules_loaded- Run after all modules are loaded
REST API
MiniLoad includes REST API endpoints for search:
GET /wp-json/miniload/v1/search?term=keyword
Example: Custom Search Result Template
add_filter( 'miniload_search_results', function( $results, $search_term ) {
// Modify search results
foreach ( $results as &$result ) {
$result['custom_field'] = get_post_meta( $result['id'], 'custom_field', true );
}
return $results;
}, 10, 2 );
Example: Add Custom Fields to Index
add_filter( 'miniload_index_content', function( $content, $product_id ) {
$custom_data = get_post_meta( $product_id, 'custom_searchable_field', true );
return $content . ' ' . $custom_data;
}, 10, 2 );
📊 System Requirements
Minimum Requirements
- WordPress 5.0 or higher
- WooCommerce 3.0 or higher
- PHP 7.4 or higher
- MySQL 5.6 or higher (for FULLTEXT support)
Recommended
- WordPress 6.9+
- WooCommerce 10.4.3+
- PHP 8.0+
- MySQL 8.0+
- Memory limit: 256M or higher
🤝 Contributing
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Development Setup
# Clone the repository
git clone https://github.com/mohsengham/miniload.git
# Install dependencies
composer install
npm install
# Run tests
phpunit
# Build assets
npm run build
📝 Changelog
Version 1.0.5 (2024-12-22)
- Fixed keyboard shortcut text from Ctrl+/ to Alt+K in admin settings and language files
- Updated JavaScript comment to reflect correct keyboard shortcut
- Fixed Alt+K shortcut working without checkbox being enabled - now respects the "Enable modal search" setting
- Added progress bar for index rebuilding operations to show real-time progress
- Implemented batch processing for both Product and Media index rebuilding to prevent timeouts
- Added configurable batch size setting (25-500 items) for index operations
- Fixed timeout issues during index rebuilding - now processes in configurable batches (default: 100)
Version 1.0.4 (2024-12-22)
- Removed hardcoded Persian text from JavaScript
- Fixed search results counter to display in English
- Improved internationalization support
Version 1.0.3 (2024-12-22)
- Fixed critical table name inconsistency bug (miniload_search_index vs miniload_product_search)
- Fixed search functionality not working due to incorrect table references
- Updated all modules to use correct table name
- Fixed index rebuild functionality
- Fixed AJAX search column mismatch (search_text vs content)
- Added missing database columns (content, stock_status, last_indexed)
- Fixed fulltext index for proper search functionality
Version 1.0.2 (2024-12-22)
- Fixed RTL/LTR admin margin alignment issues using CSS logical properties (fixes GitHub issue #2)
- Added HPOS (High-Performance Order Storage) compatibility declaration
- Updated WooCommerce tested version to 10.4.3
- Updated WordPress tested version to 6.9
- Improved CSS for better bidirectional text support
Version 1.0.1 (2024-12-22)
- Fixed critical bug where module settings (Related Products Cache, Review Stats Cache) weren't saving properly
- Fixed array notation handling for checkbox names in modules tab
- Standardized module storage format (all modules now use integer values)
- Improved settings save reliability by removing interfering filters
- Fixed data type consistency issues between boolean and integer values
- Fixed keyboard shortcut conflict: Admin search now uses Alt+K exclusively (was conflicting with WordPress 6.7+)
- Fixed WordPress Plugin Check warnings and errors
- Fixed PHP syntax errors in SQL queries
- Improved database query security with proper escaping
- Updated all GitHub repository URLs
- Removed analytics functionality completely
- Fixed Persian translation loading
- Performance improvements and bug fixes
Version 1.0.0 (2024-12-20)
- Initial release
- MySQL Turbo Mode implementation
- Smart SQL_CALC_FOUND_ROWS optimization (caching, not removal)
- FULLTEXT indexed product search with multi-language support
- Sort Index Module for instant sorting
- Filter Cache Module for layered navigation
- Related Products and Review Stats caching
- AJAX search with real-time results
- Admin quick search (Alt+K)
- Order Search Optimizer (96% faster)
- WordPress Plugin Check compliance
- Modern single-page admin interface
🐛 Support
- Documentation: GitHub Wiki
- Issues: GitHub Issues
- WordPress.org Forums: Support Forum
📜 License
This plugin is licensed under the GPL v2 or later.
👥 Credits
- Author: MiniMall Team
- Contributors: See all contributors
🌟 Acknowledgments
Special thanks to all contributors and testers who helped make MiniLoad better.
Made with ❤️ for the WooCommerce community
Related Skills
feishu-drive
350.8k|
things-mac
350.8kManage Things 3 via the `things` CLI on macOS (add/update projects+todos via URL scheme; read/search/list from the local Things database)
clawhub
350.8kUse the ClawHub CLI to search, install, update, and publish agent skills from clawhub.com
postkit
PostgreSQL-native identity, configuration, metering, and job queues. SQL functions that work with any language or driver
