Website Migrations from Framer, Webflow, and more

Leave Framer, Webflow, Wix or Squarespace with your design, content and links carried over. I rebuild your site on code you own, with a CMS your team can edit.

An illustrated laptop beside a coffee mug with curling steam, a notebook, pen, and sticky note on a citron background.

A good migration is one your visitors never notice. Same pages, same layouts at every screen size, same interactions people already rely on. What changes is underneath: code you own, a CMS your team can edit, and hosting that costs little or nothing for most marketing sites.

Every migration includes the groundwork below.

  • Your links keep working

    Your public URLs stay the same or redirect to the right pages. I check links before launch and monitor for missed ones after.

    Five cream balls with chain-link symbols hang from strings, with four touching and one swinging outward.
  • Your SEO comes with you

    Page titles, descriptions and indexing rules carry over, and I check each one against your current site before launch.

    A magnifying glass enlarges a result on an illustrated Google search page.
  • Update your content yourself

    Your new site connects to a CMS, so you can update pages, posts and images yourself.

    Two hands place a heading module and an image tile into an illustrated webpage.
  • No broken images after you switch

    Images and videos hosted by your old platform move to storage you control, so they keep loading after you leave it.

    A blue archive box holds two photographs and a short filmstrip.
  • Forms and search work like before

    I test your forms and site search against the original, so inquiries still reach you and visitors still find what they need.

    A contact form with a Send button and confirmed envelope delivery beside checked search results for support.
  • You approve it before it goes live

    Review the new site privately before launch. We agree when to switch and how to restore the old site if needed.

    Hands hold a bowed cream sheet at an angle and lift a coral stamp above a green seal with a cream checkmark.
  • Yours to keep, with 14 days of fixes

    You get documented code ready for AI coding tools, plus 14 days of monitoring and migration bug fixes at no extra cost.

    An instruction manual, folded website blueprint and key arranged as a handover kit.

Most marketing sites fit this scope. The layout price includes all publicly accessible pages and content that use the agreed layouts, with no page-count limit. Custom integrations, private areas, complex forms, advanced editing workflows and heavy content restructuring need a separate review before I quote.

Faster pages, smaller bills.

Site builders load their own runtime, editor hooks and scripts on every page, whether your visitors need them or not. A rebuilt site ships only what each page uses. Pages are prebuilt and cached close to your visitors, and images are resized and served in modern formats for every screen.

When I trimmed my own site, swapping an animation library for sprites and React for Preact cut about 310KB of JavaScript. Your gains depend on what your site carries today, so I measure the old and new versions with the same Lighthouse run and share both reports before launch.

PageSpeed Insights on my own site, desktop run, October 2026.

The savings depend on what you pay today and what the new site needs. If you currently pay $30 a month and the new hosting and CMS both fit within free tiers, you save $360 a year once the old subscription ends. At the $100 base migration price, that covers the migration fee in under four months of savings. Add-ons, tax, paid services and the time you keep both subscriptions running extend that payback period.

Not every move saves money. A larger team on a paid CMS can end up paying about the same, so I’ll tell you what your new stack is likely to cost before you commit.

Where are you moving from?

Every builder holds on to your site differently, so every move has its own tricky parts. Pick yours to see what I handle and what needs a closer look.

What’s your site built with?
  • I rebuild responsive layouts, hover states and scroll effects.
  • I map collections to structured content in your new CMS.
  • I move images, video and fonts off Framer’s CDN.
  • Custom components using external services may need extra scoping.
  • You supply drafts and unpublished items for review.

Built with Lovable, another AI builder or a different platform? The public site can still be the reference. No code export is required. Let’s assess your site.

Sometimes staying put is the better call. If a store, memberships or bookings are the heart of your site, your platform is doing heavy lifting that a rebuild would have to replace.

I’ve made these moves before.

Before building my own product, I ran Drool, a design studio for early-stage startups. We designed and shipped launch sites and product interfaces for teams like SellScale and Phidata (now Agno). I’ve also moved client sites between platforms, both onto custom code and from other platforms into Webflow.

I’ve moved this site three times: from WordPress to Astro, from React to Preact, then from Astro to TanStack Start. Each time, the hard part wasn’t the pages. It was behavior nobody had written down. My old contact form saved a message before sending its notification, so a failed email made people retry and created duplicates. Copying the old site exactly would have copied that bug too. That’s why every migration I take on starts with an inventory of what your site does, not just the pages it has.

WeKeep, the product I’m building now, runs on Astro and Cloudflare, the same stack I recommend for most marketing sites.

Priced by layout, not by page.

The minimum migration fee is $100. It covers up to five unique layouts and unlimited public pages using those layouts. Fifty blog posts sharing one design count as one layout. Beyond five layouts, the calculator applies the additional layout rates shown in its breakdown.

Counting layouts is the hard part, so the calculator can do it for you. Pick your builder and enter your address. It reads your sitemap, opens a sample of your pages and groups the ones that share a design. It only sees public pages, so treat the count as a starting point you can adjust, or skip the scan and set the number yourself.

Built with

Estimated cost$100USD, excluding tax

5 layouts

Plan your migration

A typical marketing site with a home page, about page, pricing page, blog index and blog post is five layouts, all covered by the base price. A newsletter form embedded in an iframe is included. Any other newsletter implementation starts at $100 total, whether I connect your current provider or move you to a new one and connect it. That is separate from the layout fee. Having me move your DNS to Cloudflare costs $50; keeping your current DNS or handling the move yourself has no extra service fee. Sites with more than 50 layouts need a custom quote. Prices are in USD and exclude tax.

The calculator prices layouts and the selected add-ons. I review the behavior behind those pages before giving you a final quote. For migrations estimated above $500, that quote may differ by up to 25% when the rebuild needs more complex implementation: blog comments, lead forms feeding automated funnels, pages assembled from different combinations of CMS records, or advanced filters and data tables. Work outside the migration scope is quoted separately, and the minimum migration fee remains $100.

I explain any adjustment before you commit. Once you accept the quote, the price stays fixed for the agreed scope. Adding a page that reuses an agreed layout with content you supply adds no layout fee. New layouts use the same published rates; new functionality or content restructuring needs an agreed scope and price before I start it.

Choose the fit. Not the fashion.

Every site needs three things: a framework to build it, a CMS to edit it and somewhere to host it. Pick an option in each to see where it shines and what it costs you.

Framework: how your site is built
  • Suits content-led sites like blogs, docs and marketing pages.
  • Ships little JavaScript by default, so pages load quickly.
  • Interactive parts are added piece by piece, so app-like features need more care.
  • It’s a weaker fit if the site is growing into a web app.
CMS: where you edit content
  • Hosting is managed, so there’s no server for you to update or secure.
  • Pairs structured content with an editor shaped around your site.
  • Your team learns a new editor.
  • Paid plans apply as your team or usage grows. The subscription is yours.
Hosting: where your site runs
  • Serves pages worldwide from a global edge network.
  • Keeps running costs low for most marketing sites.
  • Not every Next.js feature runs there, so I check compatibility first.
  • Some Node.js libraries need alternatives.

Not sure? For a typical marketing site, I recommend Astro, Sanity and Cloudflare: fast pages, a hosted editor nobody on your team has to maintain, and hosting that usually stays within the free tier. I’ll confirm the fit after reviewing your site. Whatever you choose, CMS subscriptions and hosting charges are paid directly by you, separate from the migration fee.

Bring your subscribers along.

Most sites collect email addresses somewhere: a Mailchimp form in the footer, a Beehiiv embed on the blog, or the builder’s own email tool. A site migration is a good moment to decide where that list should live, but it doesn’t have to move at all. Often the best newsletter migration is the one you skip. Pick a route to see what each one involves.

Newsletter: how your signups come along
  • Your provider’s iframe signup form drops into the new site, so your list, emails and automations stay where they are.
  • Included in the migration at no extra cost.
  • The form keeps your provider’s styling and scripts, so it can look out of place and add weight to the page.
  • Some free plans show the provider’s branding on the form.

Newsletter data needs an export, even when your website doesn’t. Before cancelling the old service, export your subscribers and the available unsubscribe, bounce and confirmation records. I check those records and the destination’s import rules before agreeing the move. Contacts with missing or unclear permission records won’t be imported as subscribed; if suppression history can’t be preserved, we resolve that before sending. Sending history, segments and other provider-specific data are not guaranteed to transfer. Using a provider that isn’t listed here? It needs a quick review first.

A careful move, end to end.

Every migration follows the same path, and you work with me directly at every step. Most moves take two to four weeks from agreed scope and deposit to launch. Nothing goes live until you’ve reviewed it, and the work doesn’t end at launch.

Yes No No Yes Review your current site Any gaps? Resolve them together Agree the reference and quote Pay 25% deposit Rebuild for parity Review the private preview Matches? Prepare redirects and rollback Approve preview and pay balance Switch the domain Hand over and monitor for 14 days
Work only moves forward once each checkpoint is agreed. Anything that doesn't match the reference goes back for fixes.

The assessment and quote are free. Before I quote, we settle anything missing from your current site and any feature the new platform handles differently. To start work, you accept the scope and pay a 25% non-refundable deposit, credited toward the total. The final quote includes these payment terms.

You test the journeys that matter on the private preview. Once you approve it, the remaining 75% is due before I put the site live or share the code repository. We agree the launch time and who updates the DNS records, and I hand over the documented GitHub repository and operating instructions after payment.

Keep your old platform subscription active until the migration is complete. I recommend keeping it for another one to two months as a fallback, at your expense. Before you cancel, we confirm that content and media no longer depend on it and that the new host serves the redirects. Keeping the old subscription does not extend the included 14 days of support.

Before you make the move.

These are the questions people usually ask before we start. If yours isn’t here, ask me directly.

Let’s look at your site.

You work with me directly, from the first review to launch.

You don’t need a technical brief or a framework preference. Share the site you have and what you want to keep, and I’ll get back to you within two working days. The assessment and quote are free; submitting this form doesn’t commit you to a migration.

Step 1 of 2: Your details

Who should I reply to?

Your details