Self case study · WordPress → Cloudflare edge · 48-hour cutover
From the workbench

From WordPress
to the edge —
and the audit that
proves it worked.

We migrated our own site. Then we ran the audit.

On April 25, 2026, ad-apt.com flipped from WordPress + Divi on shared hosting to vanilla HTML served from Cloudflare's edge. 48 hours later we ran the audit. Page weight dropped 94%. Semrush Site Quality went up 18 points. AI Search Score went up 16 points. Below: the live scoreboard, the full audit data, and a free migration audit for any site you want to put through the same process.

Homepage HTML
855 KB → 54 KB
-94% · 16× lighter
Asset requests
154 → 8
-95% · 19× fewer
Site Quality (Semrush)
70 → 88
+18 points
AI Search Score
75 → 91
+16 points

The hard part wasn't the migration. It was deciding to audit ourselves first.

Before we'd ship a migration to a client, we wanted to ship one to ourselves. The old ad-apt.com ran on WordPress with the Divi page builder, on Google Cloud, behind a WAF — fast enough for visitors, but a parser hell for AI crawlers and a maintenance treadmill of plugin updates and security patches.

Migration day was April 25, 2026. The new site is vanilla static HTML — no React, no Next, no build step — generated by our internal Onit pipeline and deployed to Cloudflare Pages. Same content. Same client list. Same trust signals. 16× less HTML and 19× fewer assets.

The audit below is the part that mattered. Anyone can claim "we made our site faster." We wanted Semrush, Google PageSpeed, and Wayback to corroborate it — before the new site had had a single day to settle. The numbers are 48 hours apart, captured automatically by the same audit pipeline we run for clients.

The audit

What Semrush, PageSpeed,
and the wire saw in 48 hours.

Semrush re-crawled both sites — the last full WordPress audit was 2026-04-24, the first post-migration audit was 2026-04-26. The two snapshots below come from those crawls, plus a live curl against the homepage.

Metric WordPress era Cloudflare edge Delta
Page weight (live homepage)
HTML payload, before any image/font/script875,838 B (855 KB binary)55,272 B (54 KB binary)-94%
Script tags1185-96%
Stylesheet tags363-92%
Generator tagWordPress 6.5none
WP/Divi signatures (wp-content, et_pb_, divi)1,0530clean
TTFB (live curl from US)measured pre-cutover172 msedge
Semrush Site Audit (project 8539255)
Site Quality Score7088+18
AI Search Score7591+16
Pages crawled500 (cap hit)307leaner
HTTP 4xx errors42-50%
Google PageSpeed Insights (live, mobile profile)
Performance score (mobile)not captured pre-cutover89 / 100live
Performance score (desktop)not captured pre-cutover86 / 100live
Largest Contentful Paint (mobile)3.0 sgood
Total Blocking Time (mobile)80 msexcellent
Cumulative Layout Shift0perfect
Notable issue counts (Semrush issue IDs)
Issue 110 — warning16,0370-16,037
Issue 217 — notice20,4830-20,483
Issue 135 — warning4,356312-93%
Issue 8 — error441156-65%
Issue 12 — warning7600-100%
Issue 111 — error790-100%
Total issue instances cleaned across the crawl207,000+resolved
Side by side

The same homepage,
16× lighter.

Before · WordPress 6.5 + Divi
855 KB
2026-03-08
After · Cloudflare edge
54 KB
2026-04-26 (live)
Live scoreboard

Day N post-migration.
The numbers are still moving.

Refreshed every Monday by an automated job that pulls Semrush organic data, Site Audit Quality + AI Search scores, and our internal AEO citation tracker. The story isn't "we made it fast" — it's whether the visibility curve actually compounds.

Authority Score
loading
Organic keywords
loading
AEO citations
loading
AI assistant sessions
loading
Sources: Semrush · GA4 (G-69PH0SEFBL) · internal AEO probe Refreshed: —
The four-step process

How the migration
actually ran.

Read WordPress

Custom WP plugin (onit-migrator) exposes a private REST API. Pages, posts, media, theme settings, and Ninja Forms metadata flow out as structured JSON — including Divi shortcode-rendered HTML via apply_filters.

Plan with AI

Our internal strategist agent reads the WP manifest, our positioning brief, and the live competitive set. It outputs a sitemap, an outcome map, and per-page content briefs. Humans review every brief before generation.

Generate clean HTML

The website-builder agent emits self-contained static HTML — no frameworks, no build step, design system inlined. Each generated page is committed to git with a versioned revision so we can roll back any single page independently.

Cutover at the edge

Deploy to Cloudflare Pages with _redirects mapping every legacy WP URL to its outcome-based equivalent. DNS flip is a single TTL away. Form handler stays on a Worker. Total downtime: zero.

Free tool · No login · Under 10 min

Run the same audit
on your site.

Paste your URL. We'll run the page-weight scan, hit Google PageSpeed Insights, pull your Semrush domain stats, and email you a report comparing your numbers to ad-apt.com's pre-and-post-migration baseline.

More work

Other case studies.

Circle K Netflix TGR Mint