Case Study · WordPress Migration · SEO

Case Study: How I Rebuilt a Slow WordPress Site and Tripled Its Google Rankings

A real case study of migrating a slow WordPress site to Next.js — the performance audit, migration approach, SEO preservation strategy, and ranking results 3 months after launch.

JS

Jatinder Sandhu

Published 11 July 2026

Client

Local Services Business

Platform Before

WordPress + Elementor

Platform After

Next.js on Vercel

Timeline

5 weeks

The Brief

This client had been running a WordPress site built on Elementor for about four years, with a stack of page-builder addons, a slider plugin, three different caching plugins layered on top of each other, and a contact-form plugin nobody remembered installing. The business itself was healthy, but the site had quietly become a liability — mobile PageSpeed scores in the low 20s, a homepage that took over 6 seconds to become interactive, and rankings that had been sliding for over a year despite the content itself being decent.

The client's ask was simple: “make it fast again.” What made this project interesting is that fixing WordPress in place was a real option on the table, and part of my job was proving — with data, not opinion — that a rebuild was the better call.

The Performance Audit

Before touching anything, I ran a full audit across PageSpeed Insights, GTmetrix, and Chrome DevTools to find out exactly where the time was going, not just that the site was slow.

MetricBefore (WordPress)Root Cause
Mobile PageSpeed22/100Unoptimised hero images, render-blocking CSS from 3 plugins
LCP6.4sHero slider loading full-size uncompressed JPGs
Total Blocking Time2,100msjQuery + Elementor animation scripts loading on every page
Page Weight6.8MBNo image compression, unused CSS/JS shipped site-wide
HTTP Requests148Plugin bloat — most pages only needed a fraction of what loaded

None of this was a hosting problem — the client was already on decent managed WordPress hosting. It was architectural: a page-builder rendering approach fighting against every performance best practice at once.

Why Rebuild Instead of Optimise In Place

I always try optimisation first before recommending a rebuild — a rebuild carries real SEO risk if it's not handled carefully. In this case, I still spent a day testing standard WordPress optimisation: a proper caching plugin, image compression, deferred JS, removing unused plugins. It moved the mobile score from 22 to about 48. Better, but nowhere near good enough, because the bottleneck wasn't configuration — it was Elementor itself generating bloated markup and depending on jQuery for every interaction.

  • Elementor renders deeply nested divs for layout that a hand-built component tree avoids entirely — this alone was adding hundreds of KB of unnecessary markup per page.
  • The client wanted to keep adding service pages going forward — doing that on a slow foundation just compounds the problem with every new page.
  • Core Web Vitals are a confirmed Google ranking factor, and this client competes in a market where three competitors were already outranking them despite thinner content — speed was a realistic lever to pull.

The Migration Approach

Content export before anything else

Every page, post, image, and meta title/description was exported from WordPress into a structured spreadsheet first. This became the single source of truth for the rebuild and made it easy to spot content that was thin or duplicate and worth consolidating rather than porting as-is.

URL structure preserved exactly

The single biggest SEO risk in any platform migration is changing URLs. Every existing URL path was mapped 1:1 to the new Next.js routes. Where a handful of URLs genuinely needed to change, permanent 301 redirects were set up before launch, not after.

Static generation for every content page

Service pages, blog posts, and the homepage are all statically generated at build time with next/image handling responsive, compressed, lazy-loaded images. There is no client-side page-builder logic left to slow anything down.

Metadata parity, then improvement

Title tags, meta descriptions, and structured data were first replicated exactly as they existed on WordPress, then improved incrementally after launch once rankings had stabilised — changing everything at once makes it impossible to isolate what helped or hurt.

Tech Stack

Framework

Next.js 14 (App Router)

Styling

Tailwind CSS

Content

MDX + typed frontmatter

Images

next/image (WebP/AVIF)

Forms

Server Actions

Redirects

next.config.js 301 map

Hosting

Vercel (Edge Network)

SEO

Next.js Metadata API

Monitoring

Google Search Console

Handling the Redirect Map

Where URL paths did change — mostly a handful of category-style URLs that WordPress generates automatically — every one was mapped and shipped as a permanent redirect in the Next.js config, not left to a plugin or manual .htaccess edits:

// next.config.js

async redirects() {

return [

{ source: '/category/services/plumbing', destination: '/services/plumbing', permanent: true },

{ source: '/blog/category/tips', destination: '/blog', permanent: true },

// ...full mapped list from the export spreadsheet

];

}

After launch, Google Search Console was checked daily for the first two weeks specifically for 404 spikes and coverage errors — catching a broken redirect on day two is a five-minute fix, catching it a month later after Google has re-crawled and dropped the page is a much bigger problem.

Results (3 Months Post-Launch)

97/100

Mobile PageSpeed

1.1s

LCP (down from 6.4s)

3x

Organic Rankings Growth

0

Lost Ranking Pages

Three months after launch, keyword positions that had been stuck between page 2 and page 3 for over a year started moving into the top 10, and the site's tracked keyword count in the top 3 roughly tripled. None of the pre-existing ranking pages were lost during the transition, which was the top priority going in — a faster site that tanks rankings during migration is not a win. Organic traffic for the core service pages was up meaningfully, and the client stopped getting complaints from customers about the site “taking forever to load on their phone.”

Key Lessons

Always try optimisation first, even when you suspect a rebuild is coming

Testing in-place optimisation first isn’t wasted time — it builds the data-backed case for a rebuild and rules out the cheaper fix before committing the client to a bigger project.

URL preservation is the make-or-break detail of any migration

Rankings, speed improvements, and better content mean nothing if the migration itself drops pages from the index because a redirect was missed. Build the redirect map before writing a single line of the new site.

Ship metadata parity first, improve it after

Changing rankings-affecting factors (URLs, titles, content) all at once after a migration makes it impossible to know what caused a ranking change. Match the old site first, then iterate with data.

Conclusion

A slow WordPress site is rarely a hosting problem — it's usually an architecture problem, and page builders are often the biggest contributor. This project is a good reminder that the fastest path to better rankings isn't always more content or more backlinks; sometimes it's removing everything standing between a visitor and a fast, working page.

If your WordPress site has slowed down over the years and optimisation plugins aren't moving the needle, it's worth getting an honest audit before assuming a rebuild is necessary — and if it is necessary, doing it in a way that protects the rankings you've already earned.

Is your WordPress site slowing down your rankings?

I audit and migrate slow WordPress sites to fast, SEO-safe Next.js builds. Get in touch for a free performance audit of your site.

Get in Touch →
ShareXLinkedIn

About the Author

Hi, I'm Jatinder Sandhu, a Full-Stack Developer with 6+ years of experience building websites, web applications, business management systems, and AI-powered solutions using technologies like Next.js, React, Node.js, and MongoDB.

I share practical technology guides, development tutorials, and business growth insights based on real-world experience working on client projects.

If you're looking to build a website, custom software, business automation system, or AI-powered solution, explore my portfolio at jatinder.malwaland.com.