I used to treat a Webflow export like a fire escape: something I made only after the hosting bill annoyed me. That was backwards. The dangerous moment is not generating the static files; it is moving a real domain before I know the exported site behaves like the working one.

Now I rehearse the deployment first. I give the exported site a temporary home, walk the money pages, and write down every surprise before DNS is anywhere near the conversation. It turns a tense cutover into a small, fixable operations task.

Hand-drawn static export QA checklist

The static copy needs to be a site, not a souvenir

A folder full of HTML is useful only if it can carry the customer journey. For a Webflow marketing site, that means page markup, CSS, JavaScript, images, media, and the routes created from CMS content all need to travel together. Native export can be limiting when CMS content is involved, so I use ExFlow’s Webflow exporter when I need a fuller static copy of a published site. It can collect pages and assets, let me download a ZIP, or sync the result to Git, S3, FTP, or managed hosting.

That is not a promise that every feature becomes static. It is a practical starting point: I can see what the visitor gets, put it under version control, and decide explicitly what needs another service. This is the same reason I like to make a Squarespace backup I can test on static hosting: portability is more useful once it has survived a real test.

My tiny deployment rehearsal

I export into a dated folder and deploy it to a temporary URL first. A Git-based preview is handy because the output is visible and versioned; an S3 bucket or a simple FTP test works too. The point is to test the actual generated files, not a local design mockup.

My first pass is deliberately boring:

  1. Open the homepage in a private window.
  2. Follow the primary navigation, footer links, and the three pages that matter most to revenue.
  3. Open several CMS-derived pages, not just the pretty top-level pages.
  4. Check desktop and phone widths.
  5. Inspect the browser console and network panel for missing assets.

I do this before I celebrate the download. A polished Webflow page can depend on lazy-loaded images, an interaction script, a font file, or a route that only appears after a collection item is clicked.

Hand-drawn route and redirect rehearsal

The checklist I keep beside the preview URL

I compare the navigation with the live site, then paste a handful of deep URLs straight into a new tab. This catches the classic static-hosting mistake: the homepage works, but a collection page or old campaign URL does not. If the move changes URL shapes, I prepare redirects before changing the domain.

Assets, interactions, and responsive behavior

Next I scan for empty image frames, stalled videos, missing icons, and weird font fallbacks. I click menus, accordions, sliders, and any animation that communicates something important. I do not need every flourish to be dramatic; I do need the page to remain understandable when an effect fails. The phone view gets its own pass because breakpoints are where a nearly-correct export becomes a support ticket.

Forms and service-dependent features

A static export can preserve a form’s appearance without magically replacing the form endpoint. I submit a safe test lead, verify the confirmation state, and confirm where the data arrives. The same rule applies to search, member areas, ecommerce checkout, analytics, and embedded tools: list the dependency, test it, then either keep its service or choose a replacement.

Metadata and search handoff

Finally, I view page source for titles, descriptions, canonical tags, social images, and any required verification snippets. If the site is moving, I keep a crawlable map of the old and new paths so redirects do not become an afterthought. This is the less glamorous companion to moving a Webflow CMS site to static hosting without losing routes.

Make the rehearsal reversible

The trick that lowered my anxiety was deciding the rollback before the cutover. I keep the current host active, document the DNS records, and do not cancel anything until the static version has been checked on the real domain. A dated ZIP and a Git commit give me a known-good artifact; a temporary preview gives me a safe place to notice mistakes.

Hand-drawn portable static deployment map

This workflow also makes client handoff calmer. The handoff is not just credentials and an exported folder; it is a tested deployment, a list of dependencies, and one clear owner for redirects and forms. That distinction is why I also like the practice behind handing off a Framer site without handing over hosting lock-in.

Where I deploy after the rehearsal

Once the temporary build is clean, I choose the least complicated destination that fits the team: Git for versioned static deployment, S3 for object storage, FTP for an existing server, or ExFlow Hosting when a managed path is the useful tradeoff. ExFlow also has dedicated exporters for Squarespace and Framer, but I start with the Webflow workflow because the route and CMS audit are platform-specific.

If you are still deciding whether to move, run one rehearsal this week: export the current Webflow site with ExFlow, publish it at a temporary URL, and test ten customer-facing paths. You will either have a portable deployment ready to use or a precise list of what the next export needs to fix. Both are much better than discovering it on launch day.

A static deployment should feel boring by the time the domain moves. That is the whole goal.