home/services/migration
$ migrate

Move the catalog. Keep the rankings.

Old theme, dying engine, a domain you have to leave, or a purchase whose content has to fold into an existing site. This is the job we have done more than any other — over half a million posts, and every run reversible.

Between WordPress themes, from KVS and custom engines, or onto our own — 90,000+ posts is a normal Tuesday

migrate — dry run
$ xsoft migrate --from donor.net --to yoursite.com --dry-run reading 99,612 posts · 4 taxonomies · 812k media [ ok ] url map built · 99,140 exact · 472 → 301 [ ok ] dates, authors, tags preserved [warn] 1,904 posts share a title — dedupe queued [warn] 2,769 covers are host placeholders — skipped [ ok ] undo pass written: rollback-0912.json $ xsoft migrate --commit --rate 400/min
516k+posts moved
20+projects
12.5 TBmedia re-hosted
1undo file per run
what gets preserved

The parts that decide whether traffic survives

URLs & redirects

Identical paths stay identical. Everything else gets a 301 from a generated map — no wildcard rule that quietly sends 40,000 pages to the homepage.

Taxonomies

Categories, tags, models, studios and their hierarchies rebuilt — including merging the three spellings of the same actress that the old site accumulated.

Media

Covers, screenshot galleries and preview clips carried over, re-encoded to WebP/AVIF, with host placeholder images detected by checksum and dropped instead of imported.

Dates & authors

Publication dates preserved so archives and sitemaps stay meaningful. Author personas can be generated where the old site had none.

Download links

File-host links normalized, dead ones detected via host APIs, and re-uploaded to a live host when the old one is gone — relinked by id, not by hand.

Anti-duplicate

When the same content lands on two of your domains, titles and descriptions are AI-rewritten per domain so you do not compete with yourself.

process

Always the same five steps

Inventory & dry run

We read the donor, build the URL map and report what will happen — including what cannot be moved and why. Nothing is written yet.

Pilot batch

A few hundred posts go through first. You look at them on staging and say what is wrong before we do the other ninety-nine thousand.

Full run

Rate-limited so the server stays responsive, with progress logging and an undo file written as it goes.

Redirects & sitemaps

301 map deployed, sitemaps regenerated, Search Console and Bing notified, internal links repointed.

Four weeks of watching

Crawl errors, index coverage and 404 logs reviewed weekly. Migrations fail quietly — this is where you catch it.

real jobs

A few we can talk about

99,600 posts

A JAV catalog rebuilt on our theme: taxonomies, screenshots, per-file quality chips and host links — script-driven, diff-verified, reversible.

93,000 posts

A femdom catalog moved off a dying custom theme, with covers restored from a CDN the old site had quietly stopped using.

51,000 photo sets

A gallery network moved with its studio structure intact and 12.5 TB re-uploaded after the original file host went dark.

faq

What people worry about

Will I lose traffic?

There is usually a dip for two to four weeks while search engines re-crawl, then recovery. The size of the dip depends on how well the URL map and redirects are done — which is exactly the part we do not improvise.

Can the site stay online during the move?

Yes. Imports run against a staging or a hidden section, and the switch happens once you approve. Domain moves get a short, scheduled window.

What if the result is wrong?

Every run writes an undo file, so a batch can be reverted. That is also why the pilot batch exists — mistakes are found at 300 posts, not at 90,000.

Can you merge two sites into one?

Yes, including deduplication by title, file hash or host id, and rewriting the survivors so the merged catalog does not read as scraped.

Tell us what needs moving

Source, target, post count and deadline. You get a dry-run report and a fixed price.