{"id":337425,"date":"2026-07-11T12:47:47","date_gmt":"2026-07-11T12:47:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/plogins-migrator-migration-and-backup-for-woocommerce\/"},"modified":"2026-07-11T13:27:07","modified_gmt":"2026-07-11T13:27:07","slug":"plogins-migrator","status":"publish","type":"plugin","link":"https:\/\/tir.wordpress.org\/plugins\/plogins-migrator\/","author":108511,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.0","stable_tag":"1.2.0","tested":"7.0.1","requires":"6.5","requires_php":"8.1","requires_plugins":null,"header_name":"Plogins Migrator - Site Migration and Backup","header_author":"WPPoland.com","header_description":"Back up, clone and migrate your WordPress site to a new host. One file, drag and drop, no technical setup.","assets_banners_color":"394851","last_updated":"2026-07-11 13:27:07","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/plogins.com\/plogins-migrator\/","header_author_uri":"https:\/\/wppoland.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":36,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"motylanogha","date":"2026-07-11 12:47:26"},"1.2.0":{"tag":"1.2.0","author":"motylanogha","date":"2026-07-11 13:27:07"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3603916,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3603916,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3603916,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3603916,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0","1.2.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3603916,"resolution":"1","location":"assets","locale":"","width":1600,"height":1200},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3603916,"resolution":"2","location":"assets","locale":"","width":1600,"height":1200}},"screenshots":{"1":"The Migrator screen: create a backup with presets and exclusion options, alongside restore and your saved backups.","2":"The file-size explorer: scan wp-content and see each folder's size so you can leave out what you do not need."}},"plugin_section":[],"plugin_tags":[151,2814,4155,152,4574],"plugin_category":[59],"plugin_contributors":[264912],"plugin_business_model":[],"class_list":["post-337425","plugin","type-plugin","status-publish","hentry","plugin_tags-backup","plugin_tags-clone","plugin_tags-migration","plugin_tags-restore","plugin_tags-wp-cli","plugin_category-utilities-and-tools","plugin_contributors-motylanogha","plugin_committers-motylanogha"],"banners":{"banner":"https:\/\/ps.w.org\/plogins-migrator\/assets\/banner-772x250.png?rev=3603916","banner_2x":"https:\/\/ps.w.org\/plogins-migrator\/assets\/banner-1544x500.png?rev=3603916","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/plogins-migrator\/assets\/icon-128x128.png?rev=3603916","icon_2x":"https:\/\/ps.w.org\/plogins-migrator\/assets\/icon-256x256.png?rev=3603916","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/plogins-migrator\/assets\/screenshot-1.png?rev=3603916","caption":"The Migrator screen: create a backup with presets and exclusion options, alongside restore and your saved backups."},{"src":"https:\/\/ps.w.org\/plogins-migrator\/assets\/screenshot-2.png?rev=3603916","caption":"The file-size explorer: scan wp-content and see each folder's size so you can leave out what you do not need."}],"raw_content":"<!--section=description-->\n<p>Migrator packs your database and everything in <code>wp-content<\/code> into a single file you can download, keep as a backup, and restore, on the same site or on a brand-new install somewhere else. When you restore onto a different address, Migrator rewrites the old URLs and file paths to the new ones for you, so the site just works.<\/p>\n\n<p>Everything happens on your own server. There is no account to create, no file size sold back to you, and nothing is ever sent to a third-party service. Because it is fully open, you can read exactly what it does: the source lives at https:\/\/github.com\/wppoland\/plogins-migrator, which is also where to file a bug or request a feature.<\/p>\n\n<p><strong>How it works<\/strong><\/p>\n\n<ol>\n<li>On the site you want to copy, create a backup. Migrator writes your database to a portable SQL dump and streams every file in <code>wp-content<\/code> into one archive next to it.<\/li>\n<li>Download that archive (or, on a big site, build it from the command line, see below).<\/li>\n<li>On the destination, the same site to roll back, or a fresh WordPress install to move to, restore the archive. Migrator imports the database, puts the files back, and rewrites the source site's web address and paths to this one.<\/li>\n<\/ol>\n\n<p>The address rewrite is <strong>safe for serialized data<\/strong>: Migrator walks the actual data structures rather than doing a blind text replace, so the byte-length counts PHP stores inside serialized options and meta stay correct and nothing breaks.<\/p>\n\n<p><strong>A few things worth knowing<\/strong><\/p>\n\n<p>Backups are written to a protected folder (<code>wp-content\/migrator-backups<\/code>) that denies direct web access, and the in-browser download is served only to logged-in administrators through an authenticated handler, the files are never exposed at a guessable URL. Each item inside an archive carries a checksum, so a truncated or corrupted backup is caught before it is ever restored over a live site.<\/p>\n\n<p>Restoring <strong>overwrites<\/strong> the destination database and files, that is the point of a restore, so it asks for confirmation and is limited to administrators. Migrator never overwrites its own plugin folder during a restore, so it cannot pull the rug out from under itself mid-import.<\/p>\n\n<p>For large sites where a browser request would time out, every job also runs from WP-CLI, which has no timeout:<\/p>\n\n<pre><code>wp migrator export\nwp migrator import path\/to\/backup.migrator\n<\/code><\/pre>\n\n<p><strong>What's included<\/strong><\/p>\n\n<ul>\n<li>One-click backup of your database and all of <code>wp-content<\/code> into a single archive<\/li>\n<li>Restore to the same site, or migrate to a new host with automatic, serialization-safe URL and path rewriting<\/li>\n<li>Choose what to leave out: media, themes, plugins, cache, spam comments, post revisions, transients, WooCommerce sessions or Action Scheduler tables<\/li>\n<li>In-browser export with a progress bar and a direct download, resumable so large sites finish across multiple steps, plus drag-and-drop restore<\/li>\n<li>WP-CLI <code>export<\/code> and <code>import<\/code> commands for sites too large for the browser<\/li>\n<li>A safety snapshot of your database before every restore, rolled back automatically if anything fails<\/li>\n<li>Per-item checksums so a corrupt archive is detected, not restored<\/li>\n<li>Serialization-safe search and replace across the database, with a dry-run preview and a <code>wp migrator replace<\/code> command, to change a domain, URL or path safely<\/li>\n<li>Inspect any stored backup before you restore it: source URL, WordPress and PHP versions, table count, plus pre-restore checks for table prefix, disk space and writability<\/li>\n<li>Self-hosted: no account, no third-party service, nothing leaves your server<\/li>\n<\/ul>\n\n<h3>Plogins Migrator PRO<\/h3>\n\n<p>The free edition backs up and migrates your whole site by hand. <strong>Plogins Migrator PRO<\/strong> makes it run itself:<\/p>\n\n<ul>\n<li><strong>Scheduled and incremental backups<\/strong> - daily or weekly with retention; only changed files after a baseline<\/li>\n<li><strong>Cloud and off-site copies<\/strong> - S3, R2, Backblaze B2, Wasabi, FTP\/SFTP, WebDAV, Dropbox and Google Drive<\/li>\n<li><strong>Recovery points<\/strong> - one-click rollback to a known-good backup<\/li>\n<li><strong>Encrypted backups<\/strong> - password-protected archives, decrypted on restore<\/li>\n<li><strong>Server-to-server transfer<\/strong> - move a site between servers with no manual download<\/li>\n<li><strong>Email notifications and activity log<\/strong> - a silent failure never slips by<\/li>\n<li><strong>Full multisite<\/strong> - back up and migrate a whole network with correct URL rewriting<\/li>\n<\/ul>\n\n<p>Everything in the free edition stays free and open. Plogins Migrator PRO starts at 49 EUR per year (PLN shown at checkout).<\/p>\n\n<p>Compare editions and pricing: https:\/\/plogins.com\/plogins-migrator-pro\/pricing\/<\/p>\n\n<h3>Translations<\/h3>\n\n<p>Plogins Migrator includes Polish, German and Spanish translations for the plugin interface. The text domain is <code>plogins-migrator<\/code>, so WordPress.org language packs can also override or extend these bundled translations.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/migrator<\/code>, or install it from Plugins \u2192 Add New.<\/li>\n<li>Activate it. There are no required dependencies.<\/li>\n<li>Open <strong>Migrator<\/strong> in the admin menu to create a backup, or use <code>wp migrator export<\/code> from the command line.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"documentation%20and%20links\"><h3>Documentation and links<\/h3><\/dt>\n<dd><ul>\n<li><strong>Documentation<\/strong> - https:\/\/plogins.com\/plogins-migrator\/docs\/<\/li>\n<li><strong>Plugin page<\/strong> - https:\/\/plogins.com\/plogins-migrator\/<\/li>\n<li><strong>Source code<\/strong> - https:\/\/github.com\/wppoland\/plogins-migrator<\/li>\n<li><strong>Bug reports and feature requests<\/strong> - https:\/\/github.com\/wppoland\/plogins-migrator\/issues<\/li>\n<\/ul><\/dd>\n<dt id=\"does%20restoring%20delete%20what%20is%20already%20on%20the%20destination%3F\"><h3>Does restoring delete what is already on the destination?<\/h3><\/dt>\n<dd><p>Yes. A restore replaces the destination's database and files with the contents of the archive, that is what restoring a backup means. It is limited to administrators and asks for confirmation first. Always keep a separate backup of anything on the destination you want to keep.<\/p><\/dd>\n<dt id=\"will%20my%20links%20break%20when%20i%20move%20to%20a%20new%20domain%3F\"><h3>Will my links break when I move to a new domain?<\/h3><\/dt>\n<dd><p>No. When you restore onto a different address, Migrator rewrites the old site URL and file paths to the new ones, including inside serialized data, so internal links and settings keep working.<\/p><\/dd>\n<dt id=\"my%20site%20is%20large%20and%20the%20browser%20export%20stops.%20what%20do%20i%20do%3F\"><h3>My site is large and the browser export stops. What do I do?<\/h3><\/dt>\n<dd><p>Use WP-CLI, which has no request time limit: <code>wp migrator export<\/code> to build the archive and <code>wp migrator import &lt;file&gt;<\/code> to restore it.<\/p><\/dd>\n<dt id=\"does%20it%20send%20my%20data%20anywhere%3F\"><h3>Does it send my data anywhere?<\/h3><\/dt>\n<dd><p>No. Migrator runs entirely on your own server. It creates no account and contacts no external service. Your backups stay in <code>wp-content\/migrator-backups<\/code> until you download or delete them.<\/p><\/dd>\n<dt id=\"where%20are%20my%20backups%20stored%3F\"><h3>Where are my backups stored?<\/h3><\/dt>\n<dd><p>In <code>wp-content\/migrator-backups<\/code>, a folder protected from direct web access. Removing the plugin deletes that folder and its contents.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20work%20on%20wordpress%20multisite%3F\"><h3>Does this plugin work on WordPress Multisite?<\/h3><\/dt>\n<dd><p>Yes. This plugin is compatible with WordPress Multisite. Network activate it or activate it on individual sites; each site keeps its own settings and data.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>New: standalone serialization-safe search and replace (admin tool + dry run + <code>wp migrator replace<\/code>) to change a domain, URL or path without corrupting serialized data.<\/li>\n<li>New: inspect a stored backup before restoring - shows the source URL, WordPress and PHP versions and table count, and runs pre-restore checks (table prefix, disk space, writable files).<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Added a Free vs PRO overview to the readme.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>New: in-plugin overview of Plogins Migrator PRO (incremental + scheduled backups, off-site storage, one-click cloud restore) on the admin screen.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Clearer name: Plogins Migrator - Site Migration and Backup (it backs up and migrates the whole site, not only WooCommerce).<\/li>\n<li>Hardened the export AJAX handler: the request payload is fully sanitized before any filter callback runs.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Added bundled Polish, German and Spanish translations for the plugin interface.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>First stable release.<\/li>\n<\/ul>\n\n<h4>0.3.3<\/h4>\n\n<ul>\n<li>Renamed to Plogins Migrator for a more distinctive plugin name.<\/li>\n<\/ul>\n\n<h4>0.3.2<\/h4>\n\n<ul>\n<li>Tidier saved-backup rows: the date and size lead, the long file name is a muted single line that no longer wraps, and the row reflows neatly on narrow screens.<\/li>\n<\/ul>\n\n<h4>0.3.1<\/h4>\n\n<ul>\n<li>Your saved backups now appear inside the \"Restore a backup\" card, so you can restore one in place without scrolling past it.<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>New \"Your backups\" section: every backup stored on the site is listed with its date and size, so you can download, restore or delete it in one click without leaving the screen.<\/li>\n<li>Restore straight from a stored backup (gzip backups are unpacked automatically). The backup file is kept, not consumed.<\/li>\n<li>Added one-click presets to the backup screen: Full site, Database only and Media only set the right exclusions for you.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Added a file-size explorer to the backup screen: scan wp-content, see each folder's size and file count, and tick folders or large files to leave out of the backup. Builds on the existing path exclusions.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<li>One-file backup of the database (tables, views, triggers and stored routines) and all of <code>wp-content<\/code>.<\/li>\n<li>Restore to the same site, or migrate to a new host with serialization-safe URL and path rewriting.<\/li>\n<li>Selective backup: leave out media, themes, plugins, cache, spam comments, post revisions, transients, WooCommerce sessions or Action Scheduler tables.<\/li>\n<li>In-browser resumable export with a progress bar and a direct download, plus drag-and-drop restore.<\/li>\n<li>WP-CLI <code>export<\/code> and <code>import<\/code> for sites too large for the browser.<\/li>\n<li>Safety first: a pre-import database snapshot with automatic rollback if a restore fails, per-item checksums, and a refusal to import across a mismatched table prefix.<\/li>\n<\/ul>","raw_excerpt":"Back up, clone and migrate your whole site to one file, then restore it here or on a new host. URLs and paths are fixed for you. Runs on your server.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/337425","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=337425"}],"author":[{"embeddable":true,"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/motylanogha"}],"wp:attachment":[{"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=337425"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=337425"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=337425"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=337425"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=337425"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=337425"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}