Skip to content
migrations live · queue 3d
// PROCESS / HOW-IT-WORKS

The WordPress migration process, instrumented end-to-end — from audit to 30‑day post‑launch monitoring.

Blogswitch is not a plugin, a one-click importer, or a black-box “we’ll move your site” service. It is a five-phase engineering workflow with telemetry at every gate. You see the redirect map before go-live. You see Core Web Vitals before and after. You see the traffic retention curve for 30 days post-launch — because that is the only number that actually matters.

// 01 — WORKFLOW

Five steps. Five business days. Zero guesswork about what your blog is going through.

Every Blogswitch engagement moves through the same five phases. The cadence is fixed; the engineering underneath is not — each step has a defined owner, a defined artifact, and a defined exit gate. Nothing advances until the gate clears.

  1. // AUDIT · DAY 1

    We read your blog the way Google does.

    A senior migration engineer pulls a full export of your WordPress install — database, wp-content, plugin footprint, theme hierarchy, robots.txt, htaccess, sitemap. We run it against the same crawler checks Ahrefs and Semrush use, then layer a Yoast/RankMath schema parse on top. You get a written audit before we touch DNS: content count, post types, redirect targets we expect to write, schema artifacts we expect to preserve, and any source-database integrity issues we want you to know about.

    • artifactaudit.report.pdf
    • artifactschema.parse.json
    • artifactredirects.proposed.csv
  2. // MAP · DAY 1–2

    Every URL gets a hand-reviewed 301 — not a regex guess.

    Two engineers review the proposed redirect map side by side. Slug changes, taxonomy renames, archived categories, merged authors, paginated archives — all hand-coded into a single 301.csv. The in-house SEO team signs off before we migrate a single byte. You see the map too; revisions are expected and free.

    • artifact301.map.csv
    • artifactcanonical.audit.json
    • artifactinternal.links.graph.dot
  3. // MIGRATE · DAY 3

    Content, media, schema and DNS move in a single coordinated cutover.

    Posts, pages, CPTs, media library (with original EXIF and alt text intact), comments, users, roles, schema markup, canonical tags, and sitemap hierarchy are all pushed to the new stack. TTL is dropped to 300s in advance; the cutover happens during your low-traffic window; DNS propagates within the hour. Zero-downtime SLA honored on 100% of paid engagements since 2021.

    • artifactcutover.run.log
    • artifactmedia.manifest.json
    • artifactdns.propagation.txt
  4. // VALIDATE · DAY 4

    We crawl the new site with the same bots that rank it.

    A staged Googlebot and Bingbot pass verifies every redirect, every canonical, every schema block. Core Web Vitals are re-measured from a clean profile (mobile + desktop, three geographies). Search Console and Analytics are re-pointed; historical data is preserved. Nothing ships until the validation report is green across all gates.

    • artifactcwv.before_after.csv
    • artifactgsc.repoint.confirm
    • artifactredirect.coverage.report
  5. // MONITOR · DAY 5–35

    30 days of post-launch monitoring, with weekly reports you can forward.

    For 30 days we watch organic traffic, indexation, redirect chains, Core Web Vitals drift, and 404s. Every Friday you receive a written report: traffic retention vs. baseline, CWV trends, new errors, fixes shipped. If at any point retention drops more than 2% below baseline, our $1M migration-guarantee policy kicks in — we have never had to pay it.

    • artifactweekly.report.w1..w4
    • artifactretention.curve.png
    • artifacthandoff.runbook.pdf
// 02 — PROOF

Every URL gets a hand-reviewed 301 — not a regex guess.

This is the actual review surface our SEO team uses on every engagement. Two engineers read the proposed redirect map side by side; the second reviewer cannot advance the file to production until every line is annotated. No plugin shortcut. No bulk find-and-replace. No surprises in Google Search Console six weeks later.

~ /reviews/301.acmefoodblog.com/review-2.csv — review.queue
A dark-mode terminal panel showing Blogswitch engineers reviewing a hand-coded 301 redirect CSV with reviewer annotations.
figure.01 301.review.csv — acmefoodblog.com · reviewer: lila.t · co-reviewer: dan.r · status: cleared_for_cutover · 2,148 rows / 2,148 reviewed.
// 03 — ARTIFACTS

What we preserve during the move — the six artifacts SEO managers ask about first.

Migration anxiety is almost always about invisible things breaking. This is the visible list of everything we instrument, parse, and verify during the move. If a row below is critical to your stack, we treat it as a hard gate — the project does not advance until the verification artifact is signed.

01

Structured data & schema markup

Article, BlogPosting, FAQ, HowTo, Product, Recipe, Organization, BreadcrumbList, VideoObject — parsed, validated against Schema.org, re-emitted on the new stack. JSON-LD preferred; Microdata and RDFa preserved when present.

verifyschema.parse.json + rich.results.test
02

Canonical tags & self-referencing URLs

Every canonical is reissued with the new domain, with trailing-slash policy matched to your previous behavior. Cross-domain canonicals (news syndication, aggregators) are flagged and left untouched unless you ask us to rewrite them.

verifycanonical.audit.json · 100% coverage
03

Sitemaps & indexation surface

XML sitemaps rebuilt with lastmod signals preserved, paginated correctly, and split per post-type. News sitemaps re-issued with publication names retained. robots.txt re-emitted with the new sitemap URL before DNS cutover.

verifysitemap.index.xml · robots.txt diff
04

Internal link graph & anchor text

We export the full internal link graph from your source DB, run it through the redirect map, and flag any post that loses > 5% of its inbound internal links. Anchor text is preserved verbatim; we rewrite destinations, not words.

verifyinternal.links.graph.dot · coverage delta
05

Media, EXIF & alt text

Every image moves with its original filename, alt text, caption, and EXIF intact. We rebuild responsive srcset on the new stack and never re-encode JPEGs unless you ask. CDN URLs re-mapped to the new origin to preserve any external backlinks.

verifymedia.manifest.json · 1:1 checksum
06

Core Web Vitals baseline

LCP, INP, and CLS measured from a clean profile on mobile and desktop before cutover, and again at 72 hours post-launch. The delta goes into your final report. Average improvement across our last 90 days of engagements: 67% on the CWV composite score.

verifycwv.before_after.csv · 3 geos
// 04 — TELEMETRY / ROLLING 90D

Migration telemetry from the last 90 days of engagements.

traffic.retention 99.97% vs. 30-day pre-cutover baseline
p75.lcp.before → after 4.8 → 0.9s measured at 72h post-launch
hours.to.completion 112hrs median across paid engagements
posts.migrated.total 8,412 across 41 countries since 2019
stream.live · 14 migrations in flight · last sample 00:00:03 ago

We built Blogswitch because we spent six years on the host side watching publishers get hurt by migrations that nobody was actually engineering. A real migration is not a copy operation — it is a coordinated move of every signal Google uses to rank a page. That is the only version worth shipping.

Maya Torres & Daniel Rao Co-founders, Blogswitch · former WP Engine engineers · Austin, TX