
0 votes, 0 avg.rating


Menu Optimizer is a powerful performance optimization plugin that generates static HTML files for your WordPress menus, dramatically reducing server load and improving page load times. Real-World Success: This optimization technique helped achieve the first WooCommerce store with a perfect 100/100 mobile score on Google PageSpeed Insights. Read the WP Rocket case study Why Menu Caching Matters Menu generation requires significant compute time on WordPress and WooCommerce sites. Every page load requires WordPress to: * Query the database for menu items * Process menu hierarchy * Apply filters and hooks * Render HTML output Menu Optimizer eliminates this overhead by pre-generating menu HTML files that are served instantly. The DOM Size Problem Google Lighthouse triggers warnings when a page exceeds 1,500 DOM nodes (HTML elements). For e-commerce sites with extensive product categories: A mega menu with 200-300 categories can generate 3,000-5,000+ DOM elements Each nested menu item multiplies the element count This exceeds Google’s limits and hurts Core Web Vitals scores Menu Optimizer’s lazy loading keeps your initial DOM size under 1,500 nodes by loading only top-level items (typically 50-100 elements). Submenus load on-demand, maintaining excellent performance. Key Features Performance Boost – Reduces menu rendering time with static file caching Multiple Menu Support – Cache and display multiple menus independently on the same page Horizontal & Vertical Layouts – Supports both menu orientations for flexible placement Static File Generation – Pre-generates HTML files for instant delivery Lazy Loading – Top-level items load instantly; submenus load on first hover Smart Caching – Uses localStorage for even faster subsequent loads Max Mega Menu Compatible – Fully supports complex mega menu layouts Easy Integration – Simple shortcode implementation Translation Ready – Full i18n support with included POT file CDN Compatible – Works seamlessly with caching plugins and CDNs Performance Benefits ✓ Keeps DOM size under Google’s 1,500-node limit with lazy loading ✓ Reduces server CPU usage by offloading menu generation ✓ Decreases Time To First Byte (TTFB) ✓ Improves Core Web Vitals scores (LCP, CLS, INP) ✓ Reduces database queries per page load ✓ Compatible with WP Rocket, W3 Total Cache, and other caching plugins Perfect For WooCommerce stores with complex category menus Sites with large mega menus High-traffic websites Sites on shared hosting Performance-critical applications Stores aiming for 100/100 PageSpeed scores Proven Results This menu optimization technique was used in a WooCommerce store that achieved a 100/100 Google PageSpeed mobile score. Learn more: WP Rocket Case Study – 100/100 Mobile Score for WooCommerce Credits Developed by Oxford Metadata Ltd Contact: dimitris.vayenas@oxfordmetadata.co.uk Special thanks to the WordPress community for their valuable feedback and contributions. Support For support, please visit the WordPress.org support forum or contact us at dimitris.vayenas@oxfordmetadata.co.uk. Privacy This plugin: * Does not collect any user data * Does not make external API calls * Does not use cookies * Stores cached menu files locally on your server * Uses localStorage only for client-side caching (optional) Performance Tips Combine with a caching plugin – Use WP Rocket or similar for full-page caching Enable lazy loading – The plugin does this automatically Use a CDN – Serve static menu files from a CDN for global performance Regenerate regularly – Update cache whenever you modify your menu structure Customize CSS via Customizer – Use WordPress’s built-in Customizer for menu styling Technical Details File Structure: * Top menu file – Loads instantly with page (minimal HTML) * Full menu file – Lazy loads on first interaction (complete with submenus) * CSS options – None, Max Mega Menu auto-detect, or custom * Storage location – wp-content/uploads/menu-optimizer/ Browser Compatibility: * Chrome 90+ * Firefox 88+ * Safari 14+ * Edge 90+ Server Requirements: * PHP 7.4 or higher * WordPress 5.8 or higher * Write permissions to uploads directory