Transfers (BB Migrate)#
These need BB Migrate with the BB Media integration (from 2026-11-08) on both sites.
Content instead of dates#
BB Migrate sends an uploads file when the destination does not have it, when the sizes differ, or when the destination's copy is older. Files copied by another tool keep their content but get new dates, so they were all sent again. With BB Media on both sites and their files hashed, the uploads listing carries each file's SHA-1 and a file is sent exactly when its content differs: identical files stay, and a change that kept the size is still caught.
Hash once on each site: wp bb-media hash (or Hash files on the Media index screen). New uploads are hashed as they
arrive. On a small disk with burst credits (an AWS gp2 volume), --sleep=200 spreads the reads, and
--originals hashes only what package matching needs.
Measured on the local test sites: 852 identical files with older dates on the destination went from 852 files (93 MB) to send to none; a one-byte change was still sent.
The same image under another name#
When a page package brings an attachment whose path is not on the destination, BB Media looks for an attachment there whose file (or unscaled original) has the same content, and BB Migrate reuses it ("reused (same content)") instead of creating a second attachment. Typical case: the same image uploaded separately on each site.
Image sizes in the background#
Without --with-sizes, BB Migrate makes the destination's image sizes during the import, which on a small server is
slow. With BB Media there, the attachments are queued and their sizes are made in timed batches (20 seconds) by
WP-Cron, wp bb-media regenerate or Make the sizes now. Only missing sizes are made; existing files are never
rewritten.
wp bb-media regenerate --missing queues every attachment whose indexed sizes are not on disk, for instance after
pushing only originals or after a partial copy. --dry-run lists them first.