Menu Backup & Restore + Import/Export

Description

Menu Backup & Restore protects your WordPress menus with automatic backups, one-click restoration, and powerful import/export capabilities. Transfer menus between sites seamlessly with intelligent object mapping that ensures your menu structure remains intact.

Key Features

  • Automatic backup of menus when they are updated
  • Easy restoration of previous menu versions
  • Import and export menus as JSON files for portability or locally saved backups
  • Transfer menus between sites with intelligent object mapping, can be used to update menus from development to production sites without full site migration
  • Manual mapping interface to override automatic matches and map menu items to specific pages, posts, or taxonomies during import
  • Preserves complete menu structure: hierarchy, theme locations, and CSS classes for each menu item
  • Configurable maximum number of backups to keep
  • See who saved and created the backup
  • Tab-based interface for better organization
  • Simple and intuitive user interface
  • No database modifications required
  • Lightweight and fast

How It Works

  1. The plugin automatically creates a backup whenever you update a menu
  2. Backups are stored in the WordPress options table with complete menu structure (hierarchy, locations, CSS classes)
  3. You can view and manage backups from the Menus page
  4. Restore any previous version with a single click, preserving all menu settings
  5. Export backups as JSON files for portability or import to other sites
  6. Configure the maximum number of backups to keep in the settings

Requirements

  • WordPress 5.0 or higher
  • PHP 7.2 or higher

What Users Have to Say on Reddit

« That’s a super useful idea! Menus are so easy to wipe out by accident, and restoring from a full backup always feels like overkill. Nice work! »

« Really appreciate it, This will come in handy alot! »

« Oh man, I’ve done this before too. Lost a big menu while trying to rearrange items and it was gone in a click. Ended up re-building from scratch.
This plugin sounds like a lifesaver — surprised WordPress hasn’t built something like this in by default. »

« Kind of an automatic backup vs having to schedule one. »

« that’s a killer quality of life plugin wp’s missing so many of those “one click undo” features for common mistakes »

« Great idea! I do this more often than I care to admit. This needs to be in Core! »

« Dude I literally do this all the time and actually did it less than an hour ago. I hate how the WordPress menu isn’t stored normally. Thanks for this! »

Captures d’écran

  • WordPress Menus page with Menu Backup & Restore panel integration.
  • Backup & Restore tab showing saved menu backups with Restore, Export, and Delete options.
  • Import tab with file upload interface and helpful guidance for new users.
  • Import Preview page showing menu details and intelligent object mapping before restoration.
  • Settings page with backup limit configuration and support options.

Installation

  1. Upload the menu-backup-restore folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Go to Appearance > Menus to see the backup panel
  4. Configure the maximum number of backups in Settings > Menu Backups

FAQ

How many backups can I keep?

You can configure the maximum number of backups to keep in the plugin settings. The default is 10 backups.

Where are the backups stored?

Backups are stored in the WordPress options table. No additional database tables are created.

Can I restore a menu to a previous version?

Yes, you can restore any previous version of your menu with a single click. The restored menu will be created as a new menu with « (Restored) » appended to its name.

Can I export and import menus?

Yes! You can export any backup as a JSON file and import it to the same or a different WordPress site. The plugin intelligently maps menu items to objects on the target site.

Can I transfer menus between sites?

Absolutely! Export a menu from one site and import it to another. The plugin will automatically attempt to match pages, posts, and categories by slug, GUID, or title. On the import preview screen, you have full control to manually map any menu item to a different page, post, or category on the target site, or keep it as a custom link.

Can I manually control how menu items are mapped during import?

Yes! Version 1.1.1 introduced a manual mapping interface on the import preview page. After uploading a menu, you’ll see a detailed mapping table where you can:
* Review automatic matches and change them if needed
* Map unmatched items to specific pages, posts, or taxonomies on your site
* Choose to keep any item as a custom link instead of linking to an object
* See which items were automatically matched vs. which need attention

This gives you complete control over exactly how your imported menu will be structured.

What data is preserved during backup, restore, and import/export?

The plugin preserves all menu data including:
* Complete menu hierarchy (parent/child relationships)
* Theme menu locations (which theme position the menu is assigned to)
* CSS classes for each menu item
* Menu item titles, URLs, and descriptions
* Target and rel attributes
* Display order of menu items

Will this slow down my site?

No, the plugin is lightweight and only runs when menus are updated. It doesn’t affect your site’s performance.

Avis

29 juillet 2025
Absolutely love this plugin. It’s on the neccessary installation list. I’m forever messing up my menus and now I can back up and restore when needed to.
Lire les 2 avis

Contributeurs & développeurs

« Menu Backup & Restore + Import/Export » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.

Contributeurs

Historique des changements

1.1.1

  • Added manual mapping interface on import preview page
  • Users can now override automatic object matches during import
  • Menu items can be manually mapped to specific pages, posts, or taxonomies on the target site
  • Custom links can now be mapped to real pages/posts during import (not just kept as custom links)
  • Human-readable type labels in import preview (shows « Post », « Page », « Product » instead of « post_type »)
  • All mapping dropdowns now have uniform width for consistent UI
  • Fixed PHP 8.1+ deprecation warnings related to URL parameter handling
  • Fixed security warnings for POST data sanitization and validation
  • Fixed tab navigation issue when no WordPress menus exist but backups are present
  • Fixed bug where custom links mapped to pages weren’t being saved correctly
  • Option to keep any menu item as a custom link instead of mapping to an object
  • Improved import control and flexibility for cross-site menu transfers

1.1.0

  • Added Import & Export functionality for menu backups as JSON files
  • Added tab-based interface with « Backup & Restore » and « Import » tabs
  • Smart tab defaults: Import tab shown first when no backups exist
  • Improved empty state with actionable guidance for new users
  • Added informational notice on Import tab when no backups exist
  • Added « Buy Me a Coffee » support link on settings page
  • Added « Rate 5 Stars » call-to-action on settings page
  • Fixed backup panel appearing on Manage Locations tab
  • Fixed bug where reducing backup limit didn’t delete old backups
  • Imported menus are now automatically saved as backups
  • Enhanced security with MIME type validation and checksum verification
  • Improved cross-site menu transfer with intelligent object mapping
  • Added schema versioning for future compatibility

1.0.1

  • Added User column to show who created each backup
  • Improved responsive layout on smaller screens and mobile for a better user experience
  • Fixed H2 font size to match WordPress’s default H2 font size
  • Added friendly notice when no backups exist

1.0.0

  • Initial release
  • Automatic menu backup on menu save
  • Backup restoration
  • Configurable backup limit
  • Settings page
  • User interface improvements