WordPress to TanStack Start: the full-stack option we build on

The page you're reading is served by TanStack Start on Cloudflare Workers. Here's what a WordPress site becomes on our stack, what it costs to run, and when you should pick something more boring instead.

Updated 21 August 2026

Every article in this migration series has a disclosure buried somewhere. Here's ours, right at the top: the page you're reading is served by TanStack Start on Cloudflare Workers. We migrated pagecog.com.au onto it ourselves, off a Next.js and Prismic build that worked fine, and we've since shipped client sites on the same stack, including Salt State Swim and Property Thrive. So this isn't a survey piece where we read the docs and formed an opinion. This is the stack we chose with our own money and our own weekends.

That cuts both ways. We're biased, obviously. But we've also hit the sharp edges first-hand, and we'll tell you where they are, including the cases where the honest answer is "don't pick this one". If you're earlier in the decision, start with the full migration guide and the case for leaving WordPress at all, then come back.

What TanStack Start actually is

TanStack Start is a full-stack React framework built on top of TanStack Router, which has become the router serious React developers reach for when they're sick of stringly-typed links. The framework adds server-side rendering, streaming, and server functions, which are typed remote calls from your page code to code running on the server. Under it all sits Vite, the build tool most of the frontend world has standardised on.

The pitch, in one sentence: everything is typed, end to end. The route paths, the parameters in the URL, the data each page loads, the arguments a form submits to the server. Change the shape of one thing and every place that touches it fails the build until you fix it. Coming from WordPress, where a typo in a template fails silently in production three weeks later, this takes some getting used to. In a good way.

It hit its v1 release candidate in September 2025, with the API declared stable and feature-complete. InfoQ's coverage is a decent neutral summary if you'd rather not take our word for any of this.

Why we moved our own site onto it

Our old site was Next.js with Prismic as the CMS. Nothing was on fire. But two things kept nagging.

The first was hosting coupling. Next.js is developed by Vercel, and while you can host it elsewhere, the framework's best features have always worked best on Vercel's platform, and the pricing conversation gets less fun as traffic grows. TanStack Start takes the opposite position: it builds to standard outputs and deploys to more or less anything. Node, Bun, Netlify, Cloudflare, a $5 VPS if that's your thing. No single company owns the happy path. We deploy to Cloudflare Workers because we were consolidating everything onto Cloudflare anyway, and the framework didn't fight us about it.

The second was the typing. Next.js has TypeScript support; TanStack Start has TypeScript conviction. On the old site, a renamed page slug meant grepping for every link and hoping. On the new one, the router knows every route that exists, so a link to a page that's gone is a build error, not a 404 some customer finds in October. For an agency maintaining a dozen sites, that difference compounds. We write about broken links for a living, and we still shipped them on our own Next.js site. We haven't shipped one since the migration, not because we got smarter but because the compiler stopped letting us.

The Prismic content came across with a one-off import script that turned every document into an MDX file. That script took an afternoon. We've reused the pattern for WordPress exports since, pulling posts out through the REST API into markdown.

What your WordPress site turns into

This is the part that's hard to picture from inside WordPress, so here's the concrete before-and-after.

Your pages stop being rows in a MySQL database rendered through a theme, and become files in a folder. A route file per page, and your posts and service pages as MDX, which is markdown with the option of dropping in components when you need something richer than text. All of it in git, so every change to every page is tracked and can be rolled back. There is no database for content. There is nothing to back up beyond the repository itself.

Your contact forms stop being a plugin. On our sites a form is a server function: the visitor submits, typed code validates the fields, checks the spam signals, and sends us the enquiry email. About sixty lines, no Contact Form 7, no WPForms licence, no plugin update that breaks it next April.

And the plugin layer just... goes away. This surprises people, so it's worth spelling out. The SEO plugin becomes a few lines setting titles and meta tags per route. The caching plugin becomes nothing, because pages render at the edge and static assets are cached by default. The security plugin becomes nothing, because there's no admin login or database to defend. Patchstack logged 11,334 new WordPress vulnerabilities in 2025, 91% of them in plugins. The migration doesn't harden you against that list. It removes you from the audience.

One thing does not change: your URLs need to survive. Every old WordPress permalink gets a redirect to its new home, per Google's site move guidance. We keep the old URL structure where we can and 301 the rest. Our migration checklist covers this properly, because it's the step that decides whether your rankings come along.

The caveats, honestly

TanStack Start is the youngest framework we'd put in front of a client, and you should weigh that.

The v1 release candidate landed in September 2025. The API is stable, the core is solid, and we trust it in production because we run it in production. But the ecosystem around it is a fraction of the size of Next.js's. Fewer Stack Overflow answers, fewer prebuilt integrations, fewer developers who already know it if you ever leave us. WordPress powers 40.7% of all websites; Next.js has years of head start and a huge hiring pool. TanStack Start has momentum and a very good design, which is not the same as maturity.

So, plainly: if you want the conservative full-stack choice with the deepest ecosystem, migrate to Next.js instead. It's a fine option and we've built plenty on it. If your site is content and a contact form with no application behaviour, you don't need a full-stack framework at all, and Astro will get you a faster site with less machinery. We recommend both of those regularly. TanStack Start earns its place when the site has real server-side behaviour (forms, quoting tools, gated content, integrations) and you want all of it typed, or when whoever maintains the site is us.

What it costs to run

Managed WordPress hosting in Australia starts around A$42 a month at WP Engine for one small site, before plugin licences, and climbs with traffic. Cheap shared hosting exists, but it's cheap for reasons you feel at 9am when the site's down.

Our stack runs on Cloudflare Workers, where the paid plan is US$5 a month and includes ten million requests. Static assets, meaning images, scripts and styles, which is most of what a website serves, are free and unlimited on top of that. Several of our sites sit comfortably inside the free tier's 100,000 requests a day and cost nothing to host at all. There is no server to patch, no PHP version to babysit, and the site is served from Cloudflare's edge, so it's as quick in Perth as it is in Sydney.

The money moves from hosting and maintenance to the build. Which brings us to why the build got cheaper.

Where AI tooling changes the maths

We build with AI assistance daily, Claude Code mostly, and the stack you're on decides how much that's worth.

A TanStack Start site is a folder of typed TypeScript files and markdown in git. An AI agent can read the entire thing, make a change, and open a pull request a human reviews as a diff. And because the stack is typed end to end, an AI mistake is overwhelmingly a build failure, not a production incident. The wrong prop, the renamed route, the mistyped field: the compiler catches it before anyone ships it. That safety net is the single biggest reason agent-driven development works on this stack in practice. The models know the territory, too: TypeScript sits at 43.6% usage in the 2025 Stack Overflow survey, so React and TypeScript are about as well represented in training data as anything gets.

WordPress gives an agent none of that. The site's state is smeared across a database, plugin option tables, and a themed PHP runtime, most of it invisible from the code. There's no build step to fail, so mistakes surface in production. An agent can't safely operate what it can't fully see.

The practical effect on price: content updates and small features that used to be a billed dev ticket are now a reviewed ten-minute diff, and the rebuild itself costs meaningfully less than the quotes people remember from a few years ago. AI accelerates a clean codebase. It doesn't rescue a mess, which is one more argument for getting off the mess.

Where we fit

This is the migration we do most often, because it's our own stack: export your WordPress content, rebuild the design properly, wire the redirect map so rankings follow, and put it on Cloudflare where hosting stops being a bill worth noticing. If you want to see whether your site is a fit for it, or for one of the more conservative options above, send us the details or start with a free audit of the current site.