{"id":342444,"date":"2026-07-29T03:50:19","date_gmt":"2026-07-29T03:50:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/kuvarssoft-continuity\/"},"modified":"2026-07-29T03:57:07","modified_gmt":"2026-07-29T03:57:07","slug":"kuvarssoft-continuity","status":"publish","type":"plugin","link":"https:\/\/ta-lk.wordpress.org\/plugins\/kuvarssoft-continuity\/","author":23501770,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.3","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Kuvarssoft Continuity","header_author":"Kuvarssoft Technology","header_description":"Real-time one-way replication (source \u2192 backup) for WordPress. Mirror your live site to a backup site as changes happen \u2014 database and media \u2014 with a live transfer dashboard and statistics. Self-contained: works on any WordPress site, no other plugin required.","assets_banners_color":"14222f","last_updated":"2026-07-29 03:57:07","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/kuvarssoft.com\/en\/products\/continuity","header_author_uri":"https:\/\/kuvarssoft.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":119,"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":"kuvarssoft","date":"2026-07-29 03:57:07"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3626634,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3626634,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3626638,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3626638,"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":3626634,"resolution":"1","location":"assets","locale":"","width":1120,"height":1969},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3626634,"resolution":"2","location":"assets","locale":"","width":1120,"height":928},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3626634,"resolution":"3","location":"assets","locale":"","width":1120,"height":1124}},"screenshots":{"1":"Dashboard \u2014 live transfer panel, counters and success rate.","2":"Pair \u2014 generate the source token and link the backup.","3":"Help \u2014 pairing walkthrough and FAQ."}},"plugin_section":[],"plugin_tags":[151,217780,273656,6919,13142],"plugin_category":[59],"plugin_contributors":[271576],"plugin_business_model":[],"class_list":["post-342444","plugin","type-plugin","status-publish","hentry","plugin_tags-backup","plugin_tags-disaster-recovery","plugin_tags-media-sync","plugin_tags-mirror","plugin_tags-replication","plugin_category-utilities-and-tools","plugin_contributors-kuvarssoft","plugin_committers-kuvarssoft"],"banners":{"banner":"https:\/\/ps.w.org\/kuvarssoft-continuity\/assets\/banner-772x250.png?rev=3626638","banner_2x":"https:\/\/ps.w.org\/kuvarssoft-continuity\/assets\/banner-1544x500.png?rev=3626638","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/kuvarssoft-continuity\/assets\/icon.svg?rev=3626634","icon":"https:\/\/ps.w.org\/kuvarssoft-continuity\/assets\/icon.svg?rev=3626634","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/kuvarssoft-continuity\/assets\/screenshot-1.png?rev=3626634","caption":"Dashboard \u2014 live transfer panel, counters and success rate."},{"src":"https:\/\/ps.w.org\/kuvarssoft-continuity\/assets\/screenshot-2.png?rev=3626634","caption":"Pair \u2014 generate the source token and link the backup."},{"src":"https:\/\/ps.w.org\/kuvarssoft-continuity\/assets\/screenshot-3.png?rev=3626634","caption":"Help \u2014 pairing walkthrough and FAQ."}],"raw_content":"<!--section=description-->\n<p>Kuvarssoft Continuity mirrors your live WordPress site to a second WordPress site as changes happen. You pick two sites: your live site (the <strong>source<\/strong>) and a second site (the <strong>backup<\/strong>). From then on Continuity keeps the backup in step with the source automatically, in the background, through hook-driven one-way replication.<\/p>\n\n<p>Instead of an occasional snapshot, you get a second site that is always current.<\/p>\n\n<p><strong>Everything below is included and fully functional. No accounts, no keys, no quotas, no expiry.<\/strong><\/p>\n\n<h4>Database replication (real-time)<\/h4>\n\n<ul>\n<li>Posts, pages and every custom post type, with all of their meta.<\/li>\n<li>Comments and their status.<\/li>\n<li>Users, roles and user meta.<\/li>\n<li>Site options (safe ones only \u2014 never siteurl, home, active plugins, theme, admin email, auth keys or cron).<\/li>\n<li>Pushed the instant you hit save \u2014 no button, no waiting.<\/li>\n<\/ul>\n\n<h4>Media replication (real-time)<\/h4>\n\n<ul>\n<li>Every upload is copied to the backup, including the untouched original, the scaled image and every thumbnail size WordPress generates.<\/li>\n<li>Files of any size: large files stream across in memory-safe chunks and are sha256-verified on arrival, so a big video never exhausts PHP memory.<\/li>\n<\/ul>\n\n<h4>Live dashboard<\/h4>\n\n<ul>\n<li>Transfer counters for today, this week and this month, plus live rate and peak rate.<\/li>\n<li>Success rate, 24-hour error count, the most recent error, and a live replication animation.<\/li>\n<li>Peer ping (round-trip latency) and a link-speed test between the two sites.<\/li>\n<\/ul>\n\n<h4>Pause<\/h4>\n\n<ul>\n<li>Pause and resume replication from the dashboard for maintenance windows.<\/li>\n<\/ul>\n\n<h4>Kuvarssoft Continuity Pro<\/h4>\n\n<p>Replication is complete in this plugin \u2014 everything above works with no account, no keys and no expiry. <strong>Kuvarssoft Continuity Pro<\/strong> is a separate plugin, sold from kuvarssoft.com and installed alongside this one, for the things this one does not do: instant failover (promote the backup to a standalone site when the source goes down, with a guided return), scheduled replication windows (batch the database every N minutes, move media in one nightly pass), on-demand resync (a per-file media queue plus one-click rebuild of the media library, content, options, users and comments on the backup), email alerts about replication events through your own SMTP server, and a screen to browse, search and export the activity history this plugin records.<\/p>\n\n<h4>Privacy \/ external services<\/h4>\n\n<p>Continuity is self-contained. It does <strong>not<\/strong> use any external service and does not phone home. The only outbound requests it makes are to the backup site <strong>you<\/strong> pair it with, over a signed, token-authenticated REST call between your own two sites. Pairing tokens are stored only in each site's own options table.<\/p>\n\n<p>One source \u2194 one backup per install, by design.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin on <strong>both<\/strong> sites \u2014 your live site and the site you want to use as the backup.<\/li>\n<li>On the live site open <strong>Kuvarssoft Continuity \u2192 Pair<\/strong> and click <strong>Generate source token<\/strong>.<\/li>\n<li>On the backup site open <strong>Kuvarssoft Continuity \u2192 Pair<\/strong>, paste the live site's address and the token under \"This site is the BACKUP\", and click <strong>Pair<\/strong>.<\/li>\n<li>That's it \u2014 replication starts immediately. The dashboard's Live transfer panel animates once traffic begins.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20replication%20two-way%3F\"><h3>Is replication two-way?<\/h3><\/dt>\n<dd><p>No. Replication is strictly source \u2192 backup. The backup only receives, so it can never overwrite your live site.<\/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. There is no external service and nothing phones home. The plugin only talks to the backup site you pair it with \u2014 that is your own site.<\/p><\/dd>\n<dt id=\"what%20happens%20while%20the%20source%20is%20offline%3F\"><h3>What happens while the source is offline?<\/h3><\/dt>\n<dd><p>Pushes that fail are recorded, and the dashboard shows your success rate, the error count for the last 24 hours and the most recent error. The backup keeps the last successfully replicated state, and replication picks up again with the next change once the source is back.<\/p><\/dd>\n<dt id=\"something%20was%20deleted%20on%20the%20backup%20by%20mistake.%20can%20i%20get%20it%20back%3F\"><h3>Something was deleted on the backup by mistake. Can I get it back?<\/h3><\/dt>\n<dd><p>Real-time replication only moves forward \u2014 it does not rebuild the past. The separate Kuvarssoft Continuity Pro plugin includes on-demand resync, which rebuilds the media library (files and Media Library records together), content, options, users and comments on the backup in one click.<\/p><\/dd>\n<dt id=\"are%20there%20any%20limits%3F\"><h3>Are there any limits?<\/h3><\/dt>\n<dd><p>No. There are no caps, quotas, throttles or time limits \u2014 every change always replicates, at full speed, at any file size.<\/p><\/dd>\n<dt id=\"can%20i%20run%20multiple%20backups%20for%20one%20source%3F\"><h3>Can I run multiple backups for one source?<\/h3><\/dt>\n<dd><p>Each source has exactly one backup peer by design \u2014 a single source \u2194 one backup link.<\/p><\/dd>\n<dt id=\"where%20are%20the%20tokens%20stored%3F\"><h3>Where are the tokens stored?<\/h3><\/dt>\n<dd><p>Only in the wp_options table of the two sites. They never leave WordPress and are never sent to a third party.<\/p><\/dd>\n<dt id=\"where%20does%20the%20backup%20site%20write%20the%20mirrored%20files%3F\"><h3>Where does the backup site write the mirrored files?<\/h3><\/dt>\n<dd><p>Into its own uploads directory (resolved at runtime with wp_upload_dir(), never a hard-coded path) \u2014 by design, at the same relative paths as the source, so every mirrored attachment URL works if the backup ever has to serve traffic. This is the plugin's core replication purpose, comparable to how backup and migration plugins restore files. Every write is protected three ways: the request must carry the pairing token (hash_equals-verified), the path is normalised and rejected on any traversal segment, and server-executable file types (php, phtml, phar, cgi and the like) plus reserved names (.htaccess, web.config) are refused outright \u2014 WordPress never allows those in a media library, so a legitimate source never sends them.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Real-time one-way replication for WordPress. Keep a second site continuously in step with your live site \u2014 database and media.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/342444","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=342444"}],"author":[{"embeddable":true,"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/kuvarssoft"}],"wp:attachment":[{"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=342444"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=342444"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=342444"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=342444"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=342444"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ta-lk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=342444"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}