Fixed-scope delivery · US · UK · Canada
WordPress Migration
Moving a site onto WordPress, or moving WordPress somewhere better. Every URL mapped one by one, the cutover rehearsed on a clone before DNS moves, and a rollback that works: zero lost URLs across every migration we have delivered to date.
- Audit and URL inventory 1 wk
- Every live URL crawled and matched to a destination. This is the document the whole project hangs on.
- Content and data import 2-5 wks
- Pages, media, users, orders and metadata, scripted with WP-CLI so it can be re-run, not done by hand once.
- Rehearsal on a clone 1 wk
- The full cutover performed on a copy, timed, with the redirect map tested against the real crawl.
- Cutover and watch 1 wk
- DNS moves at a time you choose. We watch 404s, search console and errors for the week after.
2 migration slots open this quarter
How we contract
Six terms we put in writing
The things every buyer of a platform migration has been burned on, most of them about what happens after cutover. Each is a clause in our MSA, not a promise on a website.
Fixed price, agreed before we start
After discovery you get one number, not a range. It does not move unless you change the scope in writing, and then you see the revised number before anyone writes code.
A launch date with a penalty behind it
We name the launch date in the contract. Miss it through our fault and the final invoice drops 10% per week late, capped at 30%. It has been invoked once in four years.
Weekly demo, not a monthly update
Every Friday there is something running you can click. If a week produces nothing demonstrable, you find out that Friday rather than at the end.
Thirty days of warranty after launch
Anything we built that does not do what the spec says is fixed free for thirty days after launch. Not "support hours": a defect warranty, because sites break in the first month or not at all.
Your repository, from the first commit
Work happens in your GitHub organisation and your cloud accounts. There is no handover event because you already have everything.
One invoice schedule, no surprises
40% on signature, 40% at the midpoint demo, 20% on sign-off. Net 15, USD or GBP. No hourly overages on a fixed-scope build.
The team you get
Who is actually on your project
A pod of four, named in the contract, on your build for its duration. Not a resource pool that changes between sprints, and not an account manager who disappears after signature.
You meet the delivery lead and the senior engineer during discovery, before you commit to the build. If either is not right, we change them then.
Straight answer
Migrations do not fail on the content
Almost nobody loses a migration on the content. Pages import, media imports, users import, that part is scripted and boring. Migrations fail on URLs: three thousand addresses that ranked, linked and were bookmarked, and a bulk redirect rule that sent nine hundred of them to the homepage.
So the first week is a crawl and a spreadsheet. Every live URL, its traffic, its inbound links, and the exact address it will resolve to afterwards. Where there is no equivalent page we decide deliberately, 410, or a parent, rather than letting a catch-all rule decide for us. That document is the deliverable the rest of the project is measured against.
The second thing that goes wrong is doing the cutover for the first time in production. We perform the whole thing on a clone, time it, and find out then that the media library has a permissions problem or an import takes four hours rather than forty minutes. By the time DNS moves it is the second or third run, not the first.
One thing we insist on is a rollback that has been tested. Not "we take a backup": a written procedure, rehearsed, with a decision point and a name against it. Most migrations never need it. The ones that do need it inside twenty minutes, not after an hour of somebody reading documentation.
Two of this year’s migrations were recovery jobs after another agency used a bulk redirect rule. Both had lost most of their organic traffic for six weeks.
The three routes
Migrate properly, migrate cheaply, or stay put
The cheap column assumes a plugin-based import and a bulk redirect rule: the most common way this is done, and the reason recovery work exists.
Capabilities
Migrations we do most often
If your platform is not on this list, the shape of the work is the same: crawl, map, import, rehearse, cut over, watch.
Shopify to WooCommerce
Products, variants, customers and order history imported, with the URL structure mapped rather than guessed.
Magento to WooCommerce
The one people put off. Attribute sets, tier pricing and customer groups translated into something maintainable.
Drupal or Joomla to WordPress
Content types become post types and fields, taxonomies survive, and every node URL gets a destination.
Host and platform moves
WP Engine, Kinsta, AWS or your own metal, rehearsed on a clone, with DNS moved at a time you pick.
Multisite consolidation
Many separate sites into one codebase and one update cycle, with editors keeping local control.
Wix, Squarespace and HubSpot
Small sites, big redirect problems. The content is easy; the URL structure is what needs the care.
PHP and database upgrades
Migrating the runtime as well as the site: PHP 8.4, MySQL 8, and the deprecations that come with them.
Post-migration SEO recovery
When someone else did the migration and rankings fell. We find the missing redirects and fix the crawl.
Rankings fell after someone else migrated you?
That is almost always redirects: a bulk rule where a URL-by-URL map was needed. A two-day audit will tell you exactly which pages lost their destination.
Tech stack
Current versions, not a wish list
What is in production for our clients this quarter. We will work in older versions too, most rescue jobs start there.
WordPress & PHP
Data & infrastructure
Quality & front end
The engineers
The engineers who would build it
Salaried staff, named in your contract for the duration of the build. You meet the delivery lead and the senior during discovery, before you commit to anything.
Large catalogues and the checkout path. HPOS, index strategy and the plugin cull that usually matters more than either.
Runs our headless builds and keeps the editor experience simple while the front end changes.
Plugin work that survives core updates, and the audits that prove which ones will not.
Builds native block themes and the Playwright suites that stop them regressing.
Two build slots open for October starts. The full pod is named in your contract before you sign it. Meet the whole team →
How we work
What every migration includes by default
Almost nobody loses a migration on the content. They lose it on the addresses, so most of these defaults are about URLs.
Every URL that resolves, plus Search Console, server logs and backlink data. A destination decided per row, never a pattern rule.
Content that is genuinely finished gets dropped cleanly instead of redirected somewhere irrelevant, which reads to Google as a soft 404.
Timed, with the old URL list re-crawled against the new site and every row asserted before DNS moves.
Specific checks, a decision point, and a named person who makes the call. Not simply taking a backup.
Every 404 with a referrer is a row we missed, fixed that day rather than at the end of the sprint.
It is a project asset. The next migration starts from it, and it records what was decided and why.
You do not have to take any of this on trust. The first ten working days are risk-free, every rate is published in full, and the work happens in your repository from the first commit.
How it works
From first email to a signed-off build
Discovery is two weeks and produces a spec you own. Nothing is committed until you have both the spec and the price.
- Day 0
Send us the brief
A document, a Figma file or three paragraphs. An engineer replies inside one business day, never a form response.
- Week 1-2
Discovery, fixed fee
Requirements, architecture, risk list and a written spec. You own it whether or not we build it.
- Week 2
One price, one date
A fixed number and a delivery date, both in the contract, with the late penalty attached.
- Build
Weekly demos
Something clickable every Friday, sprint reports, and staged releases into your environment.
- Launch
Launch + 30 days
Documentation, runbook and a defect warranty. Your repo already has everything.
Why India
Why choose a WordPress development company in India
A four-person pod here costs roughly what one senior contractor costs in the US, which is what makes fixed-price delivery viable at all: the risk buffer that protects a fixed quote would price a domestic team out of the deal entirely. WordPress also runs an enormous share of Indian agency work, so the depth is in the unglamorous parts that decide whether a launch goes well: content migration, redirects, plugin decisions and multisite.
YOUR WORKING DAY, AND OURS
- IP assignment on day one
- Everything written for you is yours on commit, not on final payment. Assignment clause, not a licence.
- NDA before repository access
- Yours or ours, signed before anyone is added to your repository or hosting account.
- Your jurisdiction, your paper
- We sign MSAs governed by Delaware, England and Wales, or Ontario law without argument.
- Milestone billing, not monthly hours
- 40% on signature, 40% at the midpoint demo, 20% on sign-off. Net 15, USD or GBP, and no hourly overages on an agreed scope.
- Scope changes priced before they happen
- Any change gets a written price and schedule impact for you to approve or decline. Nothing is absorbed silently and argued about at handover.
Before we can quote
The five things we need to price a migration honestly
Anyone who quotes a platform move without these is guessing, and the guess will come back as a change request halfway through.
A crawl of the current site
Not a page count from memory. An actual crawl, so we know whether there are three hundred URLs or nine thousand, and how many of them get traffic worth protecting.
Read access to the current platform
Admin or database access to see what the content really looks like underneath. Exports lie: fields that appear tidy in an interface are frequently inconsistent in the data.
Your top pages by traffic and revenue
So the redirect map can be checked against what matters rather than treated as a flat list. Twenty URLs usually carry most of the value, and those get verified by hand.
Whatever integrations touch the site
Payment gateways, ERPs, email platforms, anything with a webhook pointing at a URL that is about to change. This is the most commonly forgotten item and the most disruptive one.
A date you cannot move, if there is one
A conference, a campaign, a contract ending. It changes how we sequence the work and whether we recommend a phased cutover rather than a single switch.
FAQ
Questions buyers ask before the first call
If yours is not here, email it. We publish the answer rather than saving it for a sales call.
How much does a WordPress migration cost?
Migrations start at $8,500 after the audit week, and most sit between there and $30,000 depending on how much data and how many URLs. A standalone two-day audit is $800 and tells you which band you are in.
How long will it take?
Six to fourteen weeks: one week of audit and URL mapping, two to five importing, one rehearsing, one for cutover and watching. Big commerce catalogues sit at the top of that range.
Will we lose our search rankings?
Not if the redirect map is built URL by URL, which is what the first week is for. Zero lost URLs across every migration we have delivered, and we watch Search Console with you for the week after cutover.
How much downtime is there?
Minutes, not hours. Content is imported and verified in advance, DNS moves at a time you choose, and the store or site stays readable throughout.
What happens to our order history?
It comes with you. Orders, customers, subscriptions and refunds are imported and reconciled against the gateway rather than assumed correct.
Can you migrate from Shopify or Magento?
Yes, both regularly. Shopify is usually straightforward; Magento takes longer because attribute sets and tier pricing need translating rather than copying.
Do you handle the hosting move as well?
Yes, set up in your name at Kinsta, WP Engine or your own infrastructure. We do not resell hosting, so the account and invoice stay yours.
What if something goes wrong at cutover?
There is a written, rehearsed rollback with a decision point and a named owner. We have used it once in four years, and it took eleven minutes.
Someone else migrated us and rankings fell. Can you fix it?
Usually, and it starts with a crawl of the old sitemap against the new site. It is almost always a bulk redirect rule where a URL-by-URL map was needed.
Who owns everything afterwards?
You do: the code, the redirect map, the import scripts and the runbook, assigned from the first commit. Another agency could pick it up tomorrow.
Talk to an engineer
Tell us what needs building
You get a reply within one business day from an engineer, not a form autoresponder, with an indicative range, the discovery scope and the next available build slot.
A fixed price and a launch date, before any build work
NDA signed before we see your site or content
Or book a 30-minute scoping call at a time you pick
We never share your details, and we do not run a mailing list.