Home Plugins menu optimizer
Menu Optimizer logo

Menu Optimizer

by Oxford Metadata Ltd on WordPress.org

Boost site speed with static menu caching. Lazy-load submenus to keep DOM size under 1,500 nodes for better Core Web Vitals.

(0)
Admin settings page - Configure your menu and CSS options

Admin settings page - Configure your menu and CSS options

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

  1. Combine with a caching plugin – Use WP Rocket or similar for full-page caching
  2. Enable lazy loading – The plugin does this automatically
  3. Use a CDN – Serve static menu files from a CDN for global performance
  4. Regenerate regularly – Update cache whenever you modify your menu structure
  5. 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

Active installations0+
Weekly downloads
25
Version1.0
Last updated11/1/2025
WordPress version5.8
Tested up to6.8.3
PHP version7.4
Tags
cachemenuoptimizationperformancespeed