Before you cancel your GoHighLevel agency account, get every client's site off the platform while you still can. Here's the order of operations — export the front end, the contacts, and the workflows — so nothing disappears when the plan lapses.
Before you cancel a GoHighLevel agency account, export every client's front-end site — funnels, marketing websites, and blogs — to clean static HTML, CSS, and JS, because GoHighLevel has no bulk "export all sites" button and hosted pages generally stop being served once your plan lapses. The fastest path is to run a rendered-snapshot exporter such as ExportGHL Sites on each sub-account one at a time, then export contacts separately through GoHighLevel's own native CSV export. Work down a per-client checklist and verify each export before you close anything.
Winding down an agency is stressful enough without discovering, a week after you cancel, that a client's website is simply gone. GoHighLevel is a closed platform: your clients' designs, funnel steps, and page assets live inside their system, and there is no agency-wide "download everything" control. This guide covers how to get it all out in the right order, and — just as important — what ExportGHL can't do for you so there are no surprises.
When an agency plan is cancelled or lapses, the sub-accounts under it generally lose access, and the pages GoHighLevel was hosting stop being served. The underlying data may also be removed after a retention window. The exact behaviour — how long sub-accounts stay reachable, whether data is held for a grace period, and who is treated as the owner — depends on your specific plan and the agreement between you, your clients, and GoHighLevel. Those details change over time, so confirm them against your current agency and GoHighLevel agreement rather than assuming.
The practical takeaway doesn't change: treat everything as if it will become inaccessible the moment you cancel, and export before you pull the trigger — while every sub-account is still live and you can still log in. A browser "Save Page As" won't cut it here, because GoHighLevel pages render dynamically and pull styles, fonts, and assets from several host names; saving by hand leaves broken layouts and dead references. You need a tool that renders each page fully and localizes its assets.
Being clear about this up front saves you from a false sense of security. ExportGHL Sites captures the rendered front end of your pages — it is not a full account backup.
What ExportGHL Sites exports:
What it does not export (and how to get these instead):
In short: Sites gets you the websites your clients can see and host anywhere; the data and automations need their own exports, covered below.
Open your agency view and write down every client sub-account. Under each one, list the funnels, marketing websites, landing pages, and blogs worth keeping. This checklist is what you'll tick off as you go — in a multi-client agency it's the single thing that stops a site slipping through the cracks on cancellation day.
Add the ExportGHL Frontend Exporter from the Chrome Web Store and pin it. One install handles every sub-account you log into, and it stays up to date automatically.
For each sub-account, open a site or funnel, then open the extension popup. Enter your purchased or free-trial email, tick Rendered snapshot mode and Discover hidden pages, and click Export Full Site. The exporter renders each page in a worker tab, scrolls to pull in lazy-loaded sections, and bundles the result into a ZIP of clean HTML plus localized assets. Repeat for every site under every client on your list.
Remember that Sites only covers the front end. For each sub-account, run GoHighLevel's native CSV export to get contacts out, and use ExportGHL Workflows to clone any automations you want to keep. Treat these as their own line items on the checklist so they aren't forgotten alongside the websites.
Don't open exported files by double-clicking them (the file:// protocol triggers browser security blocks). Run a lightweight local server and check each site renders:
# On Mac (Terminal)
cd /path/to/client-export
python3 -m http.server 5511
# On Windows (PowerShell)
cd "C:\path\to\client-export"
python -m http.server 5511
Open http://localhost:5511/pages/index.html, confirm the pages look right, then file every ZIP in an organized per-client folder. Only cancel the GoHighLevel account once every client's site, contacts, and workflows are exported and verified.
A clean agency exit is more than the websites. Once the front ends are captured, work through the data that doesn't live on a rendered page:
Keep in mind that membership or course content behind a login, and any server-side records, can't be pulled as static files — plan to recreate those on the destination platform.
Most of the time is the crawl, and that runs largely unattended. A single client site — even a multi-page one with hidden pages — typically exports in minutes, because the crawler discovers and renders pages for you. The real variable is how many sub-accounts and sites you're moving: a handful of clients is an afternoon, while a large agency with dozens of sub-accounts is better spread over a couple of days so you can verify each export as you go. Start well before your billing date so you're never racing a cancellation. If you want to see the output quality before committing, the free single-page trial lets you export one page from a client site first.
Try ExportGHL Sites free on one page, then crawl every client's whole site to clean static HTML — ready to host anywhere.
Start free