{"id":389001,"date":"2026-10-27T15:40:03","date_gmt":"2026-10-27T15:40:03","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/shiftora\/"},"modified":"2026-10-27T15:39:53","modified_gmt":"2026-10-27T15:39:53","slug":"shiftora","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/shiftora\/","author":23501699,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.4","requires":"6.8","requires_php":"8.1","requires_plugins":null,"header_name":"Shiftora","header_author":"DevSync","header_description":"Move a WordPress site between two installs: push or pull the whole site, the database or the files.","assets_banners_color":"fafbfd","last_updated":"2026-10-27 15:39:53","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/shiftora.devsync-agency.com\/","header_author_uri":"https:\/\/devsync-agency.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":60,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"devsync","date":"2026-10-27 15:39:53","revision":3768955}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3768955,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3768955,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3768955,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3768955,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3768955,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3768955,"resolution":"1","location":"assets","locale":"","width":3200,"height":2144},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3768955,"resolution":"2","location":"assets","locale":"","width":3200,"height":2144},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3768955,"resolution":"3","location":"assets","locale":"","width":3200,"height":2214},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3768955,"resolution":"4","location":"assets","locale":"","width":3200,"height":2144},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3768955,"resolution":"5","location":"assets","locale":"","width":3200,"height":2000},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3768955,"resolution":"6","location":"assets","locale":"","width":3200,"height":2908},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3768955,"resolution":"7","location":"assets","locale":"","width":3200,"height":2144},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3768955,"resolution":"8","location":"assets","locale":"","width":3200,"height":2144}},"screenshots":{"1":"The dashboard shows where your migrations stand and what to do next.","2":"Connect to the site you want to pull from.","3":"Choose what moves: the whole database, the media library or both.","4":"Review your selection, then run.","5":"Live progress with per-stage detail. Close the tab; the migration keeps running.","6":"Pair two sites by copying one Connection Info line from one to the other.","7":"Manual database backups with one-click restore.","8":"The optional Add-ons screen."}},"plugin_section":[],"plugin_tags":[151,153,4155,19979,6441],"plugin_category":[59],"plugin_contributors":[288996],"plugin_business_model":[],"class_list":["post-389001","plugin","type-plugin","status-publish","hentry","plugin_tags-backup","plugin_tags-database","plugin_tags-migration","plugin_tags-staging","plugin_tags-wordpress-migration","plugin_category-utilities-and-tools","plugin_contributors-devsync","plugin_committers-devsync"],"banners":{"banner":"https:\/\/ps.w.org\/shiftora\/assets\/banner-772x250.png?rev=3768955","banner_2x":"https:\/\/ps.w.org\/shiftora\/assets\/banner-1544x500.png?rev=3768955","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/shiftora\/assets\/icon.svg?rev=3768955","icon":"https:\/\/ps.w.org\/shiftora\/assets\/icon.svg?rev=3768955","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/shiftora\/assets\/screenshot-1.png?rev=3768955","caption":"The dashboard shows where your migrations stand and what to do next."},{"src":"https:\/\/ps.w.org\/shiftora\/assets\/screenshot-2.png?rev=3768955","caption":"Connect to the site you want to pull from."},{"src":"https:\/\/ps.w.org\/shiftora\/assets\/screenshot-3.png?rev=3768955","caption":"Choose what moves: the whole database, the media library or both."},{"src":"https:\/\/ps.w.org\/shiftora\/assets\/screenshot-4.png?rev=3768955","caption":"Review your selection, then run."},{"src":"https:\/\/ps.w.org\/shiftora\/assets\/screenshot-5.png?rev=3768955","caption":"Live progress with per-stage detail. Close the tab; the migration keeps running."},{"src":"https:\/\/ps.w.org\/shiftora\/assets\/screenshot-6.png?rev=3768955","caption":"Pair two sites by copying one Connection Info line from one to the other."},{"src":"https:\/\/ps.w.org\/shiftora\/assets\/screenshot-7.png?rev=3768955","caption":"Manual database backups with one-click restore."},{"src":"https:\/\/ps.w.org\/shiftora\/assets\/screenshot-8.png?rev=3768955","caption":"The optional Add-ons screen."}],"raw_content":"<!--section=description-->\n<p>Shiftora helps administrators migrate WordPress sites between trusted environments with a guided workflow.<\/p>\n\n<p>Features include:<\/p>\n\n<ul>\n<li>Unlimited site-to-site connections with bearer-token authentication<\/li>\n<li>Pull database migrations from a connected site with a chunked, resumable pipeline<\/li>\n<li>Whole-folder transfer of the media library, with every file verified on arrival<\/li>\n<li>Pick which database tables move, or move them all<\/li>\n<li>Custom find and replace rules that run after the automatic site address rewrite<\/li>\n<li>A site-wide switch for whether other sites may pull from this one<\/li>\n<li>Manual database backups with one-click restore<\/li>\n<li>Live progress, migration history, and per-migration logs<\/li>\n<li>Export and import tools<\/li>\n<li>Help screen with diagnostics, plugin details, and a support report<\/li>\n<\/ul>\n\n<p>The free plugin migrates your database and media library, with no Shiftora-imposed cap on migration size and no limit on how many migrations you run, and it keeps your last 3 manual backups (a number you can change in Settings) plus a restore point saved before every pull. The only ceilings you can meet are the ones your own hosting sets; the SQL import tool, which uploads a dump in a single request, is bounded by your server's upload limit. An optional separate add-on, Shiftora Pro, is described on the Add-ons screen.<\/p>\n\n<p>Shiftora is intended for trusted administrator-managed environments only.<\/p>\n\n<p>Official resources:<\/p>\n\n<ul>\n<li>Product page: https:\/\/devsync-agency.com\/shiftora<\/li>\n<li>Documentation: https:\/\/devsync-agency.com\/shiftora\/documentation<\/li>\n<li>Support email: shiftora@devsync-agency.com<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>Shiftora does not contact any external service during a migration. A migration sends your site's data only to the site you connect, and nothing goes to Shiftora's own servers.<\/p>\n\n<p>Optional failure reports. The Help screen has an \"Email a report to Shiftora support when a migration fails critically\" switch, off by default. When it is on and a migration fails critically, or when you send a report yourself from the Help screen, Shiftora emails a diagnostics report to shiftora@devsync-agency.com through your site's own mail setup (wp_mail). The report contains: this site's host name, the Shiftora, WordPress and PHP versions, the active theme and active plugins, PHP memory, execution time and upload limits, the migration's current operation, recent Shiftora errors, the latest PHP fatal error, the address of the admin page you send it from and your last few actions in Shiftora. No database rows or files are included, and values that look like passwords, tokens or keys are redacted before sending. The report is used only to diagnose the problem. Terms: https:\/\/shiftora.devsync-agency.com\/terms\/ Privacy policy: https:\/\/shiftora.devsync-agency.com\/privacy-policy\/<\/p>\n\n<p>Documentation links. The Help and Migrate screens link to pages on https:\/\/shiftora.devsync-agency.com. Following a link opens the page in your browser; nothing is sent automatically.<\/p>\n\n<h3>Third-party libraries<\/h3>\n\n<p>Shiftora bundles two open-source libraries. Their full, unminified source is public:<\/p>\n\n<ul>\n<li>Alpine.js 3.17.4 (MIT), the admin screens' UI framework, shipped minified as resources\/js\/alpine.min.js. Source: https:\/\/github.com\/alpinejs\/alpine<\/li>\n<li>Action Scheduler (GPLv3), which runs migrations in the background, installed through Composer under vendor\/woocommerce\/action-scheduler. Source: https:\/\/github.com\/woocommerce\/action-scheduler<\/li>\n<\/ul>\n\n<p>All of Shiftora's own code ships unminified in this plugin.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to the WordPress plugins directory, or install the zip from the admin dashboard.<\/li>\n<li>Activate Shiftora through the Plugins screen.<\/li>\n<li>Open Shiftora in the WordPress admin menu.<\/li>\n<li>Copy the Connection Info from one site and paste it into the other site when starting a migration.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20shiftora%20send%20data%20to%20third-party%20services%3F\"><h3>Does Shiftora send data to third-party services?<\/h3><\/dt>\n<dd><p>By default, no. Shiftora performs direct site-to-site transfers between the WordPress sites you connect, and nothing is sent to us.<\/p>\n\n<p>One exception is opt-in. The Help screen has an \"Email a report to Shiftora support when a migration fails critically\" switch, off by default. If you turn it on, a critical migration failure emails a report to shiftora@devsync-agency.com without prompting. It contains the same details as the report you send from that screen, and you can turn it off there at any time.<\/p><\/dd>\n<dt id=\"does%20shiftora%20store%20analytics%20or%20tracking%20data%3F\"><h3>Does Shiftora store analytics or tracking data?<\/h3><\/dt>\n<dd><p>No analytics or advertising trackers are included. Limited security-related rate limiting may temporarily use local IP-based transient data on your own site to protect the handshake endpoint.<\/p><\/dd>\n<dt id=\"who%20should%20use%20this%20plugin%3F\"><h3>Who should use this plugin?<\/h3><\/dt>\n<dd><p>Site owners, agencies, and developers managing trusted WordPress environments.<\/p><\/dd>\n<dt id=\"are%20there%20limits%20on%20connections%20or%20migrations%3F\"><h3>Are there limits on connections or migrations?<\/h3><\/dt>\n<dd><p>Site connections are unlimited, there is no limit on how many migrations you run, and Shiftora sets no cap on how much data a migration moves. Transfers depend only on what your hosting environment allows, such as disk space, memory and execution time. The SQL import tool uploads a dump in one request, so it is bounded by your server's upload limit. Shiftora keeps your last 3 manual backups by default (change the number in Settings) and the last 10 restore points, one saved before each pull.<\/p><\/dd>\n<dt id=\"how%20do%20i%20push%3F\"><h3>How do I push?<\/h3><\/dt>\n<dd><p>To send this site somewhere, log into the destination and pull.<\/p><\/dd>\n<dt id=\"can%20i%20choose%20which%20tables%20move%3F\"><h3>Can I choose which tables move?<\/h3><\/dt>\n<dd><p>Yes. The Scope step lists every table, all ticked by default. Untick the ones to leave out. Shiftora's own tables and other sites' tables are never sent.<\/p><\/dd>\n<dt id=\"can%20i%20add%20my%20own%20find%20and%20replace%20rules%3F\"><h3>Can I add my own find and replace rules?<\/h3><\/dt>\n<dd><p>Yes. Add From and To rows on the Scope step. They run after the automatic site address rewrite and handle serialized data safely.<\/p><\/dd>\n<dt id=\"does%20shiftora%20copy%20theme%20and%20plugin%20files%3F\"><h3>Does Shiftora copy theme and plugin files?<\/h3><\/dt>\n<dd><p>No. Shiftora moves the database and the media library. It never writes theme, plugin or must-use plugin files, and the uploads folder never receives executable files.<\/p><\/dd>\n<dt id=\"does%20shiftora%20work%20on%20a%20wordpress%20network%20%28multisite%29%3F\"><h3>Does Shiftora work on a WordPress network (multisite)?<\/h3><\/dt>\n<dd><p>No. Shiftora migrates single sites. If this site or the site you connect is part of a network, the wizard stops before anything is selected or sent and says why.<\/p><\/dd>\n<dt id=\"where%20can%20i%20find%20documentation%20and%20support%3F\"><h3>Where can I find documentation and support?<\/h3><\/dt>\n<dd><p>Documentation is available at https:\/\/shiftora.devsync-agency.com\/documentation\/. Direct support is available at shiftora@devsync-agency.com.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release as a free WordPress.org plugin<\/li>\n<li>Unlimited site connections<\/li>\n<li>Pull the database and the media library from a connected site, together or one at a time, with no Shiftora-imposed size cap and no migration count limit<\/li>\n<li>Manual database backups with one-click restore<\/li>\n<li>Live progress, migration history, logs, export\/import, and a Help screen<\/li>\n<li>Restore point saved before every pull, with one-click restore<\/li>\n<\/ul>","raw_excerpt":"Secure WordPress site-to-site migration with a guided pull flow, connection permissions, manual backups, and live progress tracking.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/389001","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=389001"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/devsync"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=389001"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=389001"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=389001"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=389001"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=389001"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=389001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}