Title: AccessNow Site Replica
Author: accessnow
Published: <strong>October 3, 2026</strong>
Last modified: October 3, 2026

---

Search plugins

![](https://ps.w.org/accessnow-site-replica/assets/banner-772x250.png?rev=3726758)

![](https://ps.w.org/accessnow-site-replica/assets/icon-256x256.png?rev=3726758)

# AccessNow Site Replica

 By [accessnow](https://profiles.wordpress.org/accessnow/)

[Download](https://downloads.wordpress.org/plugin/accessnow-site-replica.1.0.4.zip)

 * [Details](https://wordpress.org/plugins/accessnow-site-replica/#description)
 * [Reviews](https://wordpress.org/plugins/accessnow-site-replica/#reviews)
 *  [Installation](https://wordpress.org/plugins/accessnow-site-replica/#installation)
 * [Development](https://wordpress.org/plugins/accessnow-site-replica/#developers)

 [Support](https://wordpress.org/support/plugin/accessnow-site-replica/)

## Description

Site Replica copies a whole WordPress site (database and wp-content) to another 
WordPress install. It was built for large sites on restrictive shared hosting, where
the usual “make one big ZIP” approach fails because of time limits, memory limits
or missing disk space.

**Pull backups (direct download).** On the live site, turn on “This site as a source”
and generate a connection key. Paste the key into Site Replica on another site (
for example a local development copy). That site pulls the live site in small encrypted
pieces. Nothing large is ever written on the live server.

 * Resumable: every piece is saved before moving on, and interrupted jobs continue
   where they stopped.
 * Adapts to slow or strict hosts: smaller pieces after timeouts, automatic retries
   with back-off.
 * Incremental: unchanged files are shared with the previous backup, so later backups
   only download what changed.
 * Verified: every database chunk and file is checked with SHA-256.

**Clone and restore, safely.**

 * The database is imported into temporary tables while the site keeps running. 
   The site is switched in one short step at the end.
 * Search-replace that is safe for serialized data, without ever unserializing it(
   no object injection). It handles JSON-escaped and URL-encoded addresses, and 
   never touches look-alike domains.
 * Roll back: after a restore you choose Keep or Roll back. Roll back puts the previous
   site back exactly.
 * Keeps you logged in, keeps this site’s own Site Replica settings, and on local
   copies discourages search engines and blocks outgoing email (or lets it through
   to a local mail catcher such as Mailpit, when one is set up).
 * Copes with MySQL/MariaDB differences (collations, engines, defaults).
 * Back up the site you are on, and restore it from the Backups page if something
   goes wrong.

**Scheduled backups to Google Drive or S3-compatible storage** (Amazon S3, Backblaze
B2, Cloudflare R2, Wasabi and others). Daily or weekly, database and files or database
only, with the number of backups to keep and an e-mail when a backup fails.

 * Made for hosts with little free disk: the backup is packed into parts of about
   50 MB, and each part is uploaded, checked and deleted before the next is made.
 * Runs on the server in the background, continuing where it stopped after timeouts
   or Google Drive hiccups.
 * The parts are ordinary ZIP files. Any site with Site Replica connected to the
   same Google account can download a backup and restore it.
 * Uses Google’s drive.file access: Site Replica can only see the files it created
   in your Drive.
 * S3 uploads are signed (Signature Version 4) and every piece carries its MD5, 
   so the storage rejects damaged data.

### Security

 * Pulling is off until you turn it on. Keys can expire, be limited to IP addresses
   and be revoked.
 * A key can only read the site: nothing can be uploaded to it.
 * Every request is signed (HMAC-SHA256) with replay protection. Responses are encrypted(
   AES-256-GCM).
 * HTTPS is required (except for local development sites).
 * Site Replica’s own secrets and settings are never included in backups.
 * Before a restore, the table, view and trigger definitions in the backup are checked:
   only plain definitions of the backup’s own tables are run, so a tampered backup
   can’t reach other tables, files or servers.
 * Backups are stored in a randomly named folder inside wp-content, never in the
   uploads folder, with deny rules for Apache and IIS. On a server that ignores 
   those rules, the plugin notices and refuses to back up until the folder is protected.

### External services

Site Replica only contacts other services that you set up yourself.

**Other WordPress sites you connect.** When you pull a backup, this site exchanges
signed, encrypted requests with the other WordPress site whose connection key you
entered. The data is the site’s database and wp-content files. Nothing goes to AccessNow
or any other third party.

**Google Drive** (Google LLC). Used only when you choose Google Drive under Cloud
Backups and connect your Google account.
 * **What is sent, and when:** when you
connect, the OAuth authorization is exchanged at accounts.google.com and oauth2.
googleapis.com. When a backup runs, or when you list, download or delete backups,
requests go to www.googleapis.com (Drive API). They carry the backup: this site’s
database and files, packed in ZIP parts, plus their names and checksums. * **Access:**
Site Replica asks only for access to the files it creates (the drive.file scope).***
Terms and privacy:** [Google Terms of Service](https://policies.google.com/terms),
[Google Privacy Policy](https://policies.google.com/privacy), [Google API Services User Data Policy](https://developers.google.com/terms/api-services-user-data-policy).

**S3-compatible storage.** Used only when you choose it under Cloud Backups. The
same backup data goes, when a backup runs or when you list, download or delete backups,
to the storage endpoint you enter. The terms and privacy policy of the provider 
you choose apply, for example:
 * Amazon S3: [service terms](https://aws.amazon.com/service-terms/),
[privacy](https://aws.amazon.com/privacy/) * Backblaze B2: [terms](https://www.backblaze.com/company/policy/terms-of-service),
[privacy](https://www.backblaze.com/company/policy/privacy) * Cloudflare R2: [terms](https://www.cloudflare.com/terms/),
[privacy](https://www.cloudflare.com/privacypolicy/) * Wasabi: [terms](https://wasabi.com/legal/terms-of-use),
[privacy](https://wasabi.com/legal/privacy-policy)

## Screenshots

[⌊Connect another WordPress site with a key, then pull a backup or clone it into
this site.⌉⌊Connect another WordPress site with a key, then pull a backup or clone
it into this site.⌉[

Connect another WordPress site with a key, then pull a backup or clone it into this
site.

[⌊Backups run in small steps, with progress, speed and an estimate, and continue
where they stopped after an interruption.⌉⌊Backups run in small steps, with progress,
speed and an estimate, and continue where they stopped after an interruption.⌉[

Backups run in small steps, with progress, speed and an estimate, and continue where
they stopped after an interruption.

[⌊Before anything changes you see the plan: the addresses that will be replaced 
and the options for the copy. Afterwards you choose Keep or Roll back.⌉⌊Before anything
changes you see the plan: the addresses that will be replaced and the options for
the copy. Afterwards you choose Keep or Roll back.⌉[

Before anything changes you see the plan: the addresses that will be replaced and
the options for the copy. Afterwards you choose Keep or Roll back.

[⌊The site being copied: pulling is off until you turn it on, and each connection
key can expire, be limited to IP addresses and be revoked.⌉⌊The site being copied:
pulling is off until you turn it on, and each connection key can expire, be limited
to IP addresses and be revoked.⌉[

The site being copied: pulling is off until you turn it on, and each connection 
key can expire, be limited to IP addresses and be revoked.

[⌊Scheduled backups to Google Drive or S3-compatible storage, uploaded in small 
parts, with retention and e-mail notices.⌉⌊Scheduled backups to Google Drive or 
S3-compatible storage, uploaded in small parts, with retention and e-mail notices
.⌉[

Scheduled backups to Google Drive or S3-compatible storage, uploaded in small parts,
with retention and e-mail notices.

[⌊The backups on this site. Unchanged files are shared between backups, so later
ones take little space.⌉⌊The backups on this site. Unchanged files are shared between
backups, so later ones take little space.⌉[

The backups on this site. Unchanged files are shared between backups, so later ones
take little space.

## Installation

 1. Install and activate Site Replica on each site involved (Plugins  Add New, or upload
    the ZIP).
 2. **To copy a live site to another site:** on the live site open Site Replica  This
    Site as a Source, generate a connection key and paste it into Site Replica  Pull&
    Clone on the other site.
 3. **For scheduled cloud backups:** open Site Replica  Cloud Backups, choose Google
    Drive or S3-compatible storage, set it up and choose a schedule.

Backups are stored in a private folder inside wp-content. Nothing is written until
you start a backup.

## FAQ

### Where do I get help?

Step-by-step help articles, with screenshots, are at https://support.accessnow.com.
au/help/workspace-accessnow/accessnow-site-replica. The plugin’s own screens link
to the article for each one, under the Help tab at the top right. To ask a question,
post in the support forum at https://wordpress.org/support/plugin/accessnow-site-
replica/.

### Where are backups stored?

In a randomly named folder inside wp-content, for example `wp-content/accessnow-
replica-a1b2c3d4e5f6g7h8`, created the first time you use the plugin. A backup is
a complete copy of a site, so it does not belong in the uploads folder, which is
served to visitors by design; wp-content is where a backup plugin’s own storage 
belongs. The folder carries deny rules for Apache and IIS, and the plugin checks
whether this server serves it anyway — if it does, it says so and refuses to write
backups there until it is fixed.

Set `ACCESSNOW_REPLICA_STORAGE_DIR` in wp-config.php if you would rather keep backups
somewhere else.

### What does the plugin write, and where?

 * **Backups, job files and logs:** in the storage folder above. Nothing else is
   written there, and no PHP file is ever created. A backup stores each file once
   under its checksum, with no file name or extension, and script files compressed,
   so the folder never holds runnable copies of your site’s code; the list of real
   names is kept alongside, and a restore puts each file back under its own name.
 * **During a restore only:** `wp-content/mu-plugins/accessnow-replica-compat.php`,
   so that a plugin being replaced cannot interrupt the restore half way through.
   It is removed when the restore finishes, and it stops doing anything after a 
   day even if the restore never finishes.
 * **If you ask for it when restoring:** `wp-content/mu-plugins/accessnow-replica-
   mail-guard.php`, which stops a copied site emailing the original site’s customers.
   It stays until you delete it, the plugin tells you it is there, and uninstalling
   the plugin removes it.
 * **For a few seconds during the switch-over:** WordPress’s own `.maintenance` 
   file, as core does during an update.

Nothing is written into WordPress core folders, into other plugins’ or themes’ folders,
or outside the WordPress installation.

### Does a backup include WordPress core and wp-config.php?

No. Backups contain the database and wp-content. A restore never replaces the destination’s
wp-config.php or its drop-ins.

### Can I restore multisite networks?

Not yet. Multisite sites can be backed up, but restoring them is not supported in
this version.

### How do I connect Google Drive?

Site Replica  Cloud Backups shows the steps: create a Google Cloud project with 
the Drive API, an OAuth consent screen (published “In production”, otherwise Google
ends the access after 7 days) and an OAuth client of type “Web application” with
the redirect address shown on the page. Paste the client ID and secret, then click
Connect Google Drive. Sites that used the old WP Replica plugin can reuse its Google
app with one click.

### Which S3 storage works?

Any storage with the S3 API: Amazon S3, Backblaze B2, Cloudflare R2, Wasabi, MinIO
and others. Create a bucket and an access key limited to it, then enter them under
Cloud Backups (choose “Other” and enter the endpoint for providers that are not 
listed).

### Scheduled backups don’t run on my quiet site.

WordPress runs scheduled tasks only when someone visits. Add the cron job shown 
on the Cloud Backups page in your hosting control panel (every 5 minutes).

### My host’s firewall blocks the requests.

Site Replica tries several request addresses automatically. If the host still blocks
it (for example Imunify360 or ModSecurity), the error names the firewall. Ask the
host to allow requests containing `accessnow_replica_api` from the IP address of
the site making the backup.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“AccessNow Site Replica” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ accessnow ](https://profiles.wordpress.org/accessnow/)

[Translate “AccessNow Site Replica” into your language.](https://translate.wordpress.org/projects/wp-plugins/accessnow-site-replica)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/accessnow-site-replica/),
check out the [SVN repository](https://plugins.svn.wordpress.org/accessnow-site-replica/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/accessnow-site-replica/)
by [RSS](https://plugins.trac.wordpress.org/log/accessnow-site-replica/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.4

 * Sites with many large database values (big posts, page-builder data, serialized
   options) back up much faster: those values now travel many to a request instead
   of one at a time. Older versions on either site keep working with the one-at-
   a-time way.
 * The progress panel’s “since the last update” no longer climbs while large database
   values are being fetched.
 * Get support now goes to the wordpress.org support forum, and the Plugins screen
   has a Rate it link.
 * When Site Replica Pro is installed beside this plugin, this copy steps aside 
   instead of stopping the site, and deleting either copy keeps the backups and 
   settings they share.
 * The key label’s example text no longer names a person.

#### 1.0.3

 * Backups no longer keep a copy of your site’s folders. Each file is stored once,
   under its checksum, with script files compressed, so the backup folder never 
   holds runnable copies of your site’s code. Backups made by earlier versions still
   restore.
 * All database access goes through WordPress’s own database layer.
 * A full restore now keeps media and must-use plugins that exist only on the site
   being restored to. The restore plan lists the plugins that will be removed.
 * Fix: on hosts with a short time limit, cloud backups and downloads could stall
   without moving.
 * The progress panel names the large file being copied, shows the speed, and says
   when it is waiting.
 * New: Help articles and Get support links on the Plugins screen, and a Help tab
   on each of the plugin’s screens.
 * Job files are plain JSON.

#### 1.0.2

 * A pull only writes files inside its own backup folder, whatever file names the
   other site sends.
 * Another WordPress installation that shares the database under a longer table 
   prefix (for example wp_dev_ beside wp_) is no longer included in backups, and
   a restore leaves its tables alone.
 * Table definitions in a backup are checked more strictly before a restore runs
   them.
 * Driving a running job now needs an administrator’s login and a nonce as well 
   as the job’s own key. When a restore leaves nobody logged in, it finishes in 
   the background and asks you to log in to the restored site to keep it or roll
   it back.
 * The other site’s addresses come from that site itself, so sites with a moved 
   wp-admin or REST prefix connect too. Connections made with older keys pick them
   up on their next backup.
 * Database queries go through WordPress’s database layer, with prepared statements.
 * Opening Site Replica’s pages writes nothing: the private storage folder is made
   when the first backup starts, as the readme says.
 * The loopback that runs background backups also carries a nonce.
 * A restore finished in the background is no longer reported as a backup, and a
   scheduled-backup event carried over from the backup’s source site no longer runs
   on a site without a schedule.

#### 1.0.1

 * Backups are stored inside wp-content rather than above the WordPress installation,
   and the folder no longer contains a PHP file. Existing installs keep the folder
   they already use.
 * Activating the plugin does nothing and creates nothing; the storage folder is
   made the first time it is needed.
 * A pull or a download now refuses to start if this server hands out the backup
   folder over HTTP, instead of only warning.
 * The temporary restore helper in mu-plugins expires by itself if a restore never
   finishes, and the optional mail guard no longer writes blocked recipients to 
   the error log.
 * The endpoints that drive a running job are registered only while a job is running.

#### 1.0.0

 * First release: pull backups, incremental backups, clone and restore with rollback.
 * Back up the site you are on.
 * Scheduled backups to Google Drive or S3-compatible storage in ZIP parts (low 
   disk use), with retention, e-mail notices and download back into any site.

## Meta

 *  Version **1.0.4**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.4 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [backup](https://wordpress.org/plugins/tags/backup/)[clone](https://wordpress.org/plugins/tags/clone/)
   [migration](https://wordpress.org/plugins/tags/migration/)[restore](https://wordpress.org/plugins/tags/restore/)
   [staging](https://wordpress.org/plugins/tags/staging/)
 *  [Advanced View](https://wordpress.org/plugins/accessnow-site-replica/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/accessnow-site-replica/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/accessnow-site-replica/reviews/)

## Contributors

 *   [ accessnow ](https://profiles.wordpress.org/accessnow/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/accessnow-site-replica/)