
Traffic Dropped After a WordPress to Next.js Migration: What to Check First
What to check when traffic drops after moving from WordPress to Next.js, including redirects, archives, metadata, canonicals, sitemaps, and content.
Articles
Next.js is an open‑source React framework created by Vercel. It is used to build fast, scalable websites and web applications, combining React with routing, data fetching, API routes, automatic code splitting, TypeScript support, server‑side rendering (SSR), and static site generation (SSG).
Below you will find a subset of articles from my blog specifically about Next.js as well as Next.js platform consulting. This is an area I have worked with for many years, and it has been a regular subject in my writing. There are forty‑nine articles collected together for you below.

What to check when traffic drops after moving from WordPress to Next.js, including redirects, archives, metadata, canonicals, sitemaps, and content.

A WordPress to Next.js migration checklist for URLs, content models, media, preview, redirects, metadata, schema, sitemaps, SEO, and launch checks.

A Next.js crawlability checklist for debugging sitemaps, robots.txt, canonicals, route generation, redirects, staging leaks, missing pages, and indexation.

A React SPA to Next.js SEO migration checklist for preserving indexing, redirects, metadata, rendered HTML, internal links, crawl paths, and launch confidence.


How ISR improves Next.js performance by mixing static speed with controlled freshness, and where it fits best over fully dynamic rendering for changing content.

Build a headless CMS‑powered Next.js site with content modelling, fetch layers, mapped front‑end shapes, preview, rendering choices, and scale cleanly.

Multi‑tenant applications serve multiple customers from a single codebase. Here, I walk through building a scalable multi‑tenant web application using Next.js.

How deployment expectations moved from simple Netlify static deploys toward Vercel pipelines, previews, framework builds, observability, and rollback.

When you set up a custom domain in Vercel, the default `vercel.app` subdomain still serves your site, which can lead to duplicate content. Here's how to fix it.

Middleware in Next.js provides a straightforward way to protect routes and manage user authentication. Here, I show how to implement effective route protection.

Why static generation became more complex as CMS previews, ISR, cache invalidation, build queues, e‑commerce data, and platform expectations grew.

Next.js vs. Remix compared properly, across routing, data loading, mutations, caching, and the architectural trade‑offs teams actually feel in production.

Caching strategies for data fetching in Next.js, including force‑cache, revalidation, stale data trade‑offs, and the debugging traps teams hit in production.

Whilst replatforming an app, I came across this limitation in Next.js: you cannot (easily) access search parameters in an SSR layout. Here, I share my solution.

A practical guide to implementing authentication in Next.js with NextAuth.js, including sessions, callbacks, route protection, and router‑specific trade‑offs.

Websites have not been set‑and‑forget for a long time now, and without the technical know‑how to update a static site, CMSes are a key part of web development.
Fix window is not defined in Gatsby or Next.js by understanding SSR, guarding browser globals, lifecycle timing, dynamic imports, and third‑party modules.