Skip to content

Cost guide

What Does a Website Migration Cost?

An honest look at where the money goes in a website migration, what makes one project several times more expensive than another, and how to read an estimate range without mistaking it for a quote.

Last updated 2026-11-03

The short answer

A website migration costs whatever it takes to rebuild your templates, move your content, reconnect your integrations, protect your search visibility and test all of it, multiplied by the hourly rates of the people doing the work. The page count matters less than most people expect. A 500-page blog with three templates can be cheaper to migrate than a 40-page site with fifteen unique layouts, five forms and a CRM integration.

That is why a single "average migration price" is not useful. This guide explains the drivers, walks through the phases, and shows worked examples calculated with the same transparent formulas SiteRefactor uses in its reports. It also covers the option that is often cheapest of all: not migrating, and improving the site you already have.

What drives the cost

Unique templates

Every distinct layout (home, service page, article, listing, contact, landing page) has to be designed, built, made responsive and tested. Twenty pages sharing one template are much cheaper than twenty pages that each look different. Templates are usually the largest single driver of design and front-end effort.

Content types

Posts, case studies, team members, locations, products, events: each content type needs a model in the new CMS, fields, a template and import logic.

Page volume and export path

Small sites are often migrated by hand. Larger sites need a scripted import, which has a fixed setup cost but a low cost per page. What matters is whether content can be exported in a structured way (database, API, CSV) or has to be scraped from HTML.

Page builders

Content built with Elementor, Divi, WPBakery and similar tools stores layout and content together in builder-specific markup. It rarely converts cleanly, so layout-heavy pages are rebuilt rather than imported. This affects modernizing WordPress as well as leaving it.

Forms and integrations

Each form needs validation, spam protection, notifications and often a connection to a CRM or newsletter tool. Each integration (CRM, booking, search, payments, marketing automation) must be reconnected and tested.

E-commerce

Products, variants, categories, customers, order history, payments, shipping, taxes and transactional emails turn a website migration into a commerce project. Checkout testing alone is significant work.

Languages

Every additional language adds localized routing, hreflang annotations, translation workflows and more URLs to redirect and test.

Closed platforms

Hosted website builders often offer limited export options. When content cannot be exported in a structured form, extracting it takes manual effort, and some functionality (built-in bookings, stores, member areas) has to be rebuilt from scratch.

Hidden functionality

Admin workflows, scheduled jobs, automated emails and private integrations are invisible from the public site. No external analysis can see them, so they must be discovered in a conversation and priced separately.

Phases of a migration

PhaseWhat happensWhat drives effort
DiscoveryRequirements, inventory, platform and hosting choiceNumber of integrations, e-commerce, languages
DesignDesign system and template designsNumber of templates; re-skin or full redesign
Front-end buildBuilding templates, components and formsTemplates, forms, languages, interactions
CMS setupContent models, fields, editor roles, previewsNumber of content types
Content migrationExport, transform, import and verify content and mediaPage volume, page builders, export options
IntegrationsReconnecting CRM, newsletter, analytics, search and other toolsNumber and complexity of integrations
SEO migrationURL mapping, 301 redirects, metadata, structured data, sitemapsNumber of URLs that change
QAFunctional, visual, cross-browser, accessibility and redirect testingScales with build effort
DeploymentEnvironments, DNS, SSL, go-live and rollback planHosting setup, e-commerce checkout tests
Project managementPlanning, coordination, feedback rounds, reportingScales with total effort

One-time vs recurring costs

The build is a one-time cost. Running the site is not, and over three years recurring costs can rival the build. A difference of $100 a month adds up to $3,600 over three years, so compare total cost of ownership, not only the project price.

Recurring costs typically include hosting, platform subscriptions (site plans, store plans, CMS plans), plugin or app licenses, editor seats, and maintenance time for updates, monitoring and small fixes. SiteRefactor uses these planning ranges per option:

OptionPlatform fees / monthMaintenance hours / month
Keep & optimizeYour current fees (unchanged, not included)1–4 h
Modernize WordPress / Rebuild on WordPress$25–150 (managed hosting, premium plugins)2–5 h
Migrate to Next.js$0–150 (hosting and headless CMS; many have free tiers)2–8 h
Migrate to Webflow$18–80 (site plan and seats)1–3 h
Migrate to Shopify$60–450 (plan and typical paid apps)2–6 h

Maintenance hours are priced at the development rate, and payment processing or transaction fees are excluded. Check current vendor pricing for your own plan choices; these are planning assumptions, not price lists.

DIY, freelancer or agency

  • DIY costs the least in cash and the most in time. It suits small brochure sites, especially when keeping the platform or using a template. The biggest risk is the SEO migration: missed redirects are cheap to prevent and expensive to discover later. SiteRefactor generates a DIY roadmap for exactly this situation.
  • A freelancer offers flexibility and usually lower rates. Check relevant portfolio work and make sure you own the accounts and code, so you are not dependent on one person.
  • An agency brings design, development, QA and project management under one roof, at higher rates. It is often the safer choice for sites with e-commerce, many integrations or several languages.

Whoever you hire, ask for a quote that itemizes phases, lists assumptions and exclusions, describes the redirect and QA approach, defines post-launch support, and confirms that you will own the code, content and accounts.

How SiteRefactor estimates

SiteRefactor's estimates are deterministic: the same inputs always produce the same output, and every number can be traced back to an explicit formula. No AI model invents prices.

  1. Measured inputs. The analysis collects detected platform and page builder, the number of templates, content types, forms and integrations, page volume (from the XML sitemap where available, otherwise from a limited crawl), product count, languages, publicly referenced plugins, and performance and SEO scores.
  2. Hours per phase. Each phase has a formula with a minimum and maximum, for example a fixed base plus a number of hours per template. Content migration uses manual effort per page up to about 30 pages and a scripted import above that, with extra effort for page-builder content.
  3. QA and project management. QA is calculated as roughly 15–25% of build effort, and project management as roughly 10–15% of total effort. Store migrations to Shopify use 20–30% for QA because of catalog and checkout testing; the smaller keep-and-optimize scope uses 10–15% for QA and 8–12% for project management.
  4. Hours × rates. Each phase is multiplied by the rate for its role. The low end of a range uses the minimum hours at the minimum rate, and the high end the maximum hours at the maximum rate.
  5. Rounding. Hours are rounded to the nearest five, and one-time costs to $100, $250, $500 or $1,000 depending on size (monthly running costs to the nearest $10), so the result does not imply false precision.
  6. Timeline. Calendar time assumes a small team delivering 30–60 hours per week in total, with a buffer week for larger projects. Content readiness and feedback speed can change this more than anything else.

The default planning rates are:

RoleDefault planning rate
Development$50–100 per hour
Design$40–90 per hour
QA$35–70 per hour
Project management$40–90 per hour
These rates are configurable planning assumptions, not verified market rates and not quotes. Real rates vary widely by country, seniority and type of provider, and a deployment of SiteRefactor can be configured with different rates.

Missing data widens the range. When less than 60% of the analysis data is available, for example because few pages could be inspected, no sitemap was found or PageSpeed results were unavailable, the upper bound is multiplied by 1.25. If the platform could not be identified at all, it widens further. Each estimate also carries a confidence level. High confidence requires at least 85% data completeness, a page count taken from the sitemap, and answers to at least two of the optional questions about your goal, who maintains the site and your budget. Low-confidence results are labeled "preliminary" in the report.

Always excluded: copywriting, photography and new content; paid licenses and subscriptions (shown separately as recurring costs); functionality not visible on public pages; and ongoing marketing, SEO campaigns or advertising.

Worked examples

Illustrative examples computed with SiteRefactor's default planning assumptions. The inputs below are hypothetical but plausible sites; the outputs are exactly what the estimator returns for them, with no optional preferences selected (so no redesign goal is assumed). They are not quotes and say nothing about what any particular provider would charge. The recurring column combines platform fees with maintenance hours at development rates, rounded outward to the nearest $10 per month.

Example A: a 15-page brochure site on WordPress

Inputs: WordPress, 15 pages counted from the sitemap, 4 templates, 2 content types, 1 contact form, 2 integrations (analytics and a newsletter tool), 12 publicly referenced plugins, no page builder, one language, no store. Mobile performance score 45, SEO fundamentals score 72, 90% data completeness.

OptionOne-time costEffortTimelineRecurring / month
Keep & optimize$1,900–9,00040–95 h1–4 weeks$50–400
Modernize WordPress$4,000–21,00090–225 h2–9 weeks$120–650
Migrate to Webflow$4,500–22,500100–240 h2–9 weeks$60–380
Migrate to Next.js$6,500–30,000140–320 h3–12 weeks$100–950

For a site this small, content migration is a minor item (6–13.5 hours in the Next.js estimate). The front-end build (50–89 hours) and design (20–40 hours) dominate. If the main problem is a mobile performance score of 45, the keep-and-optimize option addresses it for a fraction of the cost of any rebuild.

Example B: a 250-page content site built with Elementor

Inputs: WordPress with Elementor, 250 pages counted from the sitemap, a blog, 7 templates, 3 content types, 2 forms, 3 integrations (analytics, CRM and a newsletter tool), 25 publicly referenced plugins, one language, no store. Mobile performance score 38, SEO fundamentals score 68, 90% data completeness.

OptionOne-time costEffortTimelineRecurring / month
Keep & optimize$2,000–9,50040–100 h1–4 weeks$50–400
Modernize WordPress$7,750–41,500165–445 h3–16 weeks$120–650
Migrate to Webflow$7,750–40,000170–435 h3–16 weeks$60–380
Migrate to Next.js$10,500–53,000235–570 h4–20 weeks$100–950

This example surprises people: modernizing WordPress is estimated at roughly the same range as moving to Webflow. The reason is the page builder. Converting up to 250 Elementor layouts to native blocks accounts for 41.5–108 hours on its own. Staying on the same platform is not automatically cheap if every layout has to be rebuilt; it does, however, keep URLs and the editing workflow in place, which lowers SEO and training risk. Keeping and optimizing the existing site remains by far the least expensive path.

Example C: a WooCommerce store with about 300 products

Inputs: WordPress with WooCommerce, about 380 URLs in the sitemap including roughly 300 products, a blog, 6 templates, 3 content types, 2 forms, 4 integrations (payments, email marketing, shipping and analytics), 30 publicly referenced plugins, one language. Mobile performance score 35, SEO fundamentals score 70, 90% data completeness.

OptionOne-time costEffortTimelineRecurring / month
Modernize WordPress (keep WooCommerce)$6,000–31,500130–340 h3–13 weeks$120–650
Migrate to Shopify$9,250–47,000205–510 h4–18 weeks$160–1,050

Moving to Shopify includes product, customer and order migration (20–60 hours for about 300 products), store configuration for payments, shipping and taxes, and a larger QA share for checkout testing. The recurring range covers the Shopify plan and typical paid apps plus maintenance time; transaction fees are excluded.

What missing data does to a range

Take Example A's Next.js migration again, but assume only 50% of the analysis data was available and the page count came from a limited crawl instead of a sitemap. The estimator then returns $6,500–37,000, 140–400 hours and 3–15 weeks, labeled preliminary. The lower bound is unchanged; the upper bound widens by a factor of 1.25 to reflect what is not known.

How to read an estimate range

  • The low end assumes the work goes smoothly and is done at the lower planning rate. The high end assumes more effort at the higher rate. Both uncertainties multiply, which is why ranges are wide.
  • Compare options side by side. Because every option uses the same assumptions, the relative differences between them are more informative than any single absolute number.
  • Look at the phase breakdown to see what actually drives the total. If content migration dominates, a content audit may save more than negotiating rates.
  • Read the assumptions and exclusions. A quote that looks cheaper may simply exclude the SEO migration, QA or content work.
  • Treat preliminary results with extra caution. They are based on incomplete data and are best used for orientation.
  • An estimate is not a quote. A binding price requires a scoping conversation with the provider. Real quotes can fall outside the range, especially where rates differ from the planning assumptions or where non-public functionality exists.

Reducing cost and risk

  • Fix in place first when the problem is speed, security hygiene or SEO basics. The keep-and-optimize option is often the best value.
  • Audit content before migrating. Merging or retiring outdated pages reduces import, QA and redirect work.
  • Consolidate templates. Fewer, more flexible layouts are cheaper to build and easier to maintain.
  • Keep URLs unchanged wherever the new platform allows it.
  • Prepare content early. Late content is a frequent cause of delay.
  • Phase the project. Launch the core site first and add secondary features afterwards.
  • Agree on acceptance criteria before the build starts, so "done" means the same thing to everyone.

For platform-specific considerations, see our guides to migrating WordPress to Next.js and WordPress to Webflow, and use the migration checklist to plan the launch. To see these formulas applied to your own site, run a free analysis below.

See what this means for your website

Run a free analysis: detected technologies, performance, migration options and indicative costs based on your site's actual characteristics.