AM Surveying & Block Management

Website & DNS Architecture — Handover

Prepared for the incoming IT consultant · Migration completed 4 August 2026 · Domain: amsbm.co.uk

In one line: the website and all fire-door quotes now run on Cloudflare (Pages + serverless Functions); DNS is on Cloudflare; the domain is registered at 123-reg; email stays on Microsoft 365. Wix is no longer in the path for the domain, DNS, website or email.

1. What changed (Wix → new stack)

FunctionBeforeNow
Website hostingWixCloudflare Pages (static + serverless Functions)
DNS / nameserversWix (ns8/ns9.wixdns.net)Cloudflare (jake / poppy.ns.cloudflare.com)
Domain registrarWix123-reg
Fire-door quotes & paymentsWix (Velo + Wix payments)Cloudflare Pages (static quotes + serverless Stripe checkout)
EmailMicrosoft 365 (unchanged)Microsoft 365 (unchanged)

The migration was done with no downtime: DNS records were pre-staged identically on Cloudflare, so the nameserver cutover was a seamless overlap.

2. Domain & registrar

Domain
amsbm.co.uk
Registrar
123-reg (transferred from Wix via Nominet IPS-tag 123-REG)
Renews
29 July 2028
Nameservers
jake.ns.cloudflare.com   poppy.ns.cloudflare.com

Registrar login is the 123-reg account (also holds amsbm-docs.co.uk). Nameservers must remain the two Cloudflare ones — do not change them or DNS breaks.

3. DNS — managed in Cloudflare

Provider
Cloudflare (Free plan)
Account
[email protected] · account ID 0ece22403c49af193e70f60ceae4e751
Zone
amsbm.co.uk · zone ID 559e7a74f5a55f1c9a394be5a9f67a51
Manage at
dash.cloudflare.com → amsbm.co.uk → DNS

Website records (proxied — orange cloud)

TypeNameValuePurpose
CNAMEwwwamsbm.pages.devPrimary website (Cloudflare Pages)
CNAMEamsbm.co.uk (apex)amsbm.pages.devBare domain → 301 redirect to www

Email & Microsoft records (DNS-only — grey cloud) — do not proxy

TypeNameValue
MXamsbm.co.ukamsbm-co-uk.mail.protection.outlook.com (pri 10)
TXT (SPF)amsbm.co.ukv=spf1 include:spf.protection.outlook.com -all
TXTamsbm.co.ukMS=ms26803028 (M365 domain verification)
TXT_dmarcDMARC policy
CNAMEautodiscoverautodiscover.outlook.com
CNAMEselector1 / selector2 ._domainkeyM365 DKIM (…onmicrosoft.com)
CNAMEmsoid / enterpriseenrollment / enterpriseregistrationM365 / Intune endpoints
CNAME / SRVlyncdiscover / sip / _sip._tls / _sipfederationtls._tcpTeams / Skype for Business
TXTamsbm.co.ukgoogle-site-verification=… (Search Console)

Other records

TypeNameValue
Amake-a-payment79.170.44.218external service
Aquickquote79.170.44.218external service
Abeta91.212.182.95external service
CNAMEs1/s2/sel1/sel2 ._domainkey, sg, en, mWix (Ascend/legacy)retire-able

The Wix-legacy records (last row) relate to old Wix email/marketing and can be removed once confirmed unused.

4. Website hosting — Cloudflare Pages

Pages project
amsbm (default URL amsbm.pages.dev)
Custom domains
www.amsbm.co.uk (primary) & amsbm.co.uk (apex, redirects to www)
Source files
\\amssrv01\c$\AM Apps\site-preview (on the office server)
Deploy tool
Wrangler (Cloudflare CLI), run from the office server (Node 20 installed)

The site is a static build (hand-maintained HTML/CSS/assets) plus a set of Pages Functions (serverless code running on Cloudflare's edge):

FunctionRole
functions/_middleware.js301-redirects the bare apex to www
functions/q/[[path]].js, functions/qc/[[path]].jsServe fire-door quote pages; normalise any legacy quote URL (incl. old %2F/dotted refs) to a clean slug
functions/api/checkout.jsCreates the Stripe Checkout session for a quote
functions/api/confirm.jsVerifies the paid session, sends the customer receipt + internal alert emails, de-duplicates

Deploying a website update

Edit files under site-preview, then from that folder run:

wrangler pages deploy . --project-name amsbm --branch production

Must be run from inside site-preview so the Functions compile. Requires env vars CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID. A scoped API token is held securely on the server for deployments (ask Matt for its current location). Recommend rotating it and keeping it in your own secrets manager.

5. Fire-door quote system

6. Secrets & env vars

Payment/email secrets live as encrypted environment variables on the Cloudflare Pages project (Settings → Variables): the Stripe secret key and the Microsoft Graph tenant/client/secret + sender config. They are also mirrored in a protected .env.local file on the server. No secrets are stored in the website source.

7. The office server (amssrv01)

Windows Server 2012 R2. It is no longer required to serve the public website or take payments (those are fully on Cloudflare). Its remaining roles:

8. Redirects, SEO & email flows

9. Access the consultant will need

SystemWhat / where
CloudflareAccount [email protected] — DNS, Pages, SSL, the API token
123-regRegistrar account — domain renewal & nameservers
StripeAM's live account — fire-door payments
Microsoft 365Email/DNS records source of truth; firedoors@ send-as; Graph app registration
Office serveramssrv01 — site source, deploy origin, WebServe app
Still in transition (one item): the Wix subscription is being kept alive only for the fire-door quote follow-up/reminder emails (its Velo scheduler). This is being replaced by a new in-house module; once that's live, the Wix subscription can be cancelled and Wix is fully gone. Everything else has already left Wix.
Recommended housekeeping: rotate the Cloudflare API token used for deployments and move it into your own secrets management; optionally add a proper Cloudflare Redirect Rule for apex→www (currently handled by a Pages Function).