CASE STUDY

8 MIN READ

MAY 2026

Migrating from WordPress to Framer without losing traffic.

AK

Akash Deep Walia

FOUNDER · WALIAN STUDIO

SHARE

When Devzery came to us, they had a solid product and a completely invisible website. They were getting fewer than 1,000 impressions a month. Their WordPress site was slow, poorly structured, and had no real SEO foundation. Three months later, we were looking at 500,000+ impressions.

This is the exact playbook we used — not the theory, but the actual decisions we made, in order, with the context behind each one. I’m writing this because most SEO content is either too vague to act on or too generic to apply to a real Framer site. This isn’t that.

THE RESULTS — 90 DAYS

500K+

IMPRESSIONS

3.2x

ORGANIC TRAFFIC LIFT

47%

LEAD GROWTH

IN THIS ARTICLE

Fix the foundation first

Migrate without losing rankings

Content that actually ranks

The 500K moment

What we’d do differently

Want this for your site? We build Framer sites with SEO built in from day one.

Step one: fix the foundation before writing a word.

The first thing we did was not write content. Most agencies start there. We started with a full technical audit of the WordPress site and found the usual suspects — slow load times, no sitemap, duplicate meta descriptions, and pages that were canonicalized incorrectly.

But the bigger issue was architecture. The site had no clear topic clusters. Every page was an island. Google had no way to understand what Devzery was actually about — which means it didn’t rank them for anything specific.

“A site without topic clusters is like a library with no shelves. Everything’s there, but nothing can be found.”

— WHAT I TOLD THE DEVZERY TEAM ON DAY ONE

Before touching Framer, we mapped out their entire keyword universe — 60+ terms across three main clusters: development services, DevOps tooling, and team scaling. Each cluster got a pillar page and at least four supporting articles. That structure became the blueprint for the migration.

Step two: migrate to Framer without touching rankings.

WordPress was holding them back — slow renders, plugin bloat, and a theme that wasn’t built for SEO. Moving to Framer was the right call, but migrations are where rankings go to die if you’re not careful.

Here’s exactly what we did to protect every URL:

01

Mapped every existing URL to its new Framer equivalent before a single page was published. No surprises post-launch.

02

Set up 301 redirects for all old paths on the Framer custom domain — including trailing slash variants and lowercase/uppercase duplicates.

03

Preserved all meta titles and descriptions exactly, then improved them once traffic was stable.

04

Submitted a new sitemap to Google Search Console the day the site went live, and requested indexing for every priority page manually.

05

Monitored Core Web Vitals daily for the first two weeks using GSC + Ahrefs. Framer’s built-in performance is excellent — we didn’t need to fight it.

The result: zero ranking drops during migration. Positions held within one week of launch. This almost never happens without a systematic approach.

// Framer CMS SEO fields — required for every post

title: “Primary keyword | Brand Name”

description: “60–160 chars, includes keyword + clear value prop”

canonical: “https://devzery.com/blog/[slug]”

og:image: “1200×630px, brand-consistent”

schema: Article + author, datePublished, dateModified

Step three: content that ranks, not content that fills space.

With the technical foundation in place, we moved to content. But not blog posts — landing pages first. We built three pillar pages targeting the highest-intent keywords in each cluster. These pages were long (2,000+ words), well-structured, and answered the exact questions people were typing into Google.

The key insight: Devzery’s buyers aren’t searching “dev agency.” They’re searching “how to scale engineering team without full-time hires” and “offshore development team vs agency.” We wrote for the searcher’s actual problem, not the product category.

“Write for the question they’re actually asking. Not the answer you want to give.”

Supporting articles followed the pillar pages by two weeks. Each one linked back to its pillar. Each pillar linked to related articles. Google started crawling the site differently within 30 days — we could see it in the coverage reports.

Step four: the 500K moment — what actually drove it.

The big jump came in month three. Two things happened simultaneously: the pillar pages hit page one for their primary keywords, and a supporting article on “offshore dev team onboarding” went viral on LinkedIn and picked up 14 referring domains in a week.

We didn’t plan the LinkedIn moment — that was organic. But the referring domains landed on a page that was already perfectly set up to convert that authority into rankings. Timing and structure.

By day 90, Devzery was ranking for 340 keywords, up from 28. Average position improved from 42 to 17. And impressions crossed 500K — which had been the “year-end stretch goal” when we started.

What we’d do differently.

Two things. First, we’d start content production earlier. We waited until the migration was completely stable — two weeks of buffer. In hindsight, we could have started pillar content on week two and published on launch day. That two-week delay cost us momentum.

Second: we’d set up email capture on day one. We drove 500K impressions and had no list to show for it. We built the engine but forgot the tank. Don’t make that mistake.

AK

Akash Walian

FOUNDER · WALIAN STUDIO

I build Framer websites that rank. Before Walian, I was a product designer and PM — which means I think about what converts, what confuses, and what needs to go, not just what looks good. Every article I write is something I learned by shipping real projects.

Written by Walian Studio — Framer + SEO.

© 2026, WALIAN STUDIO

A one-person Framer studio with a dedicated SEO partner. Designed in India. Working worldwide.

Walian Studio.

Walian Studio.

© 2026 WALIAN STUDIO · ALL RIGHTS RESERVED · BRAND v 1.0

© 2026 WALIAN STUDIO · ALL RIGHTS RESERVED · BRAND v 1.0