=== SiteQC Transfert ===
Contributors: siteqc
Tags: migration, transfer, move site, hosting, siteqc
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 8.1
Stable tag: 0.1.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Move your WordPress site to SiteQC without giving any password. Your current site stays online and is never modified.

== Description ==

SiteQC Transfert moves a WordPress site to [SiteQC](https://siteqc.ca), a Québec web host, in three steps:

1. **Connection**: sign in to your SiteQC account (or create one) in a secure window. You never give a password, FTP access or host panel access to anyone.
2. **Verification**: the plugin measures your site (database, files, plugins) and shows you exactly what will be copied, what is left out and why, and whether it fits in your plan, before anything starts.
3. **Transfer**: SiteQC copies your site to a temporary address, checks every table (row counts) and every file (SHA-256), and gives you a fidelity report. You go live on your domain from the SiteQC portal when you are ready.

Your current site stays online during the whole transfer and is never modified: the plugin only reads. The only things it stores are its own settings (encrypted). It never opens `wp-config.php`.

Large sites work on small shared hosting: SiteQC fetches the site in short requests (about 10 seconds each) and adapts to your host; upload limits do not apply. Everything that leaves your site is encrypted end to end, even on a site without https.

The interface is in French (Canada) by default and in English for English-speaking administrators.

= Requirements =

* PHP 8.1 or later (older versions have no security fixes; the plugin explains how to change PHP at your host).
* A single WordPress site (not a multisite network) on MySQL or MariaDB.
* The administration of the site served over https (or a local test site).
* A SiteQC account with an active plan (the free plan works too).

== External services ==

This plugin connects your site to SiteQC (https://siteqc.ca), the host you are moving to. Nothing is sent before you click « Se connecter à SiteQC » / "Sign in to SiteQC".

* **SiteQC sign-in and portal (app.siteqc.ca)**: when you sign in, your browser goes to https://app.siteqc.ca/oauth/authorize (standard OAuth 2.1 with PKCE). The plugin then sends to https://app.siteqc.ca/api/transfer/v1/: your site address (home and site URL), a random encryption key generated for this transfer, the versions of the plugin, WordPress and PHP, and your administration language. While the SiteQC Transfert page is open, it asks every 5 seconds for the state of the transfer, and it sends your choices (destination, start, cancel). When the plugin is deactivated it tells SiteQC to end the connection.
* **SiteQC transfer service (api.siteqc.ca)**: SiteQC's servers call your site at `/?siteqc_transfer=1` (or `wp-admin/admin-ajax.php?action=siteqc_transfer`) with requests signed with the transfer key. Before the transfer they read the inventory: table names and sizes, the list of plugins and themes, file sizes and the names (never the values) of custom wp-config.php constants. Once you launch the transfer they read the content of your database (except transients, sessions and this plugin's own settings) and of `wp-content` (except caches, backups of other plugins, logs and PHP files in uploads). Every answer is encrypted for the transfer only.

SiteQC terms of service: https://siteqc.ca/termes/ — privacy policy: https://siteqc.ca/confidentialite/

== Installation ==

1. In your WordPress administration, go to Plugins > Add New, search for "SiteQC Transfert" (or upload the zip from https://siteqc.ca), install and activate.
2. Open the "SiteQC Transfert" menu and click « Se connecter à SiteQC » / "Sign in to SiteQC".
3. Check the volumes, choose where the copy goes, confirm and start the transfer.

== Frequently Asked Questions ==

= Is my current site modified? =

No. The plugin only reads your site. The one exception is optional: during a final synchronization you can ask SiteQC to show a short « Maintenance en cours » page to visitors (at most 2 hours, never to administrators).

= Do I need to keep the page open? =

No. Once the transfer is launched, SiteQC carries it out and emails you at the end. Keeping the page open only helps the first measurement of your site.

= What is not copied? =

WordPress itself (SiteQC provides an up-to-date one), wp-config.php, caches, backups made by other plugins, logs, must-use plugins and drop-ins, PHP files in uploads and host-specific PHP settings. Everything left out is listed with its size and the reason before you start.

= What happens at the end? =

When your site is live at SiteQC, the plugin forgets its key and offers to deactivate and delete itself.

== Changelog ==

= 0.1.1 =
* The wp-config.php settings to review no longer list constants of WordPress core, PHP or bundled libraries.
* The end of transfer screen shows the domain the site went live on.
* Choosing an empty site of your account as the destination no longer counts its own storage in the check.

= 0.1.0 =
* First release: connection to SiteQC, inventory and storage check, compatibility report, transfer progress, fidelity report, final synchronization maintenance page, end of transfer.
