DEV Community

Cover image for How I Improved My Portfolio SEO by Migrating from React to Next.js
shanis
shanis

Posted on

How I Improved My Portfolio SEO by Migrating from React to Next.js

**

How I Improved My Portfolio SEO by Migrating from React to Next.js

**

As developers, we often focus heavily on UI design, animations, and performance. However, one important area that many portfolio websites ignore is SEO.

A few months ago, I decided to migrate my portfolio from React (Vite) to Next.js. My goal wasn't to redesign the website. Instead, I wanted better search engine visibility, improved indexing, and stronger technical SEO.

In this article, I'll share what I learned during the migration and why Next.js became the better choice for my portfolio.

The Problem with Traditional React Portfolios

React is excellent for building modern user interfaces.

However, many React portfolios rely heavily on client-side rendering.

This can create several challenges:

Delayed content rendering
Poor search engine discoverability
Metadata management complexity
Slower indexing of new content
Reduced SEO effectiveness

While Google can render JavaScript, it often takes additional crawling resources compared to server-rendered content.

**

Why I Chose Next.js

**

Next.js provides several features that directly benefit SEO.

  1. Server-Side Rendering

Instead of waiting for JavaScript execution, content can be rendered on the server.

Benefits:

Faster content visibility
Better search engine understanding
Improved user experience

  1. Static Site Generation

Many pages on my portfolio don't change frequently.

Using static generation allowed me to:

Improve loading speed
Reduce server load
Achieve better Core Web Vitals

  1. Dynamic Metadata

Each page now generates unique metadata.

Example:

export async function generateMetadata() {
  return {
    title: "Projects | Mohammed Shanis",
    description:
      "Explore MERN stack, React and SaaS projects.",
  };
}
Enter fullscreen mode Exit fullscreen mode

This helps search engines understand page content more effectively.

SEO Improvements I Implemented

During migration, I added:

XML Sitemap

A sitemap helps search engines discover pages faster.

Example pages:

Home
About
Projects
Services
Blog
Individual blog posts
Structured Data

I implemented:

Person Schema
Website Schema
BlogPosting Schema
Breadcrumb Schema

This provides additional context to search engines.

Canonical URLs

Canonical URLs help prevent duplicate content issues.

Better Internal Linking

I connected:

Homepage → Blog
Blog → Projects
Projects → Services

This improved crawlability across the website.

The Importance of Blogging

One major lesson I learned:

SEO is difficult without content.

A portfolio with only static pages has limited ranking opportunities.

That's why I started publishing technical articles about:

React
Next.js
Node.js
MERN Stack
Performance Optimization
UI Development

Blogging creates additional entry points for search traffic.

Results After Migration

After implementing proper SEO fundamentals:

Pages became easier to discover
Search Console reported improved crawlability
Metadata management became simpler
Website architecture became more scalable

Most importantly, the website now has a stronger long-term SEO foundation.

Key Takeaways

If you're building a portfolio in 2026:

Don't ignore SEO.
Implement proper metadata.
Generate a sitemap.
Use structured data.
Create technical blog content.
Optimize Core Web Vitals.
Build meaningful internal links.
Final Thoughts

React remains an excellent frontend library.

However, when SEO, discoverability, and content marketing become priorities, Next.js provides significant advantages.

Migrating my portfolio helped me better understand modern web architecture, search engine optimization, and scalable content management.

If you're interested in modern web development, MERN stack applications, SEO-friendly websites, and performance-focused engineering, you can explore my portfolio here:

Full Stack Developer Portfolio: https://shanis.in

You can also read more development articles on my blog:

Web Development Blog: https://shanis.in/blog

Top comments (0)