Archivum Inactive Archiver
Archivum Inactive Archiver
Description
Most sites collect plugins that are switched off but not quite ready to be deleted: something you are testing, a tool you use twice a year, a plugin you replaced but might need to go back to. They clutter the Plugins screen and their code still sits on your server.
Archivum Inactive Archiver adds a third option between “inactive” and “deleted”. Archiving moves a plugin’s files out of wp-content/plugins into an archive folder inside wp-content. WordPress no longer sees it, so it disappears from the Plugins screen, but its files are kept exactly as they were. Restore it with one click whenever you need it, and it comes back on its latest version.
What it does
- Adds an Archive link to every inactive plugin on the Plugins screen, and Archive to the bulk actions.
- Adds an Archived count next to All / Active / Inactive.
- Adds a Plugins Archived Plugins screen where you can restore or permanently delete archived plugins, one at a time or in bulk.
- Updates a plugin when you restore it, so it comes back on its latest version instead of the one it was archived with.
- Download any archived plugin as a zip, ready to install again, before you delete it.
- Shows when each archived plugin was last updated, when it was first and last archived, and how long it has been in the archive.
- Points out active plugins that never load. On a site that uses a plugin filter to skip plugins on some pages, it notes on the Plugins screen any active plugin that has not loaded on a single request in 30 days, and, more quietly, any that loads only in wp-admin or background tasks, on single sites.
- Keeps the archive in a folder whose name is different on every site, protected from web access, and checks that protection, with a warning on the screen and in Tools Site Health.
- Works with single-file plugins (such as Hello Dolly), and on multisite in Network Admin.
What it deliberately does not do
- It never archives an active plugin. Deactivate first.
- It never activates a plugin on restore. A restored plugin comes back inactive, even when it has been updated.
- It never overwrites. If a plugin with the same folder name already exists where a move would land, the move is refused and you are told why.
- It adds nothing to the public side of your site: no scripts, styles or output. On front-end requests it only compares two lists, to notice plugins that never load.
- It collects nothing about you or your visitors, sends nothing to its authors and shows no advertising. The only outside requests are WordPress’s own update checks when a plugin is updated on restore.
Archivum Pro
For people who look after many sites, Archivum Pro is a separate add-on that archives and deletes inactive plugins automatically (always with a week’s notice), runs plugins’ own uninstall routines to clean up their data, flags abandoned plugins, keeps an activity log, and adds WP-CLI commands. This plugin is complete without it.
Things you should know
- Plugin settings stored in the database are not touched by archiving, restoring or deleting.
- On Apache the archive folder is protected from direct web access, and an equivalent rule file is written for IIS. Some servers ignore those rules, nginx among them. The Archived Plugins screen checks and warns you; see the FAQ.
- On multisite, archiving is available to network administrators in Network Admin, the same place plugins are installed and deleted.
Disclaimer
This plugin is free software, provided “as is”, without warranty of any kind, express or implied, as set out in sections 11 and 12 of the GNU General Public License v2 included with it. The authors are not liable for any loss or damage arising from its use, including lost files, settings or data.
It moves and deletes other plugins’ files on your server. You are responsible for deciding which plugins to archive or delete, for keeping current backups of your site’s files and database, and for checking the result. A deleted plugin can only be recovered from a backup, or from a copy you downloaded first.
Installation
- In your WordPress admin go to Plugins Add New, search for “Archivum Inactive Archiver”, then install and activate it. Or upload the plugin folder to
/wp-content/plugins/and activate it on the Plugins screen. - On the Plugins screen, choose Archive under any inactive plugin.
- Go to Plugins Archived Plugins to restore, download or delete what you have archived.
Screenshots
Faq
Plugins Installed Plugins Inactive lists every plugin that is switched off. Active plugins nothing uses any more need a check of their own: whether anything on the site still relies on each one. Once plugins are archived, the Archived Plugins screen shows when each was last updated and how long it has been archived, so you can decide by dates rather than memory. Step by step: How to find unused plugins in WordPress.
No. WordPress never loads an inactive plugin, so it has no effect on page speed. Its files stay on the server and its settings stay in the database, which is why security scanners still count it and its updates still show. More: Do inactive plugins slow down WordPress?
Delete what you are sure nobody needs: it is the one step you cannot undo without a backup. For the rest, archive first, let the site run, and delete once nothing has needed them. Archiving keeps the files and the settings, so a restore gives you back a working configuration. More: Remove unused plugins, or archive them first?
Some sites use a plugin filter: a must-use plugin, or a plugin such as a performance tool, that loads each plugin only on the pages that need it. Archivum compares the plugins you have activated with the ones that actually loaded on each request. An active plugin that has not loaded on any front-end page, wp-admin screen or background task for 30 days is skipped everywhere, so it may not be needed: deactivate it and archive it, and restore it if something turns out to need it. A plugin that loads only in wp-admin or background tasks gets a quieter note, which is normal for admin tools.
- It starts the first time a request shows a plugin being skipped. Notes appear after 30 days, and only once at least 14 days of front-end visits have been seen.
- The Plugins, Add Plugins, plugin editor and Updates screens are not counted: plugin filters load every plugin there.
- If your plugin filter skips Archivum itself on front-end pages, Archivum cannot see those pages. It says so on its own row; let the filter load Archivum everywhere.
- With full-page caching, a front-end page is counted only when it is built, so notes can take longer to appear.
- Single sites only, for now. On multisite nothing is recorded.
- Turn it off in Plugins Archived Plugins Settings. That also deletes what was recorded.
No. On each request Archivum compares the stored list of active plugins with the plugin files PHP loaded, which takes a fraction of a millisecond. On a site without a plugin filter every active plugin loads on every request, so nothing is ever written. With a plugin filter it writes to the database at most once a day for each kind of request (front end, wp-admin, background), into one small option. Nothing leaves your site.
Archiving moves the plugin’s files to another folder without changing them. Nothing in the database is altered. Restoring moves them back.
No. Deactivate it first. This is deliberate: deactivation runs the plugin’s own clean-up code, and that should be your decision.
A folder named wp-content/archived-plugins- followed by twelve random characters, for example archived-plugins-3f9a1c0b7d2e, with one folder per plugin inside it. The Archived Plugins screen shows the exact name. Developers can change the location with the archive_inactive_dir filter, for example to move it outside the web root.
So that nobody can guess its address. Archived plugins are often old, and old plugins can contain files that are unsafe to run. The plugin already blocks web access to the folder, but some servers ignore that block. A name that differs on every site means that, even there, an outsider does not know where to look. The characters are chosen once per site and do not change.
Not while they are archived: WordPress only updates plugins in the plugins folder. When you restore a plugin, this plugin updates it to its latest version straight away, using WordPress’s own updater. This works for any plugin that shows an update on the Plugins screen, and needs the update_plugins capability. At most five plugins are updated per restore; any others are named so you can update them from the Plugins screen. It can be turned off in Plugins Archived Plugins Settings.
Rarely, and no more than updating any inactive plugin. The plugin stays inactive after the update. Most plugins make their database changes the next time they are activated, whichever version they come from. If a plugin skipped several versions while it was archived, read its changelog before activating it.
Yes. “Download” under each archived plugin sends it as a zip that can be installed again with Plugins Add Plugin Upload Plugin. Only the plugin’s own files are included. It is offered to users who may delete plugins, and works up to 200 MB; for larger plugins, copy the folder over FTP or SSH.
Deleting an archived plugin removes its files only. Settings it stored in the database stay, because WordPress removes those only by running the plugin’s own uninstall routine. Archivum Pro’s “Clean up and delete” runs that routine for you; without Pro, restore the plugin and delete it from the Plugins screen, which runs it.
They stay on disk in the archive folder. Reactivate or reinstall this plugin and it finds the folder again, so they reappear on the Archived Plugins screen. You can also move a folder back into wp-content/plugins by hand over FTP or SSH.
Not automatically. nginx does not read .htaccess files, and neither does Apache when the host has switched overrides off. The Archived Plugins screen requests a file in the archive folder from your own site and shows a warning if it is served; Tools Site Health shows it too. If you see it, ask your host to deny web access to every address beginning /wp-content/archived-plugins (on nginx: location ^~ /wp-content/archived-plugins { deny all; }), or use the archive_inactive_dir filter to store the archive outside the web root.
No. The plugin manages .htaccess, web.config and index.php in the archive folder and rewrites them if they change. Put your own rules in the server configuration instead.
Archive and restore need the activate_plugins capability. Permanent deletion and Download also need delete_plugins. Updating on restore needs update_plugins. On multisite all of these need manage_network_plugins. If DISALLOW_FILE_MODS is set, the screen is read-only.
Only through WordPress itself: when a plugin is updated on restore, WordPress’s own updater checks for and downloads the update, exactly as it does on the Plugins screen. The Archived Plugins screen also requests a file from your own site, to check that the archive folder is blocked from the web. Nothing is sent to the plugin’s authors.
A separate, paid add-on from the same authors, sold at inactivearchiver.com. It needs this plugin. It adds automatic archiving after a period you choose, automatic deletion after a period in the archive (always announced a week ahead, and only after someone has seen the announcement), email reports, Clean up and delete, flags for plugins closed or abandoned on WordPress.org, an activity log, WP-CLI commands and two more Site Health checks. Nothing in this plugin is locked or limited without it.
Plans start at $19 a year for one site at the launch price ($29 regular). See Pricing for every plan.
Your host requires FTP or SSH credentials for WordPress to change files (you will see the same prompt when installing plugins). This plugin only works where WordPress can write directly.
Earlier versions were distributed in a folder named archive-inactive, archive-inactive-plugins or inactive-archiving-system. Deactivate the old version, install and activate this one, then delete the old one. They use different folder names, so WordPress treats them as separate plugins and will not update one into the other. Everything you archived before is picked up automatically.
Open Plugins Archived Plugins. Version 1.2 and later pick up everything in the archive folder, including folders they cannot identify as a plugin, so nothing is hidden.
No. See “Disclaimer” below.
Reviews
Changelog
2.2.1
- Fix: Tools Site Health Info left out plugins that never load when the plugin filter also skips them in wp-admin.
2.2.0
- New: on sites that use a plugin filter, the Plugins screen notes active plugins that have not loaded on any request for 30 days, and, more quietly, plugins that load only in wp-admin or background tasks. The same lists appear in Tools Site Health Info.
- New: a setting to turn it off (Plugins Archived Plugins Settings), which also deletes what was recorded.
- Nothing is recorded on a site without a plugin filter, or on multisite.
2.1.0
- New: an Archivum Pro screen (Plugins > Get Archivum Pro) describing the paid add-on, with links to its pricing. Shown only while Pro is not installed.
- New: a short card about Pro on the Archived and Settings tabs, and a Get Pro link on this plugin’s row on the Plugins screen. Both go away once Pro is installed. Nothing is loaded from outside your site.
2.0.1
- Readme: Archivum Pro’s starting price and a link to its pricing. No code changes.
2.0.0
- Added: the Plugin URI header, pointing at the plugin’s home page, inactivearchiver.com.
- New: Download any archived plugin as a zip, ready to install again. Built inside the protected archive folder, never following links out of it.
- New: a restored plugin is updated to its latest version with WordPress’s own updater, at most five per restore. It stays inactive. Can be turned off.
- New: each archived plugin shows when it was last updated, when it was first and last archived, and how long it has been in the archive.
- New: a Site Health check for web access to the archive folder.
- New: a Settings tab, and a Settings link on the Plugins screen.
- Changed: messages are shown in the plugin’s own boxes rather than as WordPress admin notices, so plugins that hide admin notices no longer hide them.
- Changed: the screen is titled “Archivum: Archived Plugins”, with the Archivum icon, at
plugins.php?page=archivum-archived-plugins. Old links redirect. - Security: actions apply to exactly the plugins chosen, even with unusual folder names; a stored plugin file must lie inside its own archive folder.
- Developers: hooks for add-ons (
archive_inactive_loaded, tabs, settings sections, row actions and details, bulk actions,archive_inactive_downloaded). Archivum Pro, a separate add-on, uses them.
1.3.0
- New: the archive folder is now named
archived-plugins-followed by twelve random characters that differ on every site, so its address cannot be guessed on a server that ignores the access rules. - Changed: an existing
wp-content/archived-pluginsfolder is renamed automatically the first time you open the Archived Plugins screen or archive, restore or delete a plugin. Nothing inside it changes. - Changed: if the plugin is deleted and installed again, it finds its archive folder again.
- Note: if a backup tool or a server rule refers to
wp-content/archived-pluginsby its exact name, update it to the new name shown on the Archived Plugins screen.
1.2.4
- Changed: the plugin is now named Archivum Inactive Archiver and its folder is
archivum-inactive-archiver. Nothing else has changed, and plugins you archived with an earlier version are picked up automatically.
1.2.3
- Changed: if a copy from 1.2.2 or earlier is still active, this version stands aside instead of causing an error.
1.2.2
- New: the Archived Plugins screen checks whether the archive folder can be reached over the web and warns if it can, on any server, not only nginx.
- Fixed: bulk actions miscounted when two plugins shared a name, and could hide an error.
- Fixed: an archived folder with brackets or other wildcard characters in its name was not recognised as a plugin.
- Fixed: an incomplete record of an archived plugin could cause PHP warnings.
- Changed: the
archive_inactive_dirfilter can no longer point at the uploads, themes, wp-content or site root directories. - Changed: on multisite the record of archived plugins is stored for the network rather than the main site. Existing records are moved automatically.
- Changed: the plugins and archive folders are each checked for direct write access before anything is moved.
- Tested on WordPress 6.2 with PHP 7.4, and on nginx.
1.2.1
- Fixed: the access rule file written for IIS used the wrong structure. Existing archive folders are corrected the next time a plugin is archived, restored or deleted.
- Changed: removed the Plugin URI header.
1.2.0
- Security: archiving a single-file plugin (such as Hello Dolly) no longer moves the whole plugins folder. If you are on 1.1 or earlier, update before archiving anything else.
- Security: restore and delete now only act on real folders directly inside the archive. Crafted requests could previously reach other directories.
- Security: permanent deletion now requires the
delete_pluginscapability; all actions respectDISALLOW_FILE_MODS; on multisite, network administrators only. - Fixed: a fatal error on the public site that could occur once a plugin had been archived.
- Fixed: no confirmation was shown after restoring a single plugin.
- Fixed: an “An error occurred” notice could appear on unrelated admin screens.
- Fixed: restoring over a reinstalled copy of the same plugin now gives a clear message instead of a permissions error.
- New: single-file plugins can be archived and restored.
- New: the archive records each plugin’s name, version, author and the date it was archived.
- New: folders in the archive that are not recognised as plugins are listed so they can be restored or deleted.
- New:
archive_inactive_dirfilter andarchive_inactive_archived,_restoredand_deletedactions. - Changed: active plugins are never archived. Deactivate first.
- Changed: archive folder protection now works on Apache 2.4, and a rule file is written for IIS.
- Changed: the plugin runs in the admin area only and no longer filters the active plugin list.
- Changed: file operations use the WordPress filesystem API.
- Changed: requires WordPress 6.2 and PHP 7.4.
1.1
- Fixed: plugins whose main file is not named after their folder were not listed in the archive.
1.0
- Initial release: archive, bulk archive, restore, bulk restore, permanent delete, Archived Plugins screen, Archived link on the Plugins screen.



