WordPress plugin intelligence profile

Naqil Backup & Migrate

Migrate a whole WordPress site with one link. The servers transfer it between themselves: no download, no upload, no size limit, no paid tier.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 7.0
Current version0.1.2
WordPress coverageTested up to WordPress 7.0
Minimum stackWP 5.6 · PHP 7.2
Directory statusactive
Last directory update30 Sept 20261mo ago
Active installations10Adoption metric — not a quality score
WordPress.org rating5.0 / 5 from 2 ratings
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records Naqil Backup & Migrate version 0.1.2 as active, updated 1mo ago and tested up to WordPress 7.0.

Overview

About this plugin

Moving a WordPress site usually means downloading a huge archive and uploading it again — if your host lets you upload something that big at all.

Naqil does it with a link. Install it on both sites. On the old one, click Migration link next to a backup.

On the new one, paste it and press Pull backup. The two servers transfer the site between themselves, and the new one applies it the moment the transfer lands: database, theme, plugins and uploads, with the old address rewritten to the new one.

You never download the file and you never upload it. The PHP upload limit never applies, because nothing passes through your browser. No FTP, no phpMyAdmin, no third-party service in the middle.

And nothing is held back for a paid version. There is no paid version.

The link is private and temporary

It carries a 48-character secret token, only the SHA-256 hash of that token is ever stored, it expires after 3 days, issuing a new link invalidates the previous one, and deleting the backup revokes it immediately.

It finishes on sites that are actually large

8 GB and 72,000 files: 17 minutes, start to finished archive. The archive is built by appending to it rather than rewriting it for every batch, which is what turns a large backup from hours into minutes, and each batch works to a clock rather than a fixed number of files, so a request always finishes well inside whatever limit the server keeps.

When something goes wrong, it tells you where

Every request a backup or restore makes is written down before it runs, not after. So when a server kills a job — and on large sites that is what happens — the last line in the log is the step it died on, with the table and row it was working on at the time. Running out of memory or out of time is named outright, because those two are the ones that leave nothing else behind.

Most tools answer a failed migration with “migration failed”. This one answers with the request, the step, the table, the memory in use, and the limit it hit.

It works on hosts other tools give up on

Different table prefixes between the two sites, a MySQL 8 site moving onto MariaDB, a host without the PHP zip extension, a backup larger than the upload limit, a page cache plugin, an HTTPS site landing on a plain HTTP address — each of these is handled rather than left to fail.

Free means the whole thing, at any size

Site size is not a feature here. A 50 MB blog and a 5 GB shop use the same code and the same transfer, and neither is asked for anything. Cross-domain migration, site-to-site transfer, restores, the Activity log — all of it, out of the box, with nothing to buy later.

Your new domain will actually work

When you restore a backup made on a different URL, every occurrence of the old address is replaced with the new one — safely, including inside PHP-serialized and JSON-encoded data, where a naive search and replace corrupts theme, widget and plugin settings. The rewrite never calls unserialize(), so your database content cannot trigger code execution.

Nothing leaves your server

No third-party service, no account, no telemetry, no proprietary format. Backups are plain ZIP archives you can open on any computer, stored in a protected folder inside your uploads directory.

Features

  • One-click backup of your database and wp-content into a standard ZIP.
  • Chunked, resumable engine — handles large sites without PHP timeouts.
  • Restore from the backup list, or upload a ZIP from another site.
  • Site-to-site migration over a secret, expiring link — no download, no upload limits.
  • Serialization-safe URL replacement for moving to a new domain.
  • Custom find and replace in the database, applied safely as the backup is built.
  • Exclude spam comments, post revisions, the database, uploads, themes or plugins.
  • Secure downloads from the admin, protected by capability and nonce checks.
  • Fully translatable, with a complete Arabic translation and RTL-ready screens.
  • An Activity log that records every request a backup or restore makes — what it was working on, how long it took, how much memory it used — so a job that fails tells you where it stopped instead of leaving you guessing.
  • A “Check the source” button that asks the other site what it will answer, before a transfer starts rather than after it fails.
  • Built-in Help screen documenting every feature and how to use it.

Works well for

  • Moving a site from localhost or staging to a live server.
  • Cloning a site to a new domain.
  • Switching hosts.
  • Keeping a manual backup before a risky update.
WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • backup
  • clone
  • duplicate
  • migration
  • restore
Compatibility & maintenance

Compatibility & maintenance

Tested up to WordPress 7.0

Not yet marked as tested with WordPress 7.1. WordPress.org currently lists Tested up to 7.0.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to7.0
Minimum requirementsWordPress 5.6 · PHP 7.2
Update activity30 Sept 20261mo ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

Version0.1.10.1.2
WordPress compatibility7.0.47.0.6
Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.