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 93%. 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
861 KB → 56 KB
-93% · 15× 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. 15× 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 page-weight and PageSpeed rows below were re-run on 2026-04-30 against the preserved WordPress mirror at legacy.ad-apt.com — same content, same hosting, same Divi build — and the live edge homepage, with identical methodology on both sides.

Metric WordPress era
legacy.ad-apt.com
Cloudflare edge
ad-apt.com
Delta
Page weight (live homepage, captured 2026-04-30)
HTML payload, before any image/font/script881,830 B (861 KB)57,682 B (56 KB)-93%
Script tags1217-94%
Stylesheet tags372-95%
Generator tagWordPress 6.5none
WP/Divi signatures (wp-content, et_pb_, divi)3,9660-100%
TTFB (avg of 3 cold curls from US)3,725 ms109 ms34× faster
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 (apples-to-apples, both runs 2026-04-30)
Performance score (mobile)22 / 10092 / 100+70
Performance score (desktop)56 / 10099 / 100+43
First Contentful Paint (mobile)3.6 s2.4 s-1.2 s
Largest Contentful Paint (mobile)33.3 s2.8 s-30.5 s
Total Blocking Time (mobile)7,110 ms20 ms-99.7%
Speed Index (mobile)25.1 s3.1 s-88%
Cumulative Layout Shift0.1490perfect
First Contentful Paint (desktop)0.8 s0.5 s-0.3 s
Largest Contentful Paint (desktop)1.1 s0.8 s-0.3 s
Total Blocking Time (desktop)1,530 ms60 ms-96%
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,
15× lighter.

Before · WordPress 6.5 + Divi
861 KB
2026-04-30 (legacy mirror)
The pre-migration ad-apt.com homepage, served live from the WordPress + Divi mirror at legacy.ad-apt.com
After · Cloudflare edge
56 KB
2026-04-30 (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