# WPExit > WPExit turns a WordPress site into a fast static version at the same URLs, hosts it, and lets you make changes by chat. Built by Bit Source in Pikeville, Kentucky. # Move your site off WordPress and PHP in a day. URL: https://wpexit.bitsource.us/ Description: Same URLs. Faster. No plugin updates ever again. WPExit crawls your WordPress site, builds a fast static version, hosts it, and lets you make changes by chat. Measured on 22 real sites. Site: WPExit (Bit Source, Pikeville, Kentucky) Same URLs. Faster. No plugin updates ever again. WPExit crawls your site, builds a fast static version, and hosts it. Your WordPress stays up until you say otherwise. [Try it with your URL](https://wpexit.bitsource.us/#try) · [See the numbers](https://wpexit.bitsource.us/#numbers) ## How it works 1. **Install the plugin.** A thin WordPress plugin inventories your site: plugins, forms, post types, menus. It sends nothing until you click Connect, and it never sends content, comments, or accounts. 2. **See your preview.** We crawl the public site the way a visitor would and build it at a private preview address. You get the link by email, usually the same day. 3. **Pick Freeze or Rebuild.** Freeze is a pixel-faithful copy of the site you have. Rebuild is a lean version of the same pages at the same URLs, with accessibility and schema checks built in and chat editing on top. 4. **Go live.** Point your domain at us from any registrar, or connect Cloudflare in one click. TLS is issued on demand. Your WordPress stays up for 14 days in case you want to go back. The long version, including what happens to forms, search, and comments, is on [How it works](https://wpexit.bitsource.us/how-it-works/). ## The numbers Measured on the home pages of 22 real sites run through WPExit, most of them in eastern Kentucky. Before is the site as it was on WordPress; after is the Rebuild. Weight and requests are what Chrome transferred to load the page. - Sites measured: 22 (fleet of 34) - Median home page weight: 5.6 MB before, 128 KB after (median reduction 98%) - Median requests to load the home page: 108.5 before, 3 after (median reduction 97%) - Sites with zero axe violations on sampled pages: 12 of 22 (55%) | Site | Before | After | Requests before | Requests after | Axe violations | |---|---|---|---|---|---| | sewsus.com | 13.8 MB | 158 KB | 67 | 6 | 6 | | bigsandy.org | 9.9 MB | 26 KB | 218 | 2 | 0 | | hazardky.gov | 8.5 MB | 23 KB | 94 | 2 | 0 | | svfdefense.com | 8.3 MB | 53 KB | 79 | 4 | 2 | | thepridedogfood.com | 8.2 MB | 432 KB | 132 | 6 | 3 | | reliableenergyinc.org | 8.1 MB | 388 KB | 158 | 4 | 6 | | wrightconcrete.com | 8.1 MB | 24 KB | 108 | 2 | 0 | | ekywater.com | 7.4 MB | 16 KB | 93 | 2 | 0 | | speakfromtheheart.org | 7.1 MB | 125 KB | 136 | 6 | 7 | | umgllc.net | 6.7 MB | 195 KB | 135 | 6 | 8 | | magoffincountyhealth.com | 5.6 MB | 236 KB | 127 | 2 | 0 | | pikecountyhealth.com | 5.5 MB | 41 KB | 127 | 3 | 0 | Every site, with a sentence on each, is on [Results](https://wpexit.bitsource.us/results/). Violations are axe-core findings on a sample of pages; 12 of 22 sites came through with none, and the rest are fixed in remediation before launch. ## Pricing Two monthly plans and a one-time migration fee sized by page count. No contract. - **Freeze**: $10/month. A pixel-faithful static copy of your site, hosted. The on-ramp and the safety net. Includes: Hosting with TLS on your domain; Same URLs and redirects; Forms keep working, with email notifications; Monthly re-crawl on request; Download your files any time. - **Rebuild + AI editor**: $25/month. The same pages, rebuilt lean. Edits by chat, approved by you. Includes: Everything in Freeze; Home page typically under 150 KB and under 10 requests; WCAG 2.2 AA checks and remediation on every build; schema.org, llms.txt, and a Markdown mirror of every page; AI-assisted editing: ask for a change in chat, approve it, undo it. - **One-time migration**: $149 for up to 50 pages; $349 for 51 to 250 pages; $699 for more than 250 pages. - The migration fee is one-time and covers the crawl, the build, the review, and going live. A page is a public URL that returns HTML; media files do not count. - No contract. Cancel from the portal and your files are yours to download. - Stores, memberships, courses, forums, and directories do not fit a static site. We tell you that at the preview stage, before you pay anything. ## Questions people ask first ### What breaks when the site goes static? Anything that ran PHP on each visit. Forms are the common one, and they keep working: we point them at our forms endpoint and email you each submission. Site search is replaced with a static index built at publish time, so it keeps working without a server. Comments become read-only; new comments are a server feature and we tell you up front if you depend on them. Stores, memberships, courses, forums, and directories do not fit; we flag those at the preview stage and you pay nothing. ### How do I make changes without WordPress? On the Rebuild plan you ask for the change in chat: fix a phone number, swap a photo, add a paragraph, post a notice. Low-risk text edits apply right away with an undo. Larger changes wait for your approval before they go live. Every change is versioned, so any version can be restored. On Freeze, you edit in WordPress as usual and ask for a re-crawl. ### What about my domain? You keep it, at any registrar. The portal walks you through a verification record, then an A or CNAME record. If your DNS is on Cloudflare, it is one click. TLS certificates are issued automatically when the first request arrives. ### What about email? WPExit does not host mailboxes, and your existing email is not affected by moving the website. The only mail we send is form notifications: each submission goes to the addresses your form plugin used, or ones you choose. You can add DNS records so those notifications come from your own domain. ### Can I go back? Yes. Your WordPress install is untouched and we recommend leaving it up for 14 days after you go live. Going back means pointing your DNS at it again. Every snapshot we build is also kept, and you can download the files at any time. ### Is this ADA compliant? We do not make legal claims about compliance, and you should be wary of anyone who does. What we do: every Rebuild runs WCAG 2.2 AA checks (axe-core) at build time, serious and critical issues block publishing, and we remediate what the checks find in the templates and content. The results page shows the measured violation count for each site. More on the [FAQ page](https://wpexit.bitsource.us/faq/). ## Try it with your URL Give us the address of a WordPress site you own. We crawl the public pages, build a preview, and email you a link to look at. No plugin needed for the preview; nothing changes on your site. POST https://app.bitsource.us/api/f/wpexit-try (application/x-www-form-urlencoded) with fields: url (url, required), email (email, required). Hidden fields: _wpexit_form=wpexit-try. Previews are private and expire after 14 days. We crawl only what the public can already see. --- # From WordPress to a static site, step by step URL: https://wpexit.bitsource.us/how-it-works/ Description: What the WPExit plugin sends, what the crawl does, how Freeze and Rebuild differ, and what happens to forms, search, comments, your domain, and edits after launch. Site: WPExit (Bit Source, Pikeville, Kentucky) Four steps, one afternoon. Nothing on your WordPress site is changed at any point; we read it and build beside it. ## The four steps 1. **Install the plugin.** A thin WordPress plugin inventories your site: plugins, forms, post types, menus. It sends nothing until you click Connect, and it never sends content, comments, or accounts. 2. **See your preview.** We crawl the public site the way a visitor would and build it at a private preview address. You get the link by email, usually the same day. 3. **Pick Freeze or Rebuild.** Freeze is a pixel-faithful copy of the site you have. Rebuild is a lean version of the same pages at the same URLs, with accessibility and schema checks built in and chat editing on top. 4. **Go live.** Point your domain at us from any registrar, or connect Cloudflare in one click. TLS is issued on demand. Your WordPress stays up for 14 days in case you want to go back. ## What the plugin sends The plugin is deliberately thin. It does nothing until an administrator clicks Connect. Then, on request, it sends an inventory: WordPress and PHP versions, the theme, the plugin list, public post type and taxonomy counts, menus, media count, form plugins and their notification addresses, shortcodes in use, and public URL counts. No post content, no comments, no accounts, no passwords. When we crawl, the plugin recognizes our signed requests and turns off caching, minification, lazy loading, the admin bar, and head noise so the copy is clean. It also hands the crawler a complete list of your public URLs and redirect rules, so no page is missed. The full disclosure is on the [plugin page](https://wpexit.bitsource.us/plugin/). ## What the crawl does Two passes. An HTTP pass fetches every URL on the manifest and every asset those pages reference. A browser pass renders each page in Chrome to catch what scripts added. The result is a snapshot: a signed archive of files that is the input to both Freeze and Rebuild. Along the way we score the site for compatibility. Forms, search, and galleries are fine. Stores, memberships, courses, forums, and directories are blockers; a site with one is quoted as a consult, and a site with three or more is declined at the preview stage with an explanation. ## Freeze and Rebuild **Freeze** serves the snapshot as-is: every page, every image, every stylesheet, at the same URL. It looks exactly like your site because it is your site, minus PHP. It is ready in minutes and it is the safety net under everything else. **Rebuild** uses the snapshot and the structured export to regenerate the same pages as a lean Astro site: system fonts, inlined CSS, responsive images, no builder scripts. Same URLs, same redirects. On the 22 sites measured so far the median home page went from 5.6 MB to 128 KB and from 108.5 requests to 3. Every Rebuild passes through build-time gates before it can be published: weight budgets, URL and redirect preservation, WCAG 2.2 AA checks with remediation, schema.org markup, an llms.txt index, a Markdown mirror of every page, and a machine-readable manifest. This marketing site is built the same way; append `index.md` to any URL here. ## Forms, search, comments - **Forms** keep their fields and their look. Submissions post to our endpoint, are stored in your portal, and are emailed to the addresses your form plugin used. - **Search** is rebuilt as a static index generated at publish time. It works without a server and without sending queries anywhere. - **Comments** are preserved as published text. New comments need a server; if they matter to your site, we say so at the preview stage. - **Redirects** from your WordPress install and from redirect plugins are carried over, so old links keep landing. ## Going live You approve the preview and pay from the portal. The portal then asks you for one DNS record to prove you control the domain, then an A or CNAME record (or a one-click Cloudflare connection). Certificates are issued on demand when the first request arrives. Your WordPress host is untouched; keep it up for 14 days, then cancel it. ## Editing after launch On Rebuild, changes happen in chat. Describe what you want: a new phone number, a replaced photo, a notice on the home page, a new page for a service. Low-risk text edits apply immediately with an undo. Anything larger is shown to you first and waits for approval. Structural changes, like a new section type, are escalated to a person. Every published version is kept and can be restored. On Freeze, you keep editing in WordPress and ask for a re-crawl when you are ready; the new snapshot replaces the old one in one step. [Try it with your URL](https://wpexit.bitsource.us/#try) · [See pricing](https://wpexit.bitsource.us/pricing/) --- # Two plans, one migration fee, no contract URL: https://wpexit.bitsource.us/pricing/ Description: WPExit pricing: Freeze hosting $10 a month, Rebuild with AI editor $25 a month, and a one-time migration of $149, $349, or $699 by page count. Site: WPExit (Bit Source, Pikeville, Kentucky) The monthly plan pays for hosting and, on Rebuild, for the editor. The migration fee pays for the work of moving: crawl, build, review, launch. ## Plans - **Freeze**: $10/month. A pixel-faithful static copy of your site, hosted. The on-ramp and the safety net. Includes: Hosting with TLS on your domain; Same URLs and redirects; Forms keep working, with email notifications; Monthly re-crawl on request; Download your files any time. - **Rebuild + AI editor**: $25/month. The same pages, rebuilt lean. Edits by chat, approved by you. Includes: Everything in Freeze; Home page typically under 150 KB and under 10 requests; WCAG 2.2 AA checks and remediation on every build; schema.org, llms.txt, and a Markdown mirror of every page; AI-assisted editing: ask for a change in chat, approve it, undo it. - **One-time migration**: $149 for up to 50 pages; $349 for 51 to 250 pages; $699 for more than 250 pages. - The migration fee is one-time and covers the crawl, the build, the review, and going live. A page is a public URL that returns HTML; media files do not count. - No contract. Cancel from the portal and your files are yours to download. - Stores, memberships, courses, forums, and directories do not fit a static site. We tell you that at the preview stage, before you pay anything. ## What is included in both plans - Hosting on your own domain with automatic TLS and HTTP/3 - Every URL and redirect preserved - Forms kept working, with submissions stored in your portal and emailed to you - A preview address for every build before it goes live - The previous version kept, one click to restore - Your files, downloadable at any time ## Sites that do not fit Stores, memberships, courses, forums, directories, and anything else that needs a database on every visit. The compatibility score tells us at the preview stage, and we tell you. For some of these a structured export into a modern stack is possible as a consulting project; ask on the form below. ## Agencies Running several sites? The [agencies page](https://wpexit.bitsource.us/for-agencies/) covers how a portfolio works and who holds approval for changes. ## Talk to a person Questions about a specific site, an agency arrangement, or something that does not fit the pricing page? Write to us. We are a small team in Pikeville, Kentucky and we answer. POST https://app.bitsource.us/api/f/wpexit-contact (application/x-www-form-urlencoded) with fields: name (text, required), email (email, required), phone (tel), website (url), message (textarea, required). Hidden fields: _wpexit_form=wpexit-contact. We reply by email, usually within one business day. --- # 22 sites measured, before and after URL: https://wpexit.bitsource.us/results/ Description: Before-and-after home page weight, request count, and accessibility results for 22 real WordPress sites moved to static with WPExit. Median 5.6 MB to 128 KB. Site: WPExit (Bit Source, Pikeville, Kentucky) A fleet of 33 Kentucky organizations' sites, plus one staging copy, is our proving ground. These are the numbers for every site that has finished a Rebuild. They update whenever the fleet runs again. - Sites measured: 22 (fleet of 34) - Median home page weight: 5.6 MB before, 128 KB after (median reduction 98%) - Median requests to load the home page: 108.5 before, 3 after (median reduction 97%) - Sites with zero axe violations on sampled pages: 12 of 22 (55%) ## How we measure Each home page is loaded in headless Chrome at 1440×900 with a fresh profile and the network idle. Before is the Freeze snapshot of the original WordPress page served from our host, so both sides are measured the same way. Weight is encoded transfer size; requests are every network request the page made. Accessibility is the count of axe-core violations (WCAG 2.2 A/AA plus best practices) across a sample of pages from the Rebuild. ## Every measured site | Site | Before | After | Requests before | Requests after | Axe violations | |---|---|---|---|---|---| | sewsus.com | 13.8 MB | 158 KB | 67 | 6 | 6 | | bigsandy.org | 9.9 MB | 26 KB | 218 | 2 | 0 | | hazardky.gov | 8.5 MB | 23 KB | 94 | 2 | 0 | | svfdefense.com | 8.3 MB | 53 KB | 79 | 4 | 2 | | thepridedogfood.com | 8.2 MB | 432 KB | 132 | 6 | 3 | | reliableenergyinc.org | 8.1 MB | 388 KB | 158 | 4 | 6 | | wrightconcrete.com | 8.1 MB | 24 KB | 108 | 2 | 0 | | ekywater.com | 7.4 MB | 16 KB | 93 | 2 | 0 | | speakfromtheheart.org | 7.1 MB | 125 KB | 136 | 6 | 7 | | umgllc.net | 6.7 MB | 195 KB | 135 | 6 | 8 | | magoffincountyhealth.com | 5.6 MB | 236 KB | 127 | 2 | 0 | | pikecountyhealth.com | 5.5 MB | 41 KB | 127 | 3 | 0 | | fchdky.org | 5.0 MB | 216 KB | 109 | 3 | 0 | | kentuckycoal.com | 4.7 MB | 143 KB | 108 | 4 | 3 | | courtbar.org | 4.7 MB | 28 KB | 113 | 3 | 0 | | jigsawky.com | 4.7 MB | 152 KB | 101 | 3 | 0 | | coalrunky.gov | 4.4 MB | 154 KB | 117 | 7 | 7 | | pikevillesprayfoam.com | 4.4 MB | 24 KB | 96 | 2 | 0 | | benhaminn.com | 4.0 MB | 631 KB | 91 | 6 | 3 | | 29465f7b18.nxcli.io | 4.0 MB | 131 KB | 121 | 3 | 0 | | pikevillepanthersalumni.com | 2.0 MB | 31 KB | 53 | 3 | 0 | | mtcomp.org | 1.6 MB | 16 KB | 66 | 2 | 4 | ## Site by site - **sewsus.com**: 87 pages. Home page went from 13.8 MB and 67 requests to 158 KB and 6 requests, 98.9% smaller. 6 axe violations on the sampled pages, queued for remediation. - **bigsandy.org**: 29 pages. Home page went from 9.9 MB and 218 requests to 26 KB and 2 requests, 99.7% smaller. Zero axe violations on the sampled pages. - **hazardky.gov**: 23 pages. Home page went from 8.5 MB and 94 requests to 23 KB and 2 requests, 99.7% smaller. Zero axe violations on the sampled pages. - **svfdefense.com**: 8 pages. Home page went from 8.3 MB and 79 requests to 53 KB and 4 requests, 99.4% smaller. 2 axe violations on the sampled pages, queued for remediation. - **thepridedogfood.com**: 19 pages. Home page went from 8.2 MB and 132 requests to 432 KB and 6 requests, 94.8% smaller. 3 axe violations on the sampled pages, queued for remediation. - **reliableenergyinc.org**: 76 pages. Home page went from 8.1 MB and 158 requests to 388 KB and 4 requests, 95.2% smaller. 6 axe violations on the sampled pages, queued for remediation. - **wrightconcrete.com**: 26 pages. Home page went from 8.1 MB and 108 requests to 24 KB and 2 requests, 99.7% smaller. Zero axe violations on the sampled pages. - **ekywater.com**: 21 pages. Home page went from 7.4 MB and 93 requests to 16 KB and 2 requests, 99.8% smaller. Zero axe violations on the sampled pages. - **speakfromtheheart.org**: 7 pages. Home page went from 7.1 MB and 136 requests to 125 KB and 6 requests, 98.3% smaller. 7 axe violations on the sampled pages, queued for remediation. - **umgllc.net**: 39 pages. Home page went from 6.7 MB and 135 requests to 195 KB and 6 requests, 97.1% smaller. 8 axe violations on the sampled pages, queued for remediation. - **magoffincountyhealth.com**: 128 pages. Home page went from 5.6 MB and 127 requests to 236 KB and 2 requests, 95.8% smaller. Zero axe violations on the sampled pages. - **pikecountyhealth.com**: 49 pages. Home page went from 5.5 MB and 127 requests to 41 KB and 3 requests, 99.3% smaller. Zero axe violations on the sampled pages. - **fchdky.org**: 326 pages. Home page went from 5.0 MB and 109 requests to 216 KB and 3 requests, 95.7% smaller. Zero axe violations on the sampled pages. - **kentuckycoal.com**: 121 pages. Home page went from 4.7 MB and 108 requests to 143 KB and 4 requests, 97.0% smaller. 3 axe violations on the sampled pages, queued for remediation. - **courtbar.org**: 16 pages. Home page went from 4.7 MB and 113 requests to 28 KB and 3 requests, 99.4% smaller. Zero axe violations on the sampled pages. - **jigsawky.com**: 762 pages. Home page went from 4.7 MB and 101 requests to 152 KB and 3 requests, 96.7% smaller. Zero axe violations on the sampled pages. - **coalrunky.gov**: 58 pages. Home page went from 4.4 MB and 117 requests to 154 KB and 7 requests, 96.5% smaller. 7 axe violations on the sampled pages, queued for remediation. - **pikevillesprayfoam.com**: 57 pages. Home page went from 4.4 MB and 96 requests to 24 KB and 2 requests, 99.4% smaller. Zero axe violations on the sampled pages. - **benhaminn.com**: 30 pages. Home page went from 4.0 MB and 91 requests to 631 KB and 6 requests, 84.2% smaller. 3 axe violations on the sampled pages, queued for remediation. - **29465f7b18.nxcli.io**: 93 pages. Home page went from 4.0 MB and 121 requests to 131 KB and 3 requests, 96.7% smaller. Zero axe violations on the sampled pages. - **pikevillepanthersalumni.com**: 15 pages. Home page went from 2.0 MB and 53 requests to 31 KB and 3 requests, 98.5% smaller. Zero axe violations on the sampled pages. - **mtcomp.org**: 91 pages. Home page went from 1.6 MB and 66 requests to 16 KB and 2 requests, 99.0% smaller. 4 axe violations on the sampled pages, queued for remediation. ## In the queue Sites in the fleet that have been inventoried but not yet measured, or whose Rebuild is still running. - dpsmobility.us: Rebuild running, 417 pages - friendsofcoalkentucky.org: Queued - hopeinthemountains.org: Crawling - inappalachia.com: Crawling - kydistrict6740.org: Queued - maybrotherslumber.com: Preview, not yet measured, 11 pages - mtnsportshof.com: Queued - peopleplusinc.com: Queued - pikecountykyhistoricalsociety.com: Queued - prestonsburgky.org: Crawling - rentpikeville.com: Queued - visitpikeville.com: Queued [Try it with your URL](https://wpexit.bitsource.us/#try) --- # Nothing to patch, nothing to log in to URL: https://wpexit.bitsource.us/security/ Description: Why a static site is safer than WordPress: no PHP, no admin login, no plugin CVEs, no database. What WPExit stores, how TLS works, and what the plugin sends. Site: WPExit (Bit Source, Pikeville, Kentucky) Most WordPress compromises arrive through a plugin vulnerability, a weak admin password, or an unpatched PHP install. A static site has none of those surfaces. ## Why static - **No PHP.** The host runs a file server. There is no interpreter to exploit and no code that runs per request. - **No admin login.** There is no `/wp-admin`, no `/wp-login.php`, no `xmlrpc.php`. Requests for them are answered 410 Gone without touching disk, and repeat offenders are banned at the firewall. - **No plugin CVEs.** The plugins are gone with the PHP. There is nothing to update on a Tuesday night and nothing to fall behind on. - **No database.** Your content is files. There is no SQL to inject and no user table to dump. - **Strict headers.** `X-Content-Type-Options: nosniff`, `Referrer-Policy: strict-origin-when-cross-origin`, HSTS on the app, and no server banner. ## TLS and the edge Certificates are issued on demand by Caddy when the first request for your hostname arrives, after our control plane confirms the domain belongs to a customer. Renewal is automatic. HTTP/1.1, HTTP/2, and HTTP/3 are all served. We do not put a third-party CDN between you and your visitors unless you choose Cloudflare in front of us. ## What we store - Snapshot archives of your public site (the crawl) and the built outputs, in object storage with checksums, so any version can be restored. - The plugin inventory: versions, plugin names, counts, form notification addresses. No post content beyond what is public, no comments, no accounts. - Form submissions, in your portal, until you delete them. - Your account email and billing through Stripe. We never see card numbers. - Access logs on the host, rotated after seven days, used for abuse blocking. ## What the plugin sends Nothing until an administrator clicks Connect, and then only to the control plane shown on its settings page. The crawl authenticates with a per-site secret so caching plugins are bypassed. Disconnecting deletes the pairing credentials; uninstalling removes every option the plugin stored. The complete disclosure, in the plugin's own words, is on the [plugin page](https://wpexit.bitsource.us/plugin/). ## What about the WordPress site itself? Once your domain points at us, your WordPress install is no longer reachable at that name. We suggest leaving it up for 14 days as a fallback, then cancelling the hosting. If you keep it running for editing on the Freeze plan, put it behind a private hostname and HTTP authentication; we will help you set that up. ## Reporting a problem If you find a security issue on a WPExit-hosted site or on this one, use the contact form on the [pricing page](https://wpexit.bitsource.us/pricing/) and mark it urgent. We respond within one business day. --- # Questions and straight answers URL: https://wpexit.bitsource.us/faq/ Description: What breaks when a WordPress site goes static, how edits work by chat, domains, email, going back, WCAG checks, timing, page counts, the plugin, and hosting. Site: WPExit (Bit Source, Pikeville, Kentucky) Everything we get asked before someone signs up, in one place. The short versions of the first six are on the home page. ## All questions ### What breaks when the site goes static? Anything that ran PHP on each visit. Forms are the common one, and they keep working: we point them at our forms endpoint and email you each submission. Site search is replaced with a static index built at publish time, so it keeps working without a server. Comments become read-only; new comments are a server feature and we tell you up front if you depend on them. Stores, memberships, courses, forums, and directories do not fit; we flag those at the preview stage and you pay nothing. ### How do I make changes without WordPress? On the Rebuild plan you ask for the change in chat: fix a phone number, swap a photo, add a paragraph, post a notice. Low-risk text edits apply right away with an undo. Larger changes wait for your approval before they go live. Every change is versioned, so any version can be restored. On Freeze, you edit in WordPress as usual and ask for a re-crawl. ### What about my domain? You keep it, at any registrar. The portal walks you through a verification record, then an A or CNAME record. If your DNS is on Cloudflare, it is one click. TLS certificates are issued automatically when the first request arrives. ### What about email? WPExit does not host mailboxes, and your existing email is not affected by moving the website. The only mail we send is form notifications: each submission goes to the addresses your form plugin used, or ones you choose. You can add DNS records so those notifications come from your own domain. ### Can I go back? Yes. Your WordPress install is untouched and we recommend leaving it up for 14 days after you go live. Going back means pointing your DNS at it again. Every snapshot we build is also kept, and you can download the files at any time. ### Is this ADA compliant? We do not make legal claims about compliance, and you should be wary of anyone who does. What we do: every Rebuild runs WCAG 2.2 AA checks (axe-core) at build time, serious and critical issues block publishing, and we remediate what the checks find in the templates and content. The results page shows the measured violation count for each site. ### How long does it take? A preview is usually ready the same day. Going live takes as long as your DNS change: minutes on Cloudflare, up to a day elsewhere. ### What counts as a page? A public URL that returns HTML: pages, posts, category and tag archives, and so on. Images, PDFs, and other files do not count. The plugin's inventory tells you the number before you choose a migration tier. ### Do I have to install the plugin? Not for the preview; we crawl what the public can see. For the migration itself, yes. The plugin gives the crawler a complete list of your URLs and redirects, lets it bypass caching so the copy is clean, and tells us which forms notify which addresses. It sends nothing until you click Connect. ### Where is the site hosted? On servers we run in a US data center, behind Caddy with HTTP/3 and automatic TLS. There is no PHP, no database, and no admin login on the host. The security page lists exactly what we store. ### Freeze or Rebuild: which should I pick? Freeze if you want the site exactly as it looks today and you still edit in WordPress. Rebuild if you want the speed and accessibility numbers on the results page, and you would rather make changes by chat than keep a WordPress install around. You can start with Freeze and move to Rebuild later; both are built from the same crawl. Something not covered? Use the form on the [pricing page](https://wpexit.bitsource.us/pricing/). --- # Run your clients' sites through it URL: https://wpexit.bitsource.us/for-agencies/ Description: WPExit for agencies and freelancers: move a portfolio of WordPress sites to static hosting with measured results, volume pricing, and a portal per client. Proven on a fleet of 33 Kentucky sites. Site: WPExit (Bit Source, Pikeville, Kentucky) If you maintain a dozen brochure sites for local clients, you spend your Tuesday nights on plugin updates and your weekends on the one that got hacked. We built WPExit for exactly that portfolio. ## The proving ground Before we offered this to anyone, we ran a fleet of 33 Kentucky organizations' sites through it: city and county governments, health departments, nonprofits, small manufacturers, a water company. 22 have finished a Rebuild so far. Median home page: 5.6 MB to 128 KB, 108.5 requests to 3. The hostnames and the per-site numbers are on the [results page](https://wpexit.bitsource.us/results/). ## How it works for a portfolio - Install the plugin on each site; the inventory tells you the page count and the compatibility score before anyone commits. - Previews are built in batch. Review them side by side with the originals. - Each client gets a portal scoped to their site: preview, go-live, domain, form submissions, and the change chat. You can hold the login or hand it over. - Pricing is the same ladder as for a single site, and you choose whether to pass it through or bundle it into your retainer. - Change requests your clients would have sent you go to the chat instead. You see every proposed change and can keep approval for yourself. ## What we need from you A list of the sites, admin access to install the plugin or someone who has it, and a decision on who holds approval for changes. Everything else is self-serve. [Talk to us about a portfolio](https://wpexit.bitsource.us/pricing/#form-marketing) · [See results](https://wpexit.bitsource.us/results/) --- # The plugin: thin by design URL: https://wpexit.bitsource.us/plugin/ Description: Download the WPExit WordPress plugin, install it in four steps, and read exactly what it sends and when. Requires WordPress 5.9 or later and PHP 7.4 or later. GPLv2. Site: WPExit (Bit Source, Pikeville, Kentucky) The plugin inventories your site, pairs it with WPExit, and gives our crawler a clean read. It does nothing and contacts nobody until an administrator clicks Connect. [Download the plugin (zip)](https://app.bitsource.us/api/plugin/download) Requires WordPress 5.9 or later and PHP 7.4 or later. Licensed GPLv2 or later. Version 0.1.0. ## Install 1. Upload the `wpexit` folder to `/wp-content/plugins/`, or install the zip from the Plugins screen. 2. Activate the plugin. 3. Go to **Settings, WPExit**, copy the pairing code into the WPExit app, then click **Pair now**. 4. Click **Run inventory now**, review the summary, then **Send to WPExit**. ## What it does - **Inventory.** Counts plugins, themes, post types, taxonomies, media, menus, users, comments, shortcodes, forms, and a handful of dynamic-behaviour signals. Nothing is sent until you click Send. - **Pairing.** A one-time code links the site to your WPExit account. - **Manifest.** A paginated list of every public URL and redirect rule, so the crawler never misses a page. - **Content export.** Rendered and raw post content, menus, and a safe allowlist of options such as the site title. - **Crawler mode.** When a request is signed by WPExit, caching, minification, lazy loading, the admin bar, and head noise are disabled so the crawl is clean. All crawler-facing endpoints require an HMAC signature derived from a per-site secret issued at pairing time. The secret is stored in `wp_options` and never printed anywhere. On normal front-end requests the plugin only checks for two request headers; it does not slow your site down. ## Privacy and external services This plugin does nothing and contacts nobody until an administrator clicks **Connect to WPExit**. After that it communicates only with the WPExit control plane shown on its settings page. What is sent, and when: - **On connect:** the site URL, the pairing code, the plugin version, and the administrator's email address and site name, so WPExit can create the owner's portal account and email a sign-in link. - **When you send an inventory:** WordPress and PHP versions, the active theme, the list of installed plugins and whether each is active, public post type and taxonomy counts, menu names, media count, form plugin names and their notification addresses, shortcodes in use, whether search or private posts exist, custom database table names, and public URL counts. No post content, no comments, no user accounts or passwords. - **When WPExit crawls your site after pairing:** it requests your public pages like any visitor, authenticated with a per-site secret so caching plugins are bypassed. On request it can also read a structured export of published posts and pages (the same content any visitor can see), your menus, and a small allowlist of options. Nothing is sent on a schedule and nothing is sent to anyone other than the control plane you connected to. Disconnecting deletes the pairing credentials from your site. Uninstalling removes every `wpexit_*` option and the plugin's transients. ## Next Once the inventory is in, the app shows your compatibility score and page count and starts the preview. [How it works](https://wpexit.bitsource.us/how-it-works/) covers the rest. ---