I moved my own site, rizqiakbar.com, from WordPress on shared hosting to EmDash, an open-source CMS that runs on Cloudflare Workers. The redesign was the visible part. This page is about the move itself: keeping every indexed URL, both languages, and the email on the domain while the site changed underneath.
At a Glance
- PageSpeed Insights: 99 on mobile, 100 on desktop, up from the 70s
- 52 sitemap URLs, all returning 200 with their own canonical
- 0 broken internal links after the move
Why EmDash
Three findings outside this project made the case. Patchstack's data, cited by Cloudflare, puts 96% of WordPress security issues in plugins, and EmDash runs each plugin in its own sandbox. The Core Web Vitals Technology Report shows 67% of Astro sites passing Core Web Vitals, against about 49% on WordPress. And Cloudflare moved its own blog to EmDash before I moved mine.
The risks were real too. EmDash reached 1.0 only in September 2026, and WordPress HTML does not map onto its Portable Text format. Conversion scripts and a word-level loss check on every page covered the second.
Scope of Work
- Content inventory: 353 archived uploads, 64 entries, 31 SEO records
- A content model of 15 section types in place of Elementor layouts
- Indonesian versions of 4 pages, 18 projects and 3 testimonials, paired with hreflang
- 30 redirect rules for old URLs, with 410 Gone for theme demo pages
- A DNS move to Cloudflare that kept mail on the old host
- Search Console cleanup, URL by URL
Challenge
The free Workers plan allows 10 ms of CPU per request, and about 5% of uncached renders failed. The edge cache that fixed it had problems of its own: a page rendered for a signed-in editor was stored and served to visitors, and pages were stored by path alone, so a cached redirect could have sent the domain to itself. On the DNS side, the mail records pointed at the website's root domain, so moving the site would have moved email with it.
Approach
Every fix came from testing live behaviour: response headers, cache status, and repeated uncached requests. Only anonymous pages are cached now, and redirects never are. Before the nameservers changed, every record was checked against Cloudflare's assigned nameservers, which caught a missing subdomain and confirmed the DKIM key byte for byte.
Result
The site is live on rizqiakbar.com in English and Indonesian, on Cloudflare's free plan, with email untouched. PageSpeed Insights scores the home page 99 on mobile and 100 on desktop, up from the 70s on WordPress.
Tools: Astro, EmDash, Cloudflare Workers with D1, R2 and KV, Google Search Console, and Claude Code as a pair programmer.