{"id":358846,"date":"2026-08-30T18:18:17","date_gmt":"2026-08-30T18:18:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/siternet-website-migration\/"},"modified":"2026-09-01T16:08:19","modified_gmt":"2026-09-01T16:08:19","slug":"siternet-website-migration","status":"publish","type":"plugin","link":"https:\/\/arq.wordpress.org\/plugins\/siternet-website-migration\/","author":23473855,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.17","stable_tag":"1.0.17","tested":"7.1","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Siternet Website Migration","header_author":"Siternet","header_description":"Export a full site (files + database) to a .zip backup and restore it with drag-and-drop import. URLs are rewritten to the destination domain.","assets_banners_color":"fef4f7","last_updated":"2026-09-01 16:08:19","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.siternet.com\/themes-plugins\/","header_author_uri":"https:\/\/www.siternet.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":143,"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":"siternet","date":"2026-08-30 18:47:28","revision":3673027},"1.0.1":{"tag":"1.0.1","author":"siternet","date":"2026-08-30 18:52:40","revision":3673035},"1.0.17":{"tag":"1.0.17","author":"siternet","date":"2026-09-01 16:08:19","revision":3676469},"1.0.2":{"tag":"1.0.2","author":"siternet","date":"2026-08-30 19:08:53","revision":3673048},"1.0.3":{"tag":"1.0.3","author":"siternet","date":"2026-08-31 09:26:02","revision":3673756},"1.0.4":{"tag":"1.0.4","author":"siternet","date":"2026-08-31 09:30:45","revision":3673769},"1.0.5":{"tag":"1.0.5","author":"siternet","date":"2026-08-31 11:34:47","revision":3674007},"1.0.6":{"tag":"1.0.6","author":"siternet","date":"2026-09-01 04:49:56","revision":3675269},"1.0.7":{"tag":"1.0.7","author":"siternet","date":"2026-09-01 10:35:31","revision":3675875},"1.0.8":{"tag":"1.0.8","author":"siternet","date":"2026-09-01 11:15:51","revision":3675979},"1.0.9":{"tag":"1.0.9","author":"siternet","date":"2026-09-01 11:18:01","revision":3675983}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3673047,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3673047,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3673016,"resolution":"1544x500","location":"assets","locale":"","width":1024,"height":331},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3673016,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.17","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0.7","1.0.8","1.0.9"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3673030,"resolution":"1","location":"assets","locale":"","width":1024,"height":423},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3673030,"resolution":"2","location":"assets","locale":"","width":1024,"height":383},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3673030,"resolution":"3","location":"assets","locale":"","width":1024,"height":407}},"screenshots":{"1":"Import \u2014 drag-and-drop a .zip backup; URLs rewrite to the destination domain.","2":"Export \u2014 create a full-site .zip backup (files + database) on the host.","3":"Backups \u2014 restore, download, or delete host-side backup archives."}},"plugin_section":[],"plugin_tags":[151,2814,1859,87,4155],"plugin_category":[59],"plugin_contributors":[259925],"plugin_business_model":[],"class_list":["post-358846","plugin","type-plugin","status-publish","hentry","plugin_tags-backup","plugin_tags-clone","plugin_tags-export","plugin_tags-import","plugin_tags-migration","plugin_category-utilities-and-tools","plugin_contributors-siternet","plugin_committers-siternet"],"banners":{"banner":"https:\/\/ps.w.org\/siternet-website-migration\/assets\/banner-772x250.png?rev=3673016","banner_2x":"https:\/\/ps.w.org\/siternet-website-migration\/assets\/banner-1544x500.png?rev=3673016","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/siternet-website-migration\/assets\/icon-128x128.png?rev=3673047","icon_2x":"https:\/\/ps.w.org\/siternet-website-migration\/assets\/icon-256x256.png?rev=3673047","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/siternet-website-migration\/assets\/screenshot-1.jpg?rev=3673030","caption":"Import \u2014 drag-and-drop a .zip backup; URLs rewrite to the destination domain."},{"src":"https:\/\/ps.w.org\/siternet-website-migration\/assets\/screenshot-2.jpg?rev=3673030","caption":"Export \u2014 create a full-site .zip backup (files + database) on the host."},{"src":"https:\/\/ps.w.org\/siternet-website-migration\/assets\/screenshot-3.jpg?rev=3673030","caption":"Backups \u2014 restore, download, or delete host-side backup archives."}],"raw_content":"<!--section=description-->\n<p>Siternet Website Migration helps you move a full WordPress site between hosts.<\/p>\n\n<h4>What it does<\/h4>\n\n<ul>\n<li>Export themes, plugins, uploads, and the database into a standard .zip backup<\/li>\n<li>Import by drag-and-drop (uploads are chunked so typical PHP upload limits are less of a problem)<\/li>\n<li>Rewrite links and media URLs to the destination domain after import<\/li>\n<li>Keep a list of backups on the host for restore, download, or delete<\/li>\n<\/ul>\n\n<h4>Good to know<\/h4>\n\n<ul>\n<li>Backups created by this plugin use its own .zip format<\/li>\n<li>Multisite is not supported in this version<\/li>\n<li>Import\/restore replaces the current site files and database \u2014 use carefully<\/li>\n<\/ul>\n\n<p>Plugin URI: https:\/\/www.siternet.com\/themes-plugins\/<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>wp-content\/plugins<\/code>, or install from the WordPress admin<\/li>\n<li>Activate <strong>Siternet Website Migration<\/strong><\/li>\n<li>Open <strong>Website Backup<\/strong> in the WordPress admin menu<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20on%20shared%20hosting%3F\"><h3>Does this work on shared hosting?<\/h3><\/dt>\n<dd><p>Yes, as long as the PHP ZipArchive extension is available and the site can write to <code>wp-content<\/code>.<\/p><\/dd>\n<dt id=\"will%20import%20replace%20my%20current%20site%3F\"><h3>Will import replace my current site?<\/h3><\/dt>\n<dd><p>Yes. Import and restore replace files and the database on the destination site. Create a backup first if you need a rollback.<\/p><\/dd>\n<dt id=\"are%20backups%20compatible%20with%20other%20migration%20plugins%3F\"><h3>Are backups compatible with other migration plugins?<\/h3><\/dt>\n<dd><p>No. Use a .zip exported by this plugin.<\/p><\/dd>\n<dt id=\"is%20multisite%20supported%3F\"><h3>Is multisite supported?<\/h3><\/dt>\n<dd><p>Not in this version.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.17<\/h4>\n\n<ul>\n<li>Keep the operator logged in after restore: refresh auth cookies during import and issue a one-time secure dashboard login link when import finishes.<\/li>\n<li>Redirect to wp-admin automatically after import\/restore instead of requiring a manual login.<\/li>\n<\/ul>\n\n<h4>1.0.16<\/h4>\n\n<ul>\n<li>Fix fatal infinite loop in login_url filter that could crash PHP and make wp-login.php return 502.<\/li>\n<li>Sweep posts and postmeta for leftover old-domain image and content URLs after import.<\/li>\n<li>Remove absolute upload_url_path values that point at the old site.<\/li>\n<\/ul>\n\n<h4>1.0.15<\/h4>\n\n<ul>\n<li>Fix post-login redirects when the login form still submits an old redirect_to URL from the imported site.<\/li>\n<li>Sanitize redirect_to on login POST before WordPress handles authentication.<\/li>\n<li>Clear imported per-user SSL preferences that can break local HTTP logins.<\/li>\n<\/ul>\n\n<h4>1.0.14<\/h4>\n\n<ul>\n<li>Fix login redirects that still pointed at the imported (source) domain via redirect_to or canonical redirects.<\/li>\n<li>Remember source hostnames from imports so redirects can be rewritten after URL repair completes.<\/li>\n<li>Load migration hooks early enough for wp-login.php on the first request.<\/li>\n<\/ul>\n\n<h4>1.0.13<\/h4>\n\n<ul>\n<li>Remove must-use plugin and runtime redirect hooks that caused white screens and login loops.<\/li>\n<li>Write WP_HOME\/WP_SITEURL to wp-config.php at the start of import (before the database is restored).<\/li>\n<li>Fix database siteurl\/home immediately after SQL import completes.<\/li>\n<li>Simpler, reliable URL repair using wp-config constants + database updates only.<\/li>\n<\/ul>\n\n<h4>1.0.11<\/h4>\n\n<ul>\n<li>Self-contained must-use plugin overrides siteurl\/home before any other plugin loads.<\/li>\n<li>Fix URLs in the database immediately when the SQL import finishes (before URL replace step).<\/li>\n<li>Auto-detect host mismatch and repair on every request without requiring a re-import.<\/li>\n<li>Block redirects to the old domain and disable SSL redirect plugins during repair.<\/li>\n<\/ul>\n\n<h4>1.0.10<\/h4>\n\n<ul>\n<li>Install a temporary must-use plugin after import to override siteurl\/home before other plugins load.<\/li>\n<li>Block redirects to the old domain from SSL plugins and .htaccess rules during URL repair.<\/li>\n<li>Auto-detect when the database still points at the old domain but the request uses a different host.<\/li>\n<li>Always derive the destination URL from the current request during import (never from the imported database).<\/li>\n<\/ul>\n\n<h4>1.0.9<\/h4>\n\n<ul>\n<li>Fix wp-login.php redirecting to the old domain while the front-end already uses the new URL.<\/li>\n<li>Re-apply destination siteurl\/home on the first requests after import (login, admin, plugins loaded).<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Fix login and front-end redirects to the old domain after import.<\/li>\n<li>Strip SSL and external redirect rules from imported .htaccess (Really Simple SSL, etc.).<\/li>\n<li>Force wp-config.php WP_HOME\/WP_SITEURL to the destination URL; remove FORCE_SSL_ADMIN on HTTP sites.<\/li>\n<li>Disable common SSL redirect plugin options that send traffic back to the source domain.<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Stronger post-import URL replacement across the database, options, usermeta, themes, and uploads.<\/li>\n<li>Read siteurl\/home from the imported database before replacing URLs (http, https, www, trailing slash).<\/li>\n<li>Update or add WP_HOME and WP_SITEURL in wp-config.php after import.<\/li>\n<li>Preserve permalink structure (plain\/post name\/custom) from the source site after import.<\/li>\n<li>Restore source .htaccess with an adjusted RewriteBase for the destination path.<\/li>\n<li>Rebuild rewrite rules on the next admin load so custom post types keep working.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Fix storage writability probe warning when multiple export\/import requests run at once.<\/li>\n<li>Use a unique temporary probe file and safer read\/cleanup during uploads folder checks.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Add translations: Persian, Arabic, French, German (DE\/AT), Italian, Spanish, Russian, Chinese, Japanese, and Norwegian (.pot, .po, .mo).<\/li>\n<li>RTL admin layout for Persian and Arabic with Vazirmatn and Cairo fonts.<\/li>\n<li>Fix RTL hero, tabs, and logo placement in Persian and Arabic.<\/li>\n<li>Faster export: larger batches, longer time budget per request, and zip retry on timeout.<\/li>\n<li>Persian translation refinements (\u0633\u0627\u06cc\u062a\u0631\u0646\u062a, \u0648\u0631\u062f\u067e\u0631\u0633, \u062f\u0627\u0646\u0644\u0648\u062f, and more).<\/li>\n<li>Plugin Check: remove manual textdomain load; fix font enqueue version parameters.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Fix post 404s after import by regenerating permalinks instead of copying source .htaccess.<\/li>\n<li>Preserve separate home and siteurl URLs on subdirectory installs.<\/li>\n<li>Fix theme styles and links being reverted after URL search-replace.<\/li>\n<li>Improve URL replacement for escaped JSON and HTML-encoded links.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Fix import leaving only this plugin active after restore.<\/li>\n<li>Improve export reliability on hosts with gateway timeouts: smaller archive batches, step locking, and resume after interruption.<\/li>\n<li>Rename progress label \"Dumping database\" to \"Exporting database\".<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Refresh plugin directory icons.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Directory assets: PNG icons and refreshed screenshots.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: export, chunked import, URL rewrite, and host-side backup restore.<\/li>\n<\/ul>","raw_excerpt":"Export a full site (files + database) to a .zip backup and restore it with drag-and-drop import.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/358846","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=358846"}],"author":[{"embeddable":true,"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/siternet"}],"wp:attachment":[{"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=358846"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=358846"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=358846"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=358846"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=358846"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=358846"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}