Maintenance

Website Migration: 9 Hidden Things That Never Transfer

Whether you are leaving Wix, Squarespace, Shopify, Drupal or a folder of hand-written HTML, the same list of things fails to arrive. Platform-specific guides cover the mechanics; this one covers what no importer carries, because that is where website migration projects actually hurt.

Nine of them, in the order they cost you money. Read this before you accept a website migration quote, because most of the nine are the items a cheap quote has quietly left out.

1. Your URLs

The nine things no website migration carries across: URLs, design, form submissions, customer passwords, server configuration, email, third-party app data, analytics configuration, and everything the old platform was doing invisibly.
Ordered by what they cost. The first one outweighs the other eight together, and it is the only one that cannot be fixed later.

This is the one that matters more than the other eight together. Every platform has its own address shape: .html files, /post/slug, /#!page/id, /collections/name. Almost none of them match WordPress, and a website migration that changes addresses without redirects turns every ranking page into a 404 and every inbound link into nothing.

No tool writes this for you. Every website migration map is written by a person who looked at the old site.

# Build the inventory from three sources, not one
curl -s https://oldsite.com/sitemap.xml | grep -oP '(?<=<loc>)[^<]+' | sort -u > a.txt
wget --spider -r -l inf -nv https://oldsite.com/ 2>&1 | grep -oP '(?<=URL: )\S+' | sort -u > b.txt
# plus every URL with impressions in Search Console
cat a.txt b.txt | sort -u | wc -l

Then one row per old URL, pointing at its closest equivalent — never all of them at the homepage, which Google treats as a soft 404 and which passes nothing. The discipline is set out in WordPress redirects without losing rankings, and Google’s own site move with URL changes guidance says the same.

2. The design

No website migration carries a layout. A Squarespace template is Squarespace code; a Wix design is Wix code; a static site’s CSS assumes markup you are about to replace. The export, where one exists, contains content.

Budget the template as design work rather than as part of the move. It is the line people most often discover mid-project, and it is usually the largest single number in an honest quote.

3. Forms, and every submission behind them

Forms are rebuilt in every website migration. That part is expected. What catches people is the stored responses: months of enquiries sitting in the old platform’s dashboard, which vanish with the subscription.

Export form submissions to CSV before you cancel anything. This is the most common permanent loss in any website migration and it is entirely preventable with ten minutes of forethought.

Then rebuild the forms and send a real test to an external address — not your own domain. WordPress mail fails quietly on fresh installs more often than anything else, for the reasons in why WordPress emails stop sending.

4. Customer passwords

Passwords are stored hashed, and every platform hashes differently. There is no way to carry them across, and any tool claiming otherwise is either storing them in plain text somewhere or lying.

So the customer accounts move, the order history moves, and nobody can log in. The fix is a planned one: a “set your new password” email on launch day, written in advance, sent to everyone. It is a normal part of a commerce website migration and it only becomes a crisis when nobody planned it.

5. Whatever the old .htaccess was doing

Static and self-hosted sites accumulate server configuration that nobody documented: forced HTTPS, hotlink protection, IP blocks, custom error pages, cache headers, a redirect from a domain bought in 2019.

# Read it before you decommission anything
cat oldsite/.htaccess
grep -cE 'Redirect|RewriteRule' oldsite/.htaccess

Each rule was doing a job. Re-implement it, or decide deliberately to drop it — but do it from a list, not from memory three weeks later when somebody notices.

The same applies to anything scheduled. A cron job emailing a weekly report, a script rebuilding a feed overnight, an integration posting orders into an accounting system at 2am — none of that is in a database export, and none of it announces its absence. It simply stops, and the first person to notice is usually the one waiting for the report.

6. Email, which is not the website

Your site follows the A record. Your mail follows the MX records. They are different systems pointed at by different DNS entries, and the most common way to do a website migration badly is to move one and forget the other.

dig +short yoursite.com A     # the website
dig +short yoursite.com MX    # the mailboxes — check before touching anything

If mailboxes are provided by the old platform, they end when the subscription does. Move them separately, and several days apart from the site, so that when something breaks you know which change caused it. Our WordPress domain migration guide has the full DNS sequence.

7. Third-party app data

Bookings, memberships, gift card balances, review widgets, loyalty points. Each was an app on the old platform, each holds data in that vendor’s system, and none of it is in any export.

What it holdsWhat survives a website migration
Upcoming bookingsNothing — re-enter, or run both briefly in parallel
Gift card balancesExport the list; reissue as new codes
Product reviewsOnly if the app exports them; many do not
Member subscriptionsNothing, including the billing relationship

List every app during the inventory, before anyone quotes. Each one is a separate replacement decision, and apps are the single most common reason a website migration estimate turns out to be wrong.

8. Analytics continuity

A website migration does not delete your analytics history. The data in Google Analytics stays where it is. What breaks is everything configured around it: events wired to old selectors, goals pointing at old URLs, tag manager triggers matching paths that no longer exist.

Nothing errors. The dashboard keeps drawing a line, and the line is wrong. Annotate the cutover date on day one so that the month-on-month comparison nobody will run until December has a visible explanation in it.

Ecommerce tracking is the version of this that costs real money. Purchase and add-to-cart events are usually wired to the old platform’s markup, and when the markup changes they simply stop firing — no error, no warning, just a number that quietly becomes wrong. Ad spend keeps optimising against it. Check the funnel end to end on launch day, in a private window, with the network tab open, and confirm each event actually leaves the browser.

9. Everything the old platform did invisibly

This is the part of a website migration that arrives after the project feels finished, and it is the reason a move that looked cheap stops looking cheap in month three.

They handledNow yours
Hosting and scalingA plan, with limits you should know
SSL renewalUsually automatic — verify it, do not assume
Software updatesCore, theme, plugins, on a schedule someone keeps
BackupsYours to configure, and to restore at least once
Security patchingYours, and the main reason unattended sites get hacked
Uptime monitoringNobody is watching unless you arrange it

None of it is difficult; all of it is relentless. Put a real number against it — your time or a plan — or the saving you calculated against the old subscription is not the saving you will get.

The platform-specific parts

The nine losses above are constant across every website migration. What differs is how much the old platform hands back, and that decides whether a website migration is mostly import or mostly rebuild.

Moving fromExport qualityThe specific guide
Static HTMLNone needed — you have the files, but no structureHTML to WordPress
SquarespacePartial WordPress file: one blog, pages, no shopSquarespace to WordPress
WixBlog posts only; no site export at allWix to WordPress
ShopifyGood CSVs for products, customers and ordersShopify to WooCommerce
BigCommerceCSV exports, similar shape to ShopifyBigCommerce to WooCommerce
MagentoFull database access — the richest source, and the most workMagento to WooCommerce
DrupalFull database access; the content model usually maps wellDrupal to WordPress
JoomlaFull database access; extensions rarely have equivalentsJoomla to WordPress
DudaLimited; largely a rebuildDuda to WordPress

Three of those have a full walkthrough on this blog: converting HTML to WordPress, moving from Squarespace and moving off Wix. For stores, migrating from Shopify to WooCommerce covers the commerce specifics.

The sequence that survives contact with reality

  1. Inventory every URL — sitemap, crawl and Search Console, merged.
  2. List every app and integration the old site relies on.
  3. Export everything the old platform will give you, including form submissions.
  4. Build in parallel on staging. The old site keeps trading throughout.
  5. Decide the content model before building templates.
  6. Write the redirect map from the inventory, one row per URL.
  7. Rebuild forms; test to an external address.
  8. Drop DNS TTL to 300 seconds, 48 hours ahead.
  9. Cut over in your quietest window. Not a Friday.
  10. Re-test every redirect live, submit the sitemap, annotate analytics.
  11. Keep the old site read-only for a month.

Step four is what makes any website migration low-risk: nothing switches until everything is proven, and the rollback is “do not change DNS”. Do it on a proper staging site rather than in place.

The rollback nobody plans

How the rollback option changes through a website migration: before DNS changes nothing is needed, immediately after it is a DNS revert taking minutes, once orders arrive there is no clean way back, and after the old platform is cancelled there is none at all.
Name the person who decides and the last moment they can, before cutover day. Then the decision takes thirty seconds rather than a conference call.

Every website migration plan has a cutover step. Very few have an answer to “and if it goes wrong at 9pm, what do we do”. The honest answer changes as the project moves, and knowing which stage you are in is what makes the decision fast instead of frightening.

StageRollbackHow long
Before DNS changesDo nothing — the old site is still liveInstant
DNS switched, no orders yetPoint DNS backMinutes, if TTL was lowered
DNS switched, orders takenFix forward — the new site holds data the old one does notNo going back cleanly
Old platform cancelledThere is no rollback—

Two things follow. First, lowering the DNS TTL to 300 seconds two days ahead is not a nicety — it is the difference between a five-minute reversal and a day of split traffic. Second, the window in which a clean rollback exists closes the moment the first order or enquiry lands on the new site, which is usually within an hour.

So the useful question during planning is not “can we roll back” but “what is the last moment we can, and who decides”. Name the person and the time before cutover day, and the decision takes thirty seconds rather than a conference call.

Making two website migration quotes comparable

Quotes for the same move routinely differ by a factor of three, and it is almost never padding. They are pricing different scopes. Five questions collapse the spread:

  1. Who writes the redirect map, and is every URL in it? “We’ll handle redirects” is not the same promise as one tested row per old URL.
  2. Which of the nine losses above are in scope? Forms and app replacements are frequently assumed by the buyer and excluded by the quote.
  3. Is the design rebuilt or adapted? The largest single variable, and the easiest to leave vague.
  4. What happens to the apps? Ask them to list yours back to you. If they cannot, they have not looked.
  5. What is the rollback, and until when? A serious answer names a stage, not a reassurance.

Where website migration projects go wrong

The mistakeWhat it costsDo this instead
Trusting the importer’s success messageMissing pages found months laterDiff the new URL list against the old inventory
Cancelling the old platform at launchNo reference copy; submissions and app data goneKeep it read-only for a month
Bulk-redirecting everything to the homepageSoft 404s; passes nothingOne row per URL, to the closest equivalent
Leaving images hotlinked to the old hostEvery picture vanishes when the subscription endsRewrite paths, then grep the database to confirm
Moving site and email togetherBoth break; nothing to isolateSeparate them by several days
Redesigning during the migrationTwo variables, one bad outcome, no diagnosisMove first, restyle after — or accept the risk knowingly

The last row is worth dwelling on. Combining a redesign with a website migration is common and sometimes correct, but it means that if traffic falls you cannot tell which change did it. If you do combine them, keep the URL map strict — the rules in redesigning without losing SEO apply directly.

What normal looks like

TimingNormalNot normal
Day 1Every old URL gives one 301404s, or chains of two hops
Week 1–2A visible dip while Google recrawlsPages reported “not found”
Week 3–4Impressions climbing backStill falling
Week 6At or above the old baselineFlat at half — go back to the map
Month 2Old URLs fading from the indexBoth versions indexed

A dip in the first fortnight is expected after any website migration. A dip still there at week six is a redirect problem, and it is nearly always a row nobody tested rather than anything to do with the content.

Frequently asked questions

What is the biggest risk in a website migration?

URLs changing without redirects. Everything else on this page is recoverable with work; rankings built over years are not recovered quickly. If you do one thing properly, make it the map — one row per old URL, tested before launch and again after.

Will I lose traffic?

Temporarily, almost always. Expect a dip of two to four weeks while search engines recrawl and reassess, then a return to the previous level. A website migration that is still down at six weeks has a fixable fault, not bad luck.

Should I redesign at the same time?

It is cheaper in fees and more expensive in risk. Doing both means that if something goes wrong you have two suspects and no way to separate them. If the current design is genuinely holding the business back, combine them and keep the URLs identical. Otherwise move first.

How long should I keep the old site?

A month at minimum, read-only, and longer for a store — until the accounting year closes if there is any chance of a refund or dispute needing the original record. It is the cheapest insurance in the entire project.

Can I do a website migration myself?

The content, usually yes. The URL map is the part that decides whether it goes well, and it is tedious rather than technical — a spreadsheet, one row per page, tested with a loop. If the site earns money, the honest advice is to have somebody check the map before you cut over.

How long does the whole thing take?

A brochure site is a week or two of elapsed time. A store, a membership site, or anything with several apps behind it is a month or more — and the length is set by the replacements, not by the content. The cutover itself is under an hour when the preparation is done.