{"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-10-27T19:35:37","modified_gmt":"2026-10-27T19:35:37","slug":"plogins-migrator","status":"publish","type":"plugin","link":"https:\/\/skr.wordpress.org\/plugins\/plogins-migrator\/","author":108511,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.6.3","stable_tag":"1.6.3","tested":"7.1.3","requires":"6.5","requires_php":"8.1","requires_plugins":null,"header_name":"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":"3a4042","last_updated":"2026-10-27 19:35:37","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/plogins.com\/plogins-migrator\/","header_author_uri":"https:\/\/wppoland.com","rating":5,"author_block_rating":0,"active_installs":60,"downloads":2032,"num_ratings":1,"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","revision":3603917},"1.2.0":{"tag":"1.2.0","author":"motylanogha","date":"2026-07-11 13:27:07","revision":3603953},"1.2.1":{"tag":"1.2.1","author":"motylanogha","date":"2026-07-13 11:09:14","revision":3605916},"1.2.10":{"tag":"1.2.10","author":"motylanogha","date":"2026-07-29 18:54:06","revision":3627600},"1.2.11":{"tag":"1.2.11","author":"motylanogha","date":"2026-08-13 11:52:35","revision":3645159},"1.2.12":{"tag":"1.2.12","author":"motylanogha","date":"2026-08-14 13:59:38","revision":3647512},"1.2.13":{"tag":"1.2.13","author":"motylanogha","date":"2026-08-20 06:32:50","revision":3655986},"1.2.14":{"tag":"1.2.14","author":"motylanogha","date":"2026-08-28 12:10:16","revision":3670295},"1.2.15":{"tag":"1.2.15","author":"motylanogha","date":"2026-08-29 10:59:05","revision":3671431},"1.2.16":{"tag":"1.2.16","author":"motylanogha","date":"2026-08-29 11:39:44","revision":3671465},"1.2.17":{"tag":"1.2.17","author":"motylanogha","date":"2026-08-31 11:39:58","revision":3674025},"1.2.18":{"tag":"1.2.18","author":"motylanogha","date":"2026-08-31 11:56:54","revision":3674088},"1.2.2":{"tag":"1.2.2","author":"motylanogha","date":"2026-07-13 20:23:31","revision":3606680},"1.2.3":{"tag":"1.2.3","author":"motylanogha","date":"2026-07-17 19:10:21","revision":3611947},"1.2.4":{"tag":"1.2.4","author":"motylanogha","date":"2026-07-19 14:15:49","revision":3613634},"1.2.5":{"tag":"1.2.5","author":"motylanogha","date":"2026-07-22 13:37:13","revision":3618704},"1.2.7":{"tag":"1.2.7","author":"motylanogha","date":"2026-07-28 10:55:44","revision":3625772},"1.2.8":{"tag":"1.2.8","author":"motylanogha","date":"2026-07-28 18:02:04","revision":3626318},"1.2.9":{"tag":"1.2.9","author":"motylanogha","date":"2026-07-29 13:05:39","revision":3627279},"1.3.0":{"tag":"1.3.0","author":"motylanogha","date":"2026-09-02 09:21:32","revision":3677599},"1.3.2":{"tag":"1.3.2","author":"motylanogha","date":"2026-09-10 11:49:47","revision":3689840},"1.3.3":{"tag":"1.3.3","author":"motylanogha","date":"2026-09-10 21:02:55","revision":3690505},"1.3.4":{"tag":"1.3.4","author":"motylanogha","date":"2026-09-11 08:29:20","revision":3691046},"1.3.5":{"tag":"1.3.5","author":"motylanogha","date":"2026-09-11 18:33:38","revision":3691909},"1.3.7":{"tag":"1.3.7","author":"motylanogha","date":"2026-09-14 18:21:27","revision":3695747},"1.3.8":{"tag":"1.3.8","author":"motylanogha","date":"2026-09-23 09:12:00","revision":3708927},"1.4.0":{"tag":"1.4.0","author":"motylanogha","date":"2026-10-02 09:42:58","revision":3724498},"1.5.0":{"tag":"1.5.0","author":"motylanogha","date":"2026-10-05 00:05:34","revision":3727932},"1.5.1":{"tag":"1.5.1","author":"motylanogha","date":"2026-10-05 00:13:32","revision":3727935},"1.6.0":{"tag":"1.6.0","author":"motylanogha","date":"2026-10-23 18:42:24","revision":3762231},"1.6.1":{"tag":"1.6.1","author":"motylanogha","date":"2026-10-27 15:09:51","revision":3768871},"1.6.2":{"tag":"1.6.2","author":"motylanogha","date":"2026-10-27 15:23:53","revision":3768890},"1.6.3":{"tag":"1.6.3","author":"motylanogha","date":"2026-10-27 19:35:37","revision":3769343}},"upgrade_notice":{"1.5.0":"<p>Adds Pull and Push: copy a live site to another server over HTTP, with resume and changes-only updates. Off until you switch it on.<\/p>","1.4.0":"<p>Recommended for everyone. Backups made with 1.3.x may contain damaged percent signs and non-ASCII text. After updating, make a fresh backup.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3707868,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3707868,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3671394,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3671394,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3769343,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"meta\":{\"title\":\"Plogins Migrator - Site Migration and Backup, Live Preview\",\"author\":\"WPPoland\"},\"landingPage\":\"\\\/wp-admin\\\/admin.php?page=migrator\",\"preferredVersions\":{\"php\":\"8.2\",\"wp\":\"latest\"},\"login\":true,\"steps\":[{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"woocommerce\"},\"options\":{\"activate\":true}},{\"step\":\"runPHP\",\"code\":\"<?php require '\\\/wordpress\\\/wp-load.php';\\ndelete_transient('_wc_activation_redirect');\\nupdate_option('woocommerce_onboarding_profile', array('skipped'=>true, 'completed'=>true));\\nif (function_exists('wc_get_product_id_by_sku') && class_exists('WC_Product_Simple')) {\\n  $demo = array('Trailwind Running Shoes'=>89, 'Harbor Leather Wallet'=>39, 'Amber Soy Candle'=>18, 'Coastal Pullover Hoodie'=>49, 'Field Canvas Backpack'=>59, 'Matte Ceramic Mug'=>14);\\n  foreach ($demo as $name=>$price) {\\n    $sku = 'demo-'.sanitize_title($name);\\n    if (wc_get_product_id_by_sku($sku)) { continue; }\\n    $p = new WC_Product_Simple();\\n    $p->set_name($name); $p->set_sku($sku); $p->set_regular_price((string)$price);\\n    $p->set_status('publish'); $p->set_catalog_visibility('visible');\\n    $p->save();\\n  }\\n}\"},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"plogins-migrator\"},\"options\":{\"activate\":true}}]}"}},"all_blocks":[],"tagged_versions":["1.1.0","1.2.0","1.2.1","1.2.10","1.2.11","1.2.12","1.2.13","1.2.14","1.2.15","1.2.16","1.2.17","1.2.18","1.2.2","1.2.3","1.2.4","1.2.5","1.2.7","1.2.8","1.2.9","1.3.0","1.3.2","1.3.3","1.3.4","1.3.5","1.3.7","1.3.8","1.4.0","1.5.0","1.5.1","1.6.0","1.6.1","1.6.2","1.6.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3605916,"resolution":"1","location":"assets","locale":"","width":1600,"height":1200},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3605916,"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,4151,4155,152],"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-migrate","plugin_tags-migration","plugin_tags-restore","plugin_category-utilities-and-tools","plugin_contributors-motylanogha","plugin_committers-motylanogha"],"banners":{"banner":"https:\/\/ps.w.org\/plogins-migrator\/assets\/banner-772x250.png?rev=3671394","banner_2x":"https:\/\/ps.w.org\/plogins-migrator\/assets\/banner-1544x500.png?rev=3671394","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/plogins-migrator\/assets\/icon-128x128.png?rev=3707868","icon_2x":"https:\/\/ps.w.org\/plogins-migrator\/assets\/icon-256x256.png?rev=3707868","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/plogins-migrator\/assets\/screenshot-1.png?rev=3605916","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=3605916","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 and no file size sold back to you, and nothing leaves your server unless you add an off-site destination you own or switch on Pull and Push. The source lives at <a href=\"https:\/\/github.com\/wppoland\/plogins-migrator\">github.com\/wppoland\/plogins-migrator<\/a>, 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>Scheduled backups and off-site copies<\/strong><\/p>\n\n<p>Back up daily or weekly and keep as many copies as you choose. Each scheduled backup can also be copied off the server, to an FTP or FTPS server or to a local or mounted folder outside the web root. Older scheduled copies are deleted automatically, on the server and at the destination, once they fall outside your retention setting.<\/p>\n\n<p><strong>Pull and push between live sites<\/strong><\/p>\n\n<p>Copy a whole site to another server over HTTP, with no archive to download or upload and no SSH or FTP. On the site you are copying, switch on Migrator &gt; Pull and Push. On the destination, run <code>wp migrator pull https:\/\/your-old-site.example<\/code>: the first run prints a key, which you paste on the source's Pull and Push screen, then you run the same command again (a source without the OpenSSL extension takes a connection token instead). The files and the database travel in small pieces, an interrupted pull carries on where it stopped when you run it again, and the next run fetches only what changed. Addresses are rewritten while the database streams in, the database keeps its exact bytes so accented text survives, and the old host's own platform plugins and server-bound drop-ins are left behind. <code>wp migrator push<\/code> sends the destination's file changes back.<\/p>\n\n<p><strong>A few things worth knowing<\/strong><\/p>\n\n<p>Backups are written to <code>wp-content\/migrator-backups<\/code>. On Apache and IIS that folder denies direct web access. nginx ignores those rules, so every backup file name also carries a random token and is never at a guessable URL. The in-browser download is served only to logged-in administrators through an authenticated handler. Each item inside an archive carries a checksum, and a finished archive ends with an end marker, so a truncated or corrupted backup is caught before it is 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 in short resumable steps with a progress bar and a direct download, plus drag-and-drop restore that uploads in 4 MB pieces<\/li>\n<li>Scheduled backups, daily or weekly, with a retention rule<\/li>\n<li>Pull a live site to another server over HTTP with <code>wp migrator pull<\/code>: resumable, and the next run fetches only the changes<\/li>\n<li>Push file changes back with <code>wp migrator push<\/code>, and run the low-level transfer commands through <code>wp migrator remote<\/code><\/li>\n<li>Off-site copies to an FTP or FTPS server, or to a local or mounted folder<\/li>\n<li>WP-CLI <code>export<\/code>, <code>import<\/code> and <code>replace<\/code> commands for sites too large for the browser<\/li>\n<li>A snapshot of your database before every restore. If the database import or the URL rewrite fails, the previous database is put back automatically. If a later step fails, such as extracting files, the site is left partly restored and the message gives the path of the previous database dump to restore by hand<\/li>\n<li>Per-item checksums and an archive check before the database is touched, so a corrupt or unfinished archive is refused, 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>No account and no service of ours: nothing leaves your server unless you add an off-site destination you own<\/li>\n<\/ul>\n\n<p><strong>Documentation and links<\/strong><\/p>\n\n<ul>\n<li><strong>Documentation<\/strong>: <a href=\"https:\/\/plogins.com\/plogins-migrator\/docs\/\">plogins.com\/plogins-migrator\/docs\/<\/a><\/li>\n<li><strong>Plugin page<\/strong>: <a href=\"https:\/\/plogins.com\/plogins-migrator\/\">plogins.com\/plogins-migrator\/<\/a><\/li>\n<li><strong>Source code<\/strong>: <a href=\"https:\/\/github.com\/wppoland\/plogins-migrator\">github.com\/wppoland\/plogins-migrator<\/a><\/li>\n<li><strong>Bug reports and feature requests<\/strong>: <a href=\"https:\/\/github.com\/wppoland\/plogins-migrator\/issues\">github.com\/wppoland\/plogins-migrator\/issues<\/a><\/li>\n<\/ul>\n\n<p>Reporting a security issue: email hello@wppoland.com, and under our <a href=\"https:\/\/wppoland.com\/en\/security-policy\/\">coordinated disclosure policy<\/a> we confirm within two business days, assess within five, and patch a critical issue within seven days of confirming it.<\/p>\n\n<h3>How Migrator compares<\/h3>\n\n<p>All six plugins named here back up and migrate WordPress. What separates them is what you get without paying, so the grid reads the free edition of each. Every entry was checked against vendor pricing pages and vendor documentation on 29 July 2026; the All-in-One WP Migration and Duplicator columns were checked again on 27 October 2026.<\/p>\n\n<p>The columns, left to right: <strong>Migrator<\/strong>, <strong>AIO<\/strong> is All-in-One WP Migration, <strong>Dupl<\/strong> is Duplicator, <strong>WPvivid<\/strong>, <strong>Updraft<\/strong> is UpdraftPlus, <strong>WPMigr<\/strong> is WP Migrate. A cell reads <strong>yes<\/strong> if the free edition does it, <strong>paid<\/strong> if that vendor sells it in a paid tier or add-on, <strong>no<\/strong> if the vendor does not offer it at any price, <strong>part<\/strong> if only partly, and <strong>?<\/strong> if the vendor does not say. A row of <strong>paid<\/strong> is a paywall, not a missing feature; <strong>no<\/strong> is the one that means the thing does not exist.<\/p>\n\n<pre><code>                           Migrator   AIO   Dupl  WPvivid  Updraft  WPMigr\n--------------------------------------------------------------------------\nFull backup + migration         yes   yes    yes      yes      yes    part\nNo size cap, free tier          yes    no    yes      yes      yes       ?\nScheduled backups               yes  paid   paid      yes      yes      no\nCloud or FTP destination        yes  paid   part      yes      yes      no\nIncremental backups            paid  paid     no     paid     paid      no\nEncrypted archives             paid   yes    yes     part     part       ?\nServer to server transfer       yes  paid   paid      yes     paid    paid\nMultisite net. restore         paid  paid   paid     part     paid    paid\nImports chosen tables          paid     ?     no     paid     paid    paid\nPaid plan, from               EUR49   $69    $79      $49      $70     $49\n<\/code><\/pre>\n\n<p><strong>Where Migrator is ahead in free.<\/strong> Scheduled backups with a retention rule, an off-site copy over FTP\/FTPS or to a folder outside the web root, no size limit beyond what your own server allows, and a database snapshot taken before every import and put back automatically if the database import fails. No other free tier here documents that rollback. Automation is not the paid tier here: a site that wants a nightly backup landing somewhere other than the server it protects needs nothing beyond the free plugin.<\/p>\n\n<p><strong>What PRO adds.<\/strong> Cloud destinations (S3, R2, Backblaze, Wasabi, SFTP, WebDAV), incremental backups, encrypted archives, recovery points, Table Sync, multisite restore, deploying to an empty server, resetting a staging site to a clean install, and a white-label mode that puts an agency's own name on the plugin. From 49 EUR per year.<\/p>\n\n<h4>All-in-One WP Migration<\/h4>\n\n<p>Exports to a single <code>.wpress<\/code> file, and its AES-256 password-protected export is in the free plugin, which is one thing Migrator keeps in PRO. The free export is bounded by your host's PHP limits; lifting them is the Unlimited extension at $69\/yr. Multisite is a separate add-on at $319\/yr.<\/p>\n\n<h4>Duplicator<\/h4>\n\n<p>Builds a package plus an installer. The vendor's readme states that the free plugin makes backups of any size, encrypts archives with AES-256 and a password, and stores backups locally or on its own Duplicator Cloud. Scheduling, other cloud destinations, recovery points, multisite and server-to-server import are in the paid plans, from a $79 list price.<\/p>\n\n<h4>WPvivid<\/h4>\n\n<p>Scheduled backups with one retention rule, Dropbox, Google Drive, S3, OneDrive, DO Spaces, FTP and SFTP as destinations, and server-to-server transfer with a migration key. Archives split at 200 MB. The vendor states databases cannot be backed up incrementally, encryption in Pro covers the database only, and table-level merging is sold as a separate product.<\/p>\n\n<h4>UpdraftPlus<\/h4>\n\n<p>Free scheduling from every 2 hours up to monthly, with Google Drive, Dropbox, S3, Rackspace, FTP, Swift and email as destinations. Archives split at 400 MB. Multisite, incremental file backups and database encryption are Premium, $70 to $399\/yr excluding VAT.<\/p>\n\n<h4>WP Migrate<\/h4>\n\n<p>Lite exports a ZIP and does not import at all. Moving files between live sites, and push and pull, are paid, $49 to $219 for the first year. No tier offers a cloud or FTP destination.<\/p>\n\n<p>Competitor prices are in USD, Migrator PRO is priced in EUR, and no conversion is implied. List prices and tier limits change without notice, so confirm on the vendor's own page before you buy. Migrator itself is free under GPLv2 with no account to create; PRO is 49 to 149 EUR per year.<\/p>\n\n<h3>Migrator Pro<\/h3>\n\n<p>Migrator Pro is a separate paid plugin that extends Migrator.<\/p>\n\n<p>Included in Migrator:<\/p>\n\n<ul>\n<li>Single-file backup<\/li>\n<li>In-place restore<\/li>\n<li>Move to a new host<\/li>\n<li>Exclusions<\/li>\n<li>Size explorer<\/li>\n<\/ul>\n\n<p>Migrator Pro adds:<\/p>\n\n<ul>\n<li>Incremental backups<\/li>\n<li>Recovery points<\/li>\n<li>Cloud destinations<\/li>\n<li>Server-to-server transfer from wp-admin<\/li>\n<li>Deploy to a new server<\/li>\n<li>Table sync<\/li>\n<\/ul>\n\n<p>The free edition is not a trial and its features stay available without a time limit.<\/p>\n\n<ul>\n<li><strong>Migrator Pro<\/strong> - <a href=\"https:\/\/plogins.com\/plogins-migrator-pro\/\">plogins.com\/plogins-migrator-pro\/<\/a><\/li>\n<li><strong>Compare editions and pricing<\/strong> - <a href=\"https:\/\/plogins.com\/plogins-migrator-pro\/pricing\/\">plogins.com\/plogins-migrator-pro\/pricing\/<\/a><\/li>\n<li><strong>PRO documentation<\/strong> - <a href=\"https:\/\/plogins.com\/plogins-migrator-pro\/docs\/\">plogins.com\/plogins-migrator-pro\/docs\/<\/a><\/li>\n<\/ul>\n\n<h3>Translations<\/h3>\n\n<p>Plogins Migrator is fully translatable and ships the <code>plogins-migrator.pot<\/code> template. Translations are delivered by WordPress.org language packs from translate.wordpress.org, which is where Polish, German and Spanish are being contributed; the package itself carries no compiled translation files.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/plogins-migrator<\/code>, or install it from Plugins &gt; 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=\"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=\"how%20large%20a%20site%20can%20i%20move%3F\"><h3>How large a site can I move?<\/h3><\/dt>\n<dd><p>Migrator sets no size limit. A browser export runs in short steps, so PHP time limits do not stop it, and uploads go in 4 MB pieces, so your host's upload limit does not apply. A browser restore runs as one long request, and some hosts or proxies (Cloudflare, nginx) cut those off. For a big site, restore with <code>wp migrator import &lt;file&gt;<\/code>, which has no time limit.<\/p><\/dd>\n<dt id=\"my%20host%20times%20out%20or%20shows%20a%20502%20during%20a%20restore.%20what%20now%3F\"><h3>My host times out or shows a 502 during a restore. What now?<\/h3><\/dt>\n<dd><p>The restore may still be running on the server. Wait a few minutes, then check the site. To avoid it, restore over WP-CLI. If a restore stops after the database was replaced, the error message gives the path of the database dump taken before the restore, so you can put the old database back.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20a%20restore%20fails%3F\"><h3>What happens if a restore fails?<\/h3><\/dt>\n<dd><p>The archive is checked before the database is touched, so an unfinished or corrupt archive is refused with the site left as it was. If the database import or the URL rewrite fails, the previous database is restored automatically. If a later step fails (for example, the disk fills while files are extracted), the site is left part restored, and the message says what state it is in and where the previous database dump is, so you can restore it by hand.<\/p><\/dd>\n<dt id=\"do%20i%20need%20wordpress%20installed%20on%20the%20new%20host%3F\"><h3>Do I need WordPress installed on the new host?<\/h3><\/dt>\n<dd><p>Yes. Install WordPress and Migrator on the destination, then restore the archive there. The database prefix in the new site's wp-config.php must match the source site's; the restore checks this first and tells you the value to set.<\/p><\/dd>\n<dt id=\"does%20it%20back%20up%20wordpress%20core%20and%20wp-config.php%3F\"><h3>Does it back up WordPress core and wp-config.php?<\/h3><\/dt>\n<dd><p>No. An archive holds the database and everything in <code>wp-content<\/code>. WordPress core comes from the fresh install, and wp-config.php stays the destination's own, so its database credentials are never overwritten.<\/p><\/dd>\n<dt id=\"can%20i%20import%20a%20.wpress%20file%20from%20all-in-one%20wp%20migration%2C%20or%20a%20duplicator%20package%3F\"><h3>Can I import a .wpress file from All-in-One WP Migration, or a Duplicator package?<\/h3><\/dt>\n<dd><p>Not yet. Restore it with the plugin that made it, then create a Migrator backup to use from then on.<\/p><\/dd>\n<dt id=\"can%20i%20open%20a%20.migrator%20file%20without%20the%20plugin%3F\"><h3>Can I open a .migrator file without the plugin?<\/h3><\/dt>\n<dd><p>It is Migrator's own streaming format, not a ZIP. Restore it with Migrator, or check its contents first with Details in the backups list.<\/p><\/dd>\n<dt id=\"does%20it%20send%20my%20data%20anywhere%3F\"><h3>Does it send my data anywhere?<\/h3><\/dt>\n<dd><p>Only where you tell it to. Migrator creates no account and calls no service of ours. Backups stay in <code>wp-content\/migrator-backups<\/code> unless you add an off-site destination (an FTP or FTPS server, or a folder outside the web root), and then a copy goes there. Scheduled backups older than your retention setting are deleted automatically.<\/p>\n\n<p>If you switch on Pull and Push, a site holding your connection token or an enrolled key can download this site's files and database, user password hashes included. It is off by default, nothing is answered without that credential, and you can switch it off again when the move is done.<\/p><\/dd>\n<dt id=\"how%20do%20i%20copy%20a%20live%20site%20to%20another%20server%20without%20downloading%20a%20backup%3F\"><h3>How do I copy a live site to another server without downloading a backup?<\/h3><\/dt>\n<dd><p>Install Migrator on both sites. On the old one, switch on Migrator &gt; Pull and Push. On the new one, run <code>wp migrator pull https:\/\/old-site.example<\/code> with WP-CLI. The first run prints a key: paste it on the old site's Pull and Push screen and run the command again. A server without the OpenSSL extension cannot check keys, so there you set a connection token and add <code>--secret=&lt;token&gt;<\/code>. The new site keeps its own WordPress core, wp-config.php and table prefix (the prefixes must match), its database is dumped before it is replaced and put back if the import fails, and Migrator's own folder is never overwritten. Running the same command again fetches only what changed.<\/p><\/dd>\n<dt id=\"can%20i%20send%20changes%20back%20to%20the%20original%20site%3F\"><h3>Can I send changes back to the original site?<\/h3><\/dt>\n<dd><p>Files, yes: <code>wp migrator push https:\/\/old-site.example<\/code> sends what changed since the pull. The old site must grant push access to your key on its Pull and Push screen, and its server needs a writable folder beside the web root on the same disk, where the upload is staged before it is swapped in. The database is pushed only to hosts that serve the transfer API on a standalone route; <code>wp migrator remote db-push --help<\/code> explains it. While a push applies its changes the old site shows a maintenance page; if the push stops part way, run it again to finish.<\/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>. On Apache and IIS the folder denies direct web access; on nginx, which ignores those rules, each file name carries a random token so it cannot be guessed. Removing the plugin deletes that folder and its contents. Copies on an off-site destination stay there.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20woocommerce%3F\"><h3>Does it work with WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. Orders (including HPOS tables), products and settings move with the database. You can leave out WooCommerce sessions and Action Scheduler tables to make the archive smaller.<\/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>It runs on Multisite: network activate it or activate it on individual sites, and each site keeps its own settings and data. Restoring a network is a different matter. The free edition refuses an import when either the archive or the target site is a network, so network migration needs the Migrator Pro add-on.<\/p><\/dd>\n<dt id=\"how%20does%20migrator%20compare%20to%20duplicator%20and%20all-in-one%20wp%20migration%3F\"><h3>How does Migrator compare to Duplicator and All-in-One WP Migration?<\/h3><\/dt>\n<dd><p>Comparing free editions:<\/p>\n\n<ul>\n<li><strong>Size<\/strong>: Migrator sets no cap. All-in-One WP Migration is bounded by your host's PHP upload limits, and lifting them is a paid extension. Duplicator publishes 4 GB (500 MB on DupArchive).<\/li>\n<li><strong>Scheduling and off-site copies<\/strong>: free in Migrator (daily or weekly, FTP\/FTPS or a folder). Paid in both others.<\/li>\n<li><strong>WP-CLI<\/strong>: <code>wp migrator export<\/code>, <code>import<\/code> and <code>replace<\/code> are in the free plugin.<\/li>\n<li><strong>Rollback<\/strong>: Migrator snapshots the database before every import and puts it back if the database import fails.<\/li>\n<li><strong>Encryption<\/strong>: All-in-One WP Migration encrypts exports in its free plugin. Migrator keeps encryption in PRO.<\/li>\n<\/ul>\n\n<p>See the grid above for all five competitors. Vendor details as of July 2026.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.6.3<\/h4>\n\n<ul>\n<li>The Upgrade to PRO links open the pricing page in the admin's language where plogins.com has one, and tell plogins.com which plugin the visit came from (utm_source, utm_medium and utm_campaign in the link). Nothing is sent from your site.<\/li>\n<li>Readme: the PRO section lists what the free plugin includes and what the paid edition adds as two lists, which WordPress.org can display (it does not display tables).<\/li>\n<\/ul>\n\n<h4>1.6.2<\/h4>\n\n<ul>\n<li>Readme only: a PRO section with links to the paid edition.<\/li>\n<\/ul>\n\n<h4>1.6.1<\/h4>\n\n<ul>\n<li>Readme only: the comparison with Duplicator now matches what the vendor states today: encrypted archives, backups of any size and its own Duplicator Cloud are in its free plugin, and its paid plans start at a $79 list price.<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>Changed: a backup from wp-admin now exports the database in steps, a slice of rows per request, so a large database no longer runs into a 504 Gateway Timeout on shared hosting. An interrupted step resumes where the last one stopped, and the progress bar moves while the database is exported.<\/li>\n<li>Added: the <code>migrator_step_seconds<\/code> filter sets how long one export step may work, for hosts whose proxy cuts requests short.<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>Fixed: the PRO card on the settings screen no longer presents moving a site between servers as PRO-only; the free plugin does it with <code>wp migrator pull<\/code>, PRO adds the wp-admin screen.<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Added: Pull and Push. Copy a live site to another server over HTTP with <code>wp migrator pull<\/code>, resume an interrupted pull, fetch only the changes on the next run, and send file changes back with <code>wp migrator push<\/code>. Off until you switch it on.<\/li>\n<li>Added: <code>wp migrator remote<\/code> runs the low-level transfer commands, such as keygen, files-stats or db-push.<\/li>\n<li>Added: a pull checks the disk space it needs before it starts, leaves the old host's platform plugins and server-bound drop-ins (object cache, page cache, database driver) behind, and keeps the database password out of the process list.<\/li>\n<li>Changed: server-to-server transfer is now part of the free edition.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Fixed: backups no longer alter <code>%<\/code> characters in the database. In 1.3.8, permalink structures, text such as \"50%\" and serialized values containing <code>%<\/code> were damaged on restore.<\/li>\n<li>Fixed: scheduled backups, retention, and the FTP and folder copies now run in the free edition. They were not wired up from 1.3.0 to 1.3.8.<\/li>\n<li>Fixed: database dumps are charset-safe on latin1 and utf8mb3 databases.<\/li>\n<li>Fixed: collations from MySQL 8 and MariaDB 11 sources are normalised.<\/li>\n<li>Fixed: a file that changes during a backup no longer corrupts the archive, and the archive is verified before a restore touches the database.<\/li>\n<li>Fixed: off-site retention deletes only this site's backups.<\/li>\n<li>Fixed: home and siteurl are correct after a restore of WordPress installed in a subdirectory.<\/li>\n<li>Fixed: JSON values are preserved during the URL rewrite.<\/li>\n<li>Fixed: the object cache is flushed after every kind of restore.<\/li>\n<li>Fixed: unreadable files are skipped.<\/li>\n<li>Fixed: interrupted scheduled backups are now visible.<\/li>\n<li>Fixed: downloading a large archive no longer runs out of memory.<\/li>\n<li>Fixed: the Download buttons in the stored backups list no longer return an error.<\/li>\n<li>Changed: wp-content\/debug.log is left out of backups, and an uploads folder outside wp-content is reported before export.<\/li>\n<li>Fixed: import error messages are readable and translatable.<\/li>\n<li>Fixed: <code>wp migrator import<\/code> reports errors cleanly.<\/li>\n<li>Fixed: the encryption password is passed to Migrator PRO intact.<\/li>\n<li>Changed: on Multisite, Migrator is limited to super admins.<\/li>\n<li>Changed: uninstalling removes all of Migrator's settings and its scheduled event.<\/li>\n<li>Readme: corrected the rollback, nginx and off-site wording and the competitor comparison, and added FAQ entries.<\/li>\n<\/ul>\n\n<h4>1.3.8<\/h4>\n\n<ul>\n<li>The sidebar upgrade promo now follows the same dismissal as the banner. Dismissing the banner used to leave a full-height advert on the settings screen for good, which is not what the WordPress.org guideline on upgrade prompts means by used with moderation.<\/li>\n<\/ul>\n\n<h4>1.3.7<\/h4>\n\n<ul>\n<li>Fixed: a restore only found out that an archive had been cut short part way through reading it, by which time the database had already been replaced. An archive is now checked for the end marker a finished backup carries before the restore touches anything, so an unfinished one is refused with the site left as it was.<\/li>\n<li>Fixed: the copy of the database taken before a restore was deleted the moment the import of the database finished, so anything that failed after that point left the site part restored with nothing to go back to. That copy is now kept until the whole restore is through, and if a restore does stop after the database was replaced the error says what state the site is in, where the copy of the previous database is, and what to do with it.<\/li>\n<\/ul>\n\n<h4>1.3.6<\/h4>\n\n<ul>\n<li>Fixed: a backup could quietly leave rows out of the database dump. Every table was read in pages counted from the start of the table, so when anything deleted a row behind the reader (an expiring transient, a WooCommerce session, an abandoned cart), every later row moved up one place and the row sitting on the next page boundary was never read. It was missing from the backup and nothing reported it. Tables are now read in primary key order, each page starting after the last key already read, which no concurrent delete can move.<\/li>\n<li>Fixed: a table with no primary key cannot be read that way, so it is still paged by position. Its row count is now taken before and after the read: if the table shrank while it was being dumped, the backup stops with an error naming the table instead of finishing and handing you an archive that quietly lacks rows.<\/li>\n<li>Fixed: a backup that was killed part way through (execution time, memory, closing the browser tab on Run now) left half an archive behind under the final backup name. The backups screen listed it, the retention rule counted it as one of the copies to keep, and the good backup it pushed off the end was the one deleted. A run now builds under a temporary name and takes the real one only once the archive is finished, and the leavings of runs that died are cleared out.<\/li>\n<li>Fixed: an archive that had been cut short was read as if it were simply a smaller archive. A complete archive ends with an end marker, but running out of file instead was treated as the same thing, so a backup killed while it was being written could be restored with everything after the cut silently absent. Reading one now stops and says the archive is incomplete.<\/li>\n<li>Changed: a scheduled backup no longer runs under the host's default execution time limit. Building a whole site archive and copying it off-site takes longer than that on any site large enough to need backups.<\/li>\n<\/ul>\n\n<h4>1.3.5<\/h4>\n\n<ul>\n<li>Fixed: the PRO upgrade promo kept selling to people who had already bought the paid edition. Only the banner could be dismissed, so the sidebar promo and the locked feature cards followed a paying customer around for good. The promo now checks whether the paid edition is active and steps aside when it is.<\/li>\n<li>Fixed: arrow glyphs in the admin menu paths, and in the strings handed to translators. An arrow inside a translatable string makes the glyph every translator's problem and changes the layout in any locale that drops it.<\/li>\n<\/ul>\n\n<h4>1.3.4<\/h4>\n\n<ul>\n<li>Fixed: a restore could stop part way through and still report success. When the disk filled up while the backup was being unpacked, the write stopped where it ran out of room and nothing said so, so the database was restored up to that point and the rest was silently missing. The same applied to every file taken out of the archive, and to the list of files written into a new backup. All three now stop and tell you the disk is full instead of finishing quietly.<\/li>\n<li>Fixed: when an import failed and the attempt to put the previous database back ALSO failed, the message still said the database had been rolled back. It now says the site is in a partly imported state and gives the path of the dump that has to be restored by hand.<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>Fixed: deleting the plugin left the per-user \"dismiss\" flag from the PRO notice in the database. Uninstall now removes it for every user, not just the one who dismissed it.<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Changed: the message shown when a restore crosses a multisite boundary now states the limitation instead of naming the paid add-on. The restore is still refused, because rewriting the network tables to the destination domain is genuinely not part of this plugin, but a free plugin's own error text should not read as an upsell.<\/li>\n<li>\"Tested up to\" was declared in the plugin header as well as in this readme. WordPress.org reads the readme; declaring it in two places is how a listing ends up advertising a compatibility claim nobody wrote. The header line is gone, the readme is unchanged.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>The translation template was regenerated. 57 strings added to the plugin since the template was last built were missing from it, so no translator could reach them in any language, and 2 strings the plugin no longer uses have been dropped. Nothing you see changes; what a translator can see does.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Added: <strong>scheduled backups are now free.<\/strong> Daily or weekly, with a retention rule, running unattended through WordPress cron and using the same engine as a manual backup.<\/li>\n<li>Added: <strong>off-site copies are now free.<\/strong> Every backup can be copied to an FTP or FTPS server, or to a folder outside the web root such as a mounted drive or NAS. A backup that lives only on the machine it protects is not a backup.<\/li>\n<li>Added: a destination registry, so an add-on contributes further destinations through the <code>migrator\/backup_destinations<\/code> filter instead of the free plugin knowing about them.<\/li>\n<li>Changed: the free plugin no longer stores settings it cannot act on. A backup strategy or an encryption passphrase belongs to whatever implements them.<\/li>\n<li>Fixed: deactivating the paid add-on used to clear the backup cron event, which stopped the site's backups. Scheduling belongs to this plugin now, so it keeps running.<\/li>\n<li>Note for existing Migrator PRO users: your schedule, retention, exclusions and off-site credentials carry over automatically, including the passwords. Nothing needs re-entering.<\/li>\n<\/ul>\n\n<h4>1.2.18<\/h4>\n\n<ul>\n<li>Fixed: the package no longer ships its own translation files. WordPress.org builds language packs from translate.wordpress.org, and a bundled catalogue shadows that pack, so a translation corrected upstream could not reach you until the next release. Your language now comes from the language pack, which is the copy that stays current.<\/li>\n<\/ul>\n\n<h4>1.2.17<\/h4>\n\n<ul>\n<li>Fixed: the safeguard that is supposed to stop a restore writing over Migrator's own plugin folder had never worked. It compared against the folder name the plugin used before it was renamed, so on every current installation nothing matched, and restoring an older backup could extract an older copy of the plugin over the code that was running the restore. The folder names are now taken from the installation itself, so a future rename cannot break it again.<\/li>\n<li>Fixed: the same stale names were used to decide which plugin folders an export must never prune.<\/li>\n<\/ul>\n\n<h4>1.2.16<\/h4>\n\n<ul>\n<li>Fixed: the plugin recorded 1.2.13 as its own version inside every archive it wrote, because the version constant had been left behind when the header was bumped. The number is stamped into the manifest of each backup and also busts the admin asset cache, so an archive said it came from an older plugin than the one that made it. The constant is now checked against the header when the package is built, so it cannot drift again.<\/li>\n<\/ul>\n\n<h4>1.2.15<\/h4>\n\n<ul>\n<li>Fixed: the backup directory's .htaccess carried only the Apache 2.2 form of the deny rule. Apache 2.4 does not understand it without mod_access_compat, so on those servers the directory holding full database dumps had no server-level protection, leaving only the random token in the filename, which is a backstop for hosts that ignore .htaccess and not a replacement for the rule. Both forms are now written, each behind its own IfModule. An existing installation is corrected the next time the workspace is prepared.<\/li>\n<li>Fixed: addresses stored without a scheme, in the \"\/\/host\/wp-content\/...\" form, matched none of the replacement pairs and survived a restore still pointing at the site the backup came from. They are now rewritten with the rest.<\/li>\n<\/ul>\n\n<h4>1.2.14<\/h4>\n\n<ul>\n<li>Fixed the PRO promo on the settings screen quoting a price in PLN. PRO is priced and charged in EUR, so an admin on a Polish site was shown a zloty amount and then billed in euro, and the zloty figure was a fixed conversion that drifted from the real charge as the rate moved. The promo now shows the euro price that is actually taken.<\/li>\n<\/ul>\n\n<h4>1.2.13<\/h4>\n\n<ul>\n<li>Fixed: the PRO pricing line claimed a PLN price would appear during purchase. Purchases settle in EUR, so the line now says the price is billed in EUR.<\/li>\n<\/ul>\n\n<h4>1.2.12<\/h4>\n\n<ul>\n<li>Fixed: ticking a database view under \"Exclude specific database tables\" now leaves it out of the backup. The list offers views alongside tables, but only tables were being skipped, so a ticked view still ended up in the archive.<\/li>\n<\/ul>\n\n<h4>1.2.11<\/h4>\n\n<ul>\n<li>The PRO notice in the admin, and the PRO section of this readme, now list what Migrator Pro actually ships, including table sync, and say plainly that incremental backups cover files while every archive still carries the whole database. Multisite is described as network to network, which is what the admin does.<\/li>\n<\/ul>\n\n<h4>1.2.10<\/h4>\n\n<ul>\n<li>Docs: the Multisite answer said the plugin is Multisite compatible without saying that a network restore is refused in the free edition. It now says so, and points at the Pro add-on for network migration.<\/li>\n<\/ul>\n\n<h4>1.2.9<\/h4>\n\n<ul>\n<li>Fixed: restoring into a subdirectory doubled the new address (https:\/\/site.com\/shop\/shop). A site's home and site address are normally the same string, and it was rewritten twice.<\/li>\n<\/ul>\n\n<h4>1.2.7<\/h4>\n\n<ul>\n<li>Translations: completed Polish, German and Spanish for the PRO upgrade panel.<\/li>\n<\/ul>\n\n<h4>1.2.6<\/h4>\n\n<ul>\n<li>Readme: added a factual comparison with Duplicator and All-in-One WP Migration.<\/li>\n<\/ul>\n\n<h4>1.2.5<\/h4>\n\n<ul>\n<li>Security: hardened backup workspace path handling against traversal (defense in depth).<\/li>\n<\/ul>\n\n<h4>1.2.4<\/h4>\n\n<ul>\n<li>Translation quality pass: corrected Polish, German and Spanish (product names kept in English, legal withdrawal terminology, WooCommerce glossary and grammar fixes).<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Documentation: readme links are now labelled links.<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Shortened display name (dropped the Plogins prefix; slug unchanged).<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Added a contextual written migration-help link after a successful backup.<\/li>\n<li>Fixed disk-space preflight formatting type handling.<\/li>\n<\/ul>\n\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: it 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":"WordPress backup and migration in one file. Free scheduled backups, FTP off-site copies, safe URL rewrite and DB rollback. No account, no size cap.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/skr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/337425","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/skr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/skr.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/skr.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=337425"}],"author":[{"embeddable":true,"href":"https:\/\/skr.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/motylanogha"}],"wp:attachment":[{"href":"https:\/\/skr.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=337425"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/skr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=337425"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/skr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=337425"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/skr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=337425"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/skr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=337425"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/skr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=337425"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}