[wp-trac] [WordPress Trac] #60375: Site Transfer Protocol

WordPress Trac noreply at wordpress.org
Wed Jul 2 12:17:41 UTC 2025


#60375: Site Transfer Protocol
-------------------------+------------------------------
 Reporter:  zieladam     |       Owner:  (none)
     Type:  enhancement  |      Status:  new
 Priority:  normal       |   Milestone:  Awaiting Review
Component:  Import       |     Version:
 Severity:  normal       |  Resolution:
 Keywords:               |     Focuses:
-------------------------+------------------------------

Comment (by zieladam):

 @dmsnell and I prototyped a full site-to-sync on CloudFest this year at

 https://github.com/adamziel/zs-sync

 We're focusing on other projects at the moment and not prioritizing this
 work at the moment. I still wanted to share the progress as the ideas seem
 solid:

 * All the files and database rows are indexed in the database. The plugin
 creatas a few additional database tables for different data types. They
 all store a primary key, a version hash, global version number, and the
 time of last scan.
 * Indexing is done in small chunks, e.g. 10 or 100 database records at a
 time on every nth request or via wp-cron. For performance reasons, the
 database rows are indexed via a SQL query without selecting and
 transforming rows in PHP.
 * When two sites are connected, they use a wp-cron job to exchange deltas
 and stream the underlying data diff in small chunks.
 * Data exchange takes dependency graph into consideration, e.g. the media
 files are transmitted before the new posts that embed them to avoid any
 pages with missing images.
 * Plugins will have hooks for resolving data dependencies and conflicts.
 Hooks are not in there yet.

 What's missing is establishing a secure connections between two sites.
 Perhaps the initial release could lean on the token exchange provided by
 @akirk's Friends plugin.

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/60375#comment:35>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list