the writing notes 12 min

Website Migration Costs in 2026: A Practical Budget Worksheet

Quotes follow your URL and integration inventory, not your page count. Here's a line-item worksheet, two labelled example scopes and a scoping checklist.

Line-art of two browser windows linked by an arrow with a stack of coins beneath, representing a site move budget

There is no single website migration cost, and anyone quoting one without seeing your URLs is guessing (and guessing blind). Published ranges run from roughly $10K for a small marketing site to 80K+ for enterprise and e-commerce moves, while FocusReactive is blunt that page count alone doesn't decide it. But while Google's site move documentation gives no prices, it does define the precise work you have to price up. Treat every figure as illustrative. Below are a line-item worksheet, two labelled example scopes with their assumptions, a scoping checklist, and a sober look at what launch mistakes cost.

Pin down which migration you're actually pricing

Four different jobs hide behind the phrase 'website migration', and they differ sharply. So mix them up, and the quotes you get will end up miles apart (to nobody's benefit).

  • Host move. Same URLs, same site, new infrastructure. Google's hosting guide covers it: prepare the new hosting, change DNS, monitor, then shut the old hosting down. It only applies when the user-visible URL stays the same.
  • CMS change. Content moves into a new editing system. URLs may stay put or may not. This is where content modelling and import scripts eat the budget.
  • Redesign. New layout and templates, often with new URL patterns attached.
  • Full replatform. New CMS, new front end, probably new URLs and new integrations, all at once.

Why this matters for money: Google's guide is about changing the URLs of existing pages (such as HTTP to HTTPS, domain changes and path changes), and its general advice is to change one thing at a time. Be deliberate. Its own example is moving to a new domain first and changing the layout afterwards, rather than tackling domain, CMS and layout together. Splitting a replatform into phases adds some project overhead. But the trade is real: each phase has a smaller blast radius and a clearer invoice. Make that choice on purpose, not by accident.

Put one sentence at the top of your worksheet: 'We are doing X, and we are not doing Y in this phase.' That sentence earns its keep. And if your move happens to be WordPress to Astro, we've written up that route and the SEO side of it separately (as two distinct problems).

Build the inventory before you ask for quotes

A quote is only as good as the inventory behind it: thin inventory, thin quote. FocusReactive makes the point well (an 8-locale, 500-page site with multiple integrations needs far more budget than a single-locale 500-page site). Same page count. But it is a wildly different job.

Two browser windows linked by a dotted arc, with a coin stack and a balance scale weighing a coin against a page card.

Count these seven things:

  • URLs. Every indexable URL, not just the ones in the navigation. Google lists where old URLs hide: sitemaps, server logs or analytics for your top-traffic URLs, the Search Console Links report, and the CMS URL listing. Pull all four. They will disagree, and the disagreement is the interesting part.
  • Templates. Distinct layouts, not pages. Ten blog posts on one template are cheap. Ten pages on ten templates are not.
  • Content types. Posts, products, events, team members, each with fields and relationships. Collections with reference fields between them are where the money goes (Lil Big Things prices them at $4,000 each in its worked example, more on that below).
  • Integrations. CRM, payments, search, email, booking, analytics. Anything with an API key and an owner who has left the company.
  • Translations. Locales multiply content transfer and QA. Google also says hreflang annotations on multilingual pages need updating to the new URLs.
  • Media and downloads. Google says to transfer images and downloads such as PDFs, and to include image, video, JavaScript and CSS URLs in the move plan. Forgotten PDFs with inbound links are a classic.
  • Custom functionality. Calculators, member areas, filtered search, redirects hiding inside a plugin. The undocumented ones are the usual surprise.

Then give every URL a difficulty (and be completely unsentimental about it). FocusReactive's figures for manual content migration are roughly 15 minutes per easy page, 25 per medium page and 45 per hard page, and it adds that timeframes are almost always underestimated. And I'd believe that without hesitation.

Your inventory sheet needs these columns: URL, template, content type, difficulty, traffic, and a decision (either keep, merge or drop). That last column matters. Google says URLs for deleted or merged content should return an HTTP 404 or 410 on the new site, so a 'drop' is a deliberate line item rather than an oversight. But add one more scale check. FocusReactive notes that redirect-storage limits, commonly 50,000 to 100,000 entries, can restrict enterprise commerce platforms such as SAP Hybris and Salesforce Commerce Cloud once a migration crosses that threshold. Irrelevant for most sites. Fatal for a few.

The line-item worksheet

Use this structure. The 'basis' column only contains figures I can source (where nobody publishes a price, it says so plainly), and you price the rest from your own inventory.

Line itemWhat drives itIllustrative basis
Content transferPages by difficulty, posts, media, localesManual: 15, 25 or 45 minutes per easy, medium or hard page. Webflow example: $300 per static page, $30 per blog post
Design and buildTemplates, collections with reference fieldsWebflow example: $700 per CMS template, $4,000 per collection with reference fields. Add 30% for a simultaneous redesign
IntegrationsCount, API qualityWebflow example: $1,500 each
RedirectsRows in the URL map, chain lengthNo published price. Price from the map
SEO validationCanonicals, hreflang, sitemaps, robots, noindexNo published price
QAForms, tracking, downloads, devicesNo published price
Launch and monitoringDNS, server capacity, monitoring windowNo published price
ContingencyUnknowns15 to 20% of the subtotal

The per-unit Webflow figures come from Lil Big Things, published 21 September 2026, which claims the maths lands within 20% of a real agency quote. But treat that carefully. It's a vendor, it's Webflow-specific, and it doesn't itemise redirects, SEO validation or QA (omissions that quickly distort the total). Use it as a sanity check, not a rate card. The contingency range is from FocusReactive.

What the unpriced rows should contain

Redirects. Put one row in the map per old URL, with each row pointing straight at its final destination: no detours. Google recommends server-side permanent redirects, 301 or 308, and treats client-side redirects as a last resort. It says Googlebot can follow up to 10 hops, but advises going direct; if you can't, keep chains ideally to no more than 3 and fewer than 5. And Google also says permanent redirects don't cause a loss in PageRank. But that is strictly about link credit (not a promise about traffic), and I won't make one either.

SEO validation. Check for a self-referencing canonical tag on each new URL, updated hreflang, updated sitemaps, and no surviving staging noindex or robots.txt block in production (small oversights have long half-lives). Google's troubleshooting table lists exactly those leftovers, plus redirects to non-existent URLs and insufficient server capacity, as common mistakes.

QA. Google's hosting guide suggests a testing environment and reviewing pages, images, forms and downloads before going live. But add tracking and conversion events to that list. Nobody notices a dead analytics tag until the monthly report (which is far too late to make QA feel cheap).

Launch and monitoring. For a host move, Google suggests lowering DNS TTL to a conservative value (a few hours, for example) at least a week ahead. Plan capacity too. After any move, Google temporarily crawls the new site more heavily than usual, so server capacity needs to cope. And monitoring both old and new URLs in Search Console is part of the job, not a favour.

Rates, with a health warning

Lil Big Things says the Upwork median Webflow developer rate is $31 an hour, with most between $20 and $45, while senior US-based freelance specialists charge $100 to $200+. Agencies in the US and UK run $150 to $300 an hour; India and Eastern Europe run $50 to $120. But do not blend them. Those numbers don't sit neatly beside FocusReactive's (which come from a different dataset and a different platform focus). Don't average them either. Pick the supplier type you'd actually hire and use that rate.

Here's the filling-in order I'd follow:

  1. Write the one-sentence scope: what's changing, what isn't.
  2. Export URLs from all four sources and dedupe.
  3. Mark each URL keep, merge or drop, with template and difficulty.
  4. Count templates, content types, integrations and locales.
  5. Fill each row with hours or unit prices, and ask every supplier to quote against the same rows.
  6. Add 15 to 20% contingency on the subtotal.
  7. Add a priced monitoring window after launch, so it isn't left to goodwill.

If you'd rather hand a finished inventory to someone who prices from it, that is where our site migration service starts (no mystery needed). And the scoping checklist below is exactly what we'd ask you for.

Scoping checklist

  • Full URL export, with the top-traffic URLs flagged
  • Keep, merge or drop decision per URL
  • List of integrations, each with a named owner and credentials
  • Every form, and what it triggers on submit
  • Tracking tags and conversion events currently firing
  • Locale list and how hreflang is handled today
  • State of robots.txt and noindex on the staging site
  • Who controls DNS, and how quickly they respond
  • A lower-traffic window for launch (Google suggests timing the move to a recurring dip)

Two illustrative scopes

Neither of these is a client quote. They are worked examples with stated assumptions, built entirely from the sourced figures above. Change the assumptions, of course, and the numbers move immediately.

Scope A: small brochure site, CMS change, same domain

Assumptions (mine, for illustration): 20 pages, split 10 easy, 6 medium and 4 hard. One contact form. One analytics tag. No translations. No redesign. And most URLs are preserved, with a short map for the rest (the simplest workable case).

  • Anchor: FocusReactive puts a small marketing site at roughly $10K. I'm treating that as the all-in build anchor. Your supplier may price differently.
  • Content transfer sanity check: 10 easy pages at 15 minutes is 150 minutes. Six medium at 25 is another 150. Four hard at 45 is 180. That's 480 minutes, or 8 hours. At the $150 to $300 agency rate, that's only a small slice of the anchor, if done manually.
  • Contingency: 15 to 20% of $10K, added on top of the anchor.
  • Working figure: the anchor plus that contingency.
  • Timeline: FocusReactive gives 4 to 8 weeks to build a small marketing site, or 12 weeks in total with content migration.

The interesting thing here is how little of the budget is typing pages into a CMS (eight hours is nothing). The rest is templates, the form, tracking and the redirect map, which is where the work stops looking like data entry and starts behaving like engineering.

Scope B: mid-size site, CMS change, two integrations

Assumptions: this uses the inputs from Lil Big Things' published worked example, so it inherits its Webflow bias. 30 static pages. 10 CMS templates. 2 collections with reference fields, 60 blog posts and 2 integrations. But I've added contingency and a redesign variant myself (for comparison).

ItemCalculationAmount
Static pages30 × $300$9,000
CMS templates10 × $700$7,000
Collections with reference fields2 × $4,000$8,000
Blog posts60 × $30$1,800
Integrations2 × $1,500$3,000
Subtotal$28,800

That subtotal is before any design refresh. Add 15 to 20% contingency and the total rises accordingly. And if you redesign at the same time, Lil Big Things says to add 30% to the subtotal, with contingency then applying to that larger figure. So the result is simple enough: the total climbs well beyond the base case.

For context, FocusReactive's range for a mid-size site of 50 to 200 pages is roughly 10K to 30K, so the base $28,800 sits near the top of it and the redesign variant sails past. Timelines: FocusReactive says 2 to 4 months for a mid-size build, or 5 to 6 months with complex integrations, and three to six months end-to-end for mid-market replatforming.

Notice what's missing from the table: redirects, SEO validation, QA and launch. The source doesn't price them. You'd add those rows from your own inventory, which is why a real quote needs real URLs. And note the redesign variant bundles two changes together, which is exactly what Google's one-thing-at-a-time advice cautions against.

What launch errors cost

Nobody publishes a credible number for this, and I won't invent one. What I can do is show where the money leaks, mapped to Google's own list of common mistakes.

Lost URLs

A URL missing from the map is a dead page for every visitor and for Googlebot. Google says that to consider a move complete, Googlebot has to visit every URL on the old and new site at least once, and that the move happens per URL. So a gap in the map is a gap in the move. Redirects pointing at URLs that don't exist are another listed mistake. And a redirect chain someone added in a hurry at launch quietly costs crawl efficiency forever.

The repair cost is analyst time: re-export, diff, remap, redeploy. Cheap at the start. Dearer after launch, when you're doing it under pressure.

Broken forms and dead tracking

A form that submits to nowhere costs you leads silently. A missing analytics tag costs you the data you need to judge whether the migration worked at all. Both are QA line items. Budget them before launch or pay for them as emergency work after it.

Performance and server capacity

Google warns it will crawl the new site more heavily than usual for a while. If the new hosting is undersized, crawl errors follow, and insufficient capacity is on its mistakes list. Also expect temporary ranking fluctuation. Google says so directly. Plan for it in how you report to stakeholders, not just in the budget.

Rollback

Rollback is the line item most budgets leave blank. For a host move, it's cheap if you keep the old hosting running until monitoring shows everything, including Googlebot, is being served correctly (Google's own final step is to shut down the old hosting only after that). For a URL-changing move, it's messier. Google treats permanent redirects as a signal that the target is canonical, and says to use them only when you're sure they won't be reverted. Once those signals have been processed, backing out isn't a button press.

So price a rollback plan: old environment retained for an agreed window, a documented DNS revert, and a decision-maker named in advance. Then keep your redirects. Google says generally at least 1 year, and consider keeping them indefinitely.

FAQ

How long until Google finishes processing the move?

Google says that for small to medium sites a few weeks is typical for most pages to move, and larger sites take longer. Its recrawl documentation (last updated 10 December 2025) says crawling can take anywhere from a few days to a few weeks, and that submitting a sitemap helps when many URLs change. Budget monitoring time to match, not just launch day.

What should an agency's scope include?

Ask to see rows for redirect mapping, SEO validation, QA and a post-launch monitoring window as separate lines. If a quote is a single number for 'migration', you can't compare it with another one. Also ask who owns DNS changes, who signs off the URL map, and what happens to defects found after launch.

What should I keep from the old site?

Keep the full URL export and the final redirect map, plus a snapshot of top-traffic URLs from analytics or server logs so you can compare before and after. Keep the old hosting until monitoring is done. Keep your redirects for at least a year. And keep your Search Console verification working: Google warns that verification tokens can change when URLs do.

Do I need a Change of Address in Search Console?

Only when moving between domains or subdomains. Google says you don't need it for HTTP to HTTPS, www to non-www, or path changes within the same domain. It's a checklist item, not a budget line.

The sharpest caveat is that every figure here is a vendor-published range or an arithmetic example, so a quote means something only when it's built against your real URL and integration inventory. And whatever you pay for the build, keep the redirects for at least a year.

Need this done, not just read?

Discuss your website Book 30 minutes