Marketing team writes in Gutenberg; the site is static Next.js on Vercel. 47ms TTFB, zero plugin updates pushed to production.
Trovekt’s marketing site was a Next.js app maintained by their two frontend engineers. Every blog post or pricing-page change opened a JIRA ticket. From the marketing lead’s first draft to live on production, the average was 4 days: PR review, design polish, staging deploy, QA, prod deploy.
Marketing wanted Notion or Webflow. The engineering team didn’t want to give up the build pipeline, image optimization, and Vercel edge caching that kept the site at a 47ms global TTFB.
We were asked for a third option: keep Next.js on the public side, give marketing a real editor, and stop the JIRA queue without anyone changing tools they cared about.
Constraints: no editor on the public domain (security, performance), no rebuild-all on every save (the full Next.js build was 8 minutes), and the marketing CMS had to support the existing content shape — case studies, blog posts, pricing-tier rows, team-member bios. About 140 entries to migrate, mostly out of MDX files and a Notion database.
WordPress on a private subdomain (cms.trovekt-internal.com, Cloudflare Access in front of it). Gutenberg as the editor — block editor with our custom blocks matching the existing Next.js component library one-to-one. ACF Pro for structured fields (pricing tiers, team rows, case metrics).
Next.js stayed on Vercel as the public site. We added a small fetch layer using WPGraphQL to pull post data at build time. The interesting piece is the revalidation:
/api/revalidate endpoint with the changed slug./blog index) without touching the other 200+ static pages.Average rebuild time per page: 11 seconds, end-to-end from “Publish” click to live. Image optimization stays in Next.js’ Image component (WP serves originals, Vercel cdn-resizes). Cloudflare Access keeps the WP admin behind SSO so even the URL of the editor is invisible to the public web.
Build time: 6 weeks. Migration of 140 entries written as a one-off Python script that read the existing MDX + Notion exports and POSTed into WP REST with proper ACF shape. The marketing lead validated each migrated page against a screenshot diff before we cut DNS over.
Time from marketing draft to live: 4 days to 90 seconds. The marketing team writes in Gutenberg, hits Publish, walks to get coffee, and the page is live before they’re back. JIRA tickets for content changes dropped from ~12/week to 0.
Public-site TTFB stayed at 47ms globally (Vercel edge). Lighthouse Performance: 98 desktop / 94 mobile, unchanged from pre-migration. The WPGraphQL layer adds zero runtime cost — it only runs at rebuild.
Frontend engineering hours spent on “please update the pricing page” requests: ~6 hours/week to 0. Marketing stopped Slacking the eng channel. That alone freed ~25 engineer-hours/month for product work.
I write in Gutenberg, which is fine. Then I hit publish and the page is live. That used to be a JIRA ticket and four days. Our engineers stopped getting Slacked about typos.
Outdoor-gear retailer Northdrift had 1,840 SKUs on Shopify Plus paying $2k/mo. We migrated to WooCommerce + Bricks Builder over 5 weeks. Platform costs dropped 95%, organic traffic held within 4% week-over-week, and the editorial team got actual product-page flexibility.
Carpathian Daily ran three separate WordPress installs and a Google Docs copy-paste workflow for trilingual publishing. We replaced it with one Polylang Pro site and a custom editorial bridge. Publish time per article: 40 minutes to 3. Organic traffic doubled in four months.
Built a WooCommerce store for a fashion brand in 14 days that grew revenue from $60k to $168k in the first 6 months.
Send us a brief — we'll respond within 24 hours.